AppendixB_User-Manual.pdf

B
DOCUMENTATION AND
USER INSTRUCTIONS OF
PROGRAM `SANOPT-S'
Appendix B contains the documentation for the program SANOPT-S
developed in Chapters 4-6. It gives some information about the general
features of the programs. It also presents detailed input instructions and
the specimen input data les.
B-1
B-2
B. Documentation and user instructions of program SANOPT-S
B. Documentation and User Instructions of
Program SANOPT-S
B.1 Program Documentation
B.1.1 Overview of the Program
Program SANOPT-S deals with the linear elastic stress analysis and optimization of shells of revolution and also prismatic shells of rectangular and curved
planform which are supported on diaphragms at two opposite edges with the
other two edges arbitrarily restrained. The analysis is carried out using MR
FEs and FSs. It contains: (a) a shape modelling tool using cubic splines and
an automatic mesh generation program, (b) FE and FS analysis capability for
shells of revolution and prismatic folded plates and shells respectively, and (c)
an optimization algorithm SQP.
B.1.2 Block Structure and Main Routines
A modular approach is adopted, in that separate subroutines are employed to
perform the various operation required in an analysis and optimization. Each
module in turn is composed of one or more subroutines relevant only to its
own needs and, in some cases, of subroutines which are common to several
modules. Control of the modules is held by the main or master segment. The
main segment of the program structure for SANOPT-S is given in Figure
B.1. Only the important subroutines are shown. The modules are described in
relation to their general functions as follows:
FIMA
DATPRE
PRE
SANOPT-S
SENSIT
FEMFS
OPTIMA
FIMA
Fig. B.1.
Main block diagram of program SANOPT-S.
B.1 Program documentation
B-3
1. FIMA handles the le management. This subroutine open and close the
necessary data les.
2. DATPRE handles input data dening the geometry, boundary conditions
and material properties. If the optimization option is switch on, it reads
optimization parameters such as design variables, bounds of design variables
and constraints.
3. PRE is the shape denition and mesh generation routine and generates
meshes of varying sizes, types and element thickness.
4. SENSIT updates the values of the `shape' and `thickness' design variables
after every perturbation and evaluates the new values of the nodal point
coordinate and thickness using classical cubic spline interpolation.
5. FEMFS carries out the FE or FS linear elastic analysis for the structure
on which the elements or strips are generated. It also calculates the derivatives of the displacement, stresses, weight and strain energy for a specied
number of design variables.
6. OPTIMA updates the FE/FS results to identify the objective function and
constraints values and transfers them to the optimizer.
Next the function of the various routines in the shape denition and mesh
generation routine PRE, shape denition routine for perturb geometry SENSIT, analysis routine FEMFS and optimization routine OPTIMA will be described.
Subroutine PRE is a pre-processor routine in which the geometry of the structure is dened and mesh generation is carried out. It is an implementation of
the procedures described in Chapter 2. Figure B.2 shows the block diagram of
subroutine PRE. In the following section brief descriptions of the functions of
various routines called by subroutine PRE are presented.
PARAM
GENODE
CORRIT
FIXIT
PRE
LOADIT
INTPAR
BANDWM
CONVER
Fig. B.2.
Block diagram of subroutine PRE.
B-4
B. Documentation and user instructions of program SANOPT-S
1. PARAM calculates the control points for all cubic B-spline segments. The
result is stored in an array for later use in mesh generation.
2. GENODE generates nodes on a dened geometry.
3. CORRIT is called when there is a need to carry out geometric corrections
in convergence studies.
4. FIXIT automatically assigns the xity data for the new generated nodes.
5. LOADIT automatically updates the loading data for the new generated
nodes.
6. INTPAR interpolates the values of the thickness using classical cubic spline
interpolation.
7. BANDWM carries out the bandwidth minimization prior to the use of the
Gaussian elimination solver.
8. CONVER rearrange the coordinate, element connectivity, and xity data
for the analysis routine FEMFS.
Subroutine SENSIT is a implementation of the shape denition and mesh generation for sensitivity analysis and structural optimization described in Section
2.6. SENSIT calculates the new position of the coordinates (or thicknesses) of
the design variables and update the nodal coordinates (or thicknesses) after every perturbation which is required for sensitivity analysis. The block diagram
of subroutine SENSIT is shown in Figure B.3.
DISTRB
GETCNT
SENSIT
DISTHK
INTPAR
Fig. B.3.
Block diagram of subroutine SENSIT.
1. DISTRB updates the new coordinates of the `shape' design variables after
each perturbation.
2. GETCNT calculates the new control points of the cubic spline for the perturbed geometry.
3. DISTHK updates the new coordinates of the `thickness' design variables
after each perturbation.
4. INTPAR interpolates the new values of the nodal coordinates or thickness
using classical cubic spline interpolation.
B.1 Program documentation
B-5
Subroutine FEMFS is an implementation of the formulation described in Chapters 4 and 5 for structural analysis and Chapter 6 for sensitivity analysis. The
block diagram of subroutine FEMFS is shown in Figure B.4. In the following
section brief descriptions of the subroutines called by FEMFS are presented.
OUTFSI
POINT
JUNCTN
ANGLES
STIFFS
LOADS
ASSEMB
GREDUC
BAKSUB
FEMFS
STRESS
RESSOR
ADDSOR
ENORM
EXTPOL
STRCOM
AVERAG
SCOMMN
DCOMMN
CRPLOT
Fig. B.4.
Block diagram of subroutine FEMFS.
1. OUTFSI is an output subroutine and prints the data generated from the
routine PRE.
2. POINT sets up consistent nodal force vector for point loads.
3. JUNCTN sets up direction cosines for the ends of each element.
B-6
B. Documentation and user instructions of program SANOPT-S
4. ANGLES nds the value of subtention angle at each node of each element.
5. STIFFS sets up the stiness matrix for MR prismatic shell strips of rectangular or curved planform or shell of revolution elements.
6. LOADS organises the calculation of nodal forces due to the various forms
of loading for plate and shell applications. These include pressure, gravity
and concentrated loadings.
7. ASSEMB assembles the element (or strip) stiness and applied loads to
form the global stiness matrix and force vector.
8. GREDUC undertakes the equation elimination process for equation solution by Gaussian reduction.
9. BAKSUB performs the back substitution process required after equation
elimination by Gaussian reduction. This results in sequential solution for
all the displacements and reactions at nodal points.
10. STRESS evaluates the element stress resultants at the gauss points for
MR nite elements/strips.
11. RESSOR prints out the results for each harmonic.
12. ADDSOR sums displacements, reactions and stress resultants for all harmonics
13. ENORM evaluates the strain energy for the shell structure.
14. EXTPOL extrapolates stresses from the gauss points to the nodal points
for linear,quadratic and cubic elements
15. STRCOM calculates the top and bottom ber stress components.
16. AVERAG averages the stress resultants at the nodal points.
17. SCOMMN identies constraint points where stresses are sampled. It evaluates the constraints and their derivatives at those points and selects the
maximum equivalent stress and its derivative.
18. DCOMMN identies constraint points where displacement are sampled. It
evaluates the constraints and their derivatives at those points and selects
the maximum displacement and its derivative.
19. CRPLOT create plotting les(which include displacements stress resultants) and for post processor SANOPT-P
Subroutine OPTIMA is the actual interface for the communication between
the analysis program and the mathematical programs. It controls the optimization by calling dierent optimizer interface routines. The block diagram
of subroutine OPTIMA is shown in Figure B.5.
1. SQPSET is carry out sequential quadratic programming based on the algorithm developed by Powell [1].
B.1 Program documentation
B-7
SQPSET
SQPSTP
PAROPT
MMASUB
OPTIMA
FIMA
DOTSET
DOT
SQPSET
SQPSTP
Fig. B.5.
Block diagram of subroutine OPTIMA.
2. SQPSTP terminate the SQP optimization program. Extracts a message
from the SQPSET writes it into the screen and output le.
3. PAROPT extracts the objective and constraints functions values and their
respective derivatives from the information computed in the previous routines.
4. MMASUB is a interface routine for MMA algorithm by Svanberg [2].
5. FIMA handles the le management. This subroutine open and close the
necessary data les.
6. DOTSET sets up some optimization parameters and initialise the optimizer
for DOT.
7. DOT is a interface routine for DOT optimization package by Vanderplaats
[3].
The interface routines for these three optimizers are implemented so far.
However, the program structure allows for simple integration of more algorithms. Only SQP algorithm is given in the current version of the program.
DOT and MMA optimization packages are a commercial package and is not
included in the program.
B.1.3 File Structures
Program SANOPT-S uses the following les for input and output:
unit 8 contains the results of the analysis, that is displacements, reactions,
stresses etc.
B-8
B. Documentation and user instructions of program SANOPT-S
unit 10 reads the control parameters, material properties, boundary condition, geometry data and linking conditions.
unit 12 is used to read the optimization data concerning design variables
and constraints.
unit 13 is used in cases where geometric correction is required and contains
the coordinates of the key points.
unit 14 contains the displacement values for each harmonic.
unit 15 contains the reactions values for each harmonic.
unit 16 contains stress resultant values for each harmonic.
B.1.4 Main Dimensions and Limitations of the Program
The program at present can handle 250 elements/strips, 500 points, 4 material
types, 20 geometry segments, 75 geometry key points, 20 design variables and
30 constraints.
B.2 Input Instructions
B.2.1 Main Structure of Input Data
In the following section user instructions for preparing the input data are
presented. Program SANOPT-S requires two basic data sets:
Data set 1 is read from unit 10 and contains information about the number
of design variables, the parameters for shape denition, the geometry data,
linking data, xity conditions, material data and loading conditions.
Data set 2 is read from unit 12 and contains the optimization data including;
the number of design variables, the constraints, upper and lower bounds of
the constraints, upper and lower bounds on the design variables and the
initial value of the design variables.
A le lename.cor is used in cases where geometric correction is required
and contains the coordinates of the key points.
B.2 Input instructions
Data set 1.1: Title of problem | One record (a80)
cols. variable name
1-80
title
description
Title of the problem to be solved
Data set 1.2: Type of problem | One record (16i5)
cols. variable name
1-5
ndvab
description
Number of design variables
= 0, analysis
> 0, optimization
Data set 1.3: Title of output | One record (a80)
cols. variable name
1-80
title
description
Title of the program output
Data set 1.4: Output parameters | One record (16i5)
cols. variable name
description
koutp(i)
Control array for output information,
= 0, do not write
= 1, write into output le
1-5
koutp(1)
Analysis input data
6-10
koutp(2)
Displacements at each harmonic
11-15
koutp(3)
Displacements and gauss point stresses
16-20
koutp(4)
Nodal point stress
21-25
koutp(5)
Smoothed stresses
26-30
koutp(6)
Perturb analysis data
31-35
koutp(7)
Strain energies
36-40
koutp(8)
Undened
41-45
koutp(9)
Undened
46-50
koutp(10)
Optimization output
B-9
B-10
B. Documentation and user instructions of program SANOPT-S
Data set 1.5: Variable title data | One record (a80)
cols. variable name
1-80
text
description
Title of the variables
Data set 1.6: Parameters for analysis | One record (16i5)
cols. variable name
description
1-5
ntype
Type of analysis
= 1, prismatic shell with rectangular planform
= 2, prismatic shell with curved planform
= 3, shell of revolution
6-10
nnode
Number of nodes in each element or strip
11-15
ngaus
Number of Gauss point (see user hints)
16-20
nmats
Number of material sets
21-25
nnbog
Number of boundary conditions
26-30
nnlog
Number of load points at which concentrated
load is applied
31-35
ngrav
Gravity loading control parameter
= 0, no gravity load to be considered
= 1, gravity loading to be considered
36-40
nharm
Number of harmonics
Data set 1.7: Geometry control title data | One record (a80)
cols. variable name
1-80
text
description
Title of the geometry control data
B.2 Input instructions
B-11
Data set 1.8: Parameters for geometry | One record (16i5)
cols. variable name
description
1-5
nsegg
Number of segments in the structure
6-10
npoig
Number of key points in the structure
11-15
npolr
Number of key points expressed in polar coordinates
16-20
ntang
Spline end condition
16-20
nsyme
Symmetry parameter
= 1, for shell of revolution
= 2, prismatic plate and shell
21-25
ncorr
Geometry correction switch
= 0, no correction required
= 1, correction required
31-35
npara
Number of parameters to be interpolated (=2)
Data set 1.9: Parameters for analysis | One record (8f10.5)
cols. variable name
description
1-10
tleng
Span of the structure (see user hints)
= in length units for rectangular planforms
= in radians for curved planforms
11-20
coeff
Elastic foundation constant
11-20
angle
The y or the coordinate of the point at which
the load act
Data set 1.10: Mesh parameters title data | One record (a80)
cols. variable name
1-80
text
description
Title of the data to be read
B-12
B. Documentation and user instructions of program SANOPT-S
Data set 1.11: Mesh parameters data
Two records for each segment. Total of nsegg records
First record (16i5) :
cols.
variable name
1-5
jsegb
6-10
nnseb(jsegb)
description
Segment number
Number of points in each segment
Second record (i5, 6f15.8) :
1-5
lnogb
Point number in each segment
6-20
coobt
h-coordinate of the segment
21-35
delta
Mesh density
Data set 1.12: Geometry denition title | One record (a80)
cols.
variable name
1-80
text
description
Title of geometry denition
Data set 1.13: Geometry denition
One record for each key point. Total of npoig records (i5, 2f15.9, 4i5)
cols.
variable name
description
1-5
jpoin
6-20
coorg(jpoin,1)
x1 -coordinate of key point
21-35
coorg(jpoin,2)
x2 -coordinate of key point
36-40
lsvab(jpoin,1)
Design variable number of x1 -coordinate
41-45
lsvab(jpoin,2)
Design variable number of x2 -coordinate
Key point number
Data set 1.14: Coordinates of origin (polar coord.) points
Omit this record, if npolr = 0; one record for each point expressed in
polar coordinates. Total of npolr records (i5, 2f15.9, 4i5)
cols.
1-5
variable name
description
npoln(ipolr ) = i Key point number
6-20
cpolr(i,1)
Value of x1 -coordinate of origin
21-35
cpolr(i,2)
Value of x2 -coordinate of origin
B.2 Input instructions
B-13
Data set 1.15: Shape design variable linking parameters
Omit this record, if nlink = 0 ; one record for each linking (16i5)
cols.
variable name
description
1-5
jlink
6-10
linkp(jlink,1)
Identication of segment rst key point
11-15
linkp(jlink,2)
Identication of segment last key point
16-20
linkp(jlink,3)
Key points common direction, x1 or x2
21-25
linkp(jlink,4)
Design variable number
Linking number
Data set 1.16: Segment data
Three sets of records for each segment. Total of nsegg records.
First record set (16i5) :
cols.
variable name
description
1-5
jsegg
6-10
nnseg(jsegg)
Number of key points in each segment
11-15
maseg(jsegg)
Material set number of each segment
Segment number
Second record set (2i5, 4f15.9): (repeated) for each key point of segment
cols.
variable name
1-5
lnodg
6-10
ltvab(jsegg,innse)
description
Key point number
Design variable number of key points
innse (see user hints)
11-25 paras(isegg,innse,1) Thickness value at key point innse
26-40 paras(isegg,innse,2) Pressure value at key point innse
Third record set (16i5) :
cols.
variable name
description
1-5
icotg(1)
Tangent indicator for cubic spline at start
of segment
6-10
icotg(2)
Tangent indicator for cubic spline at end
of segment
= 0, natural spline condition,
= 1, horizontal tangent specied,
= 2, vertical tangent specied,
= 3, inclined tangent specied
B-14
B. Documentation and user instructions of program SANOPT-S
Data set 1.17: Fixity condition title | One record (a80)
cols. variable name
1-80
text
description
Fixity condition title
Data set 1.18: Fixity condition data
One record for each restrained point. Total of nnbog records (7i5,6f10.4)
cols. variable name
description
1-5
nboug(iboun)
Key point number at which boundary condition
is specied
6-10
ifixg(1)
Constraint on u-displacement,
=0, no constraint
=1, constraint
11-15
ifixg(2)
Constraint on v -displacement
16-20
ifixg(3)
Constraint on w-displacement
21-25
ifixg(4)
Constraint on -rotation
26-30
ifixg(5)
Constraint on -rotation
31-35
ifixg(6)
Constraint on z -rotation
36-45
prfig(1)
Value of u-displacement
46-55
prfig(2)
Value of v -displacement
56-65
prfig(3)
Value of w-displacement
66-75
prfig(4)
Value of -rotation
76-85
prfig(5)
Value of -rotation
86-95
prfig(6)
Value of z -rotation
Data set 1.19: Loading title | One record (a80)
cols. variable name
1-80
text
description
Load title
B.2 Input instructions
B-15
Data set 1.20: Loading data
One record for each point load. Total of nnlog records (i5,6e15.8)
cols.
variable name
description
1-5
nloag(iload)
6-20
rloag(1)
Value of point load in x-direction
21-35
rloag(2)
Value of point load in y -direction
36-50
rloag(3)
Value of point load in x-direction
51-65
rloag(4)
Value of moment in -direction
66-80
rloag(5)
Value of moment in -direction
81-95
rloag(6)
Value of moment in z -direction
Key point number at which load is applied
Data set 1.21: Output section title | One record (a80)
cols.
variable name
1-80
text
description
Title of output section
Data set 1.22: Output section data | One record (i5, 6f15.8)
cols.
variable name
1-5
nsect
6-20
ysect(1)
Location of the 1st section along the span
21-35
ysect(2)
.
46-55
ysect(nsect)
Location of the 2nd section
.. along the span
..
..
Location of the nsectth section along the span
..
..
.
description
Number of output sections
Data set 1.23: Material properties title | One record (a80)
cols.
variable name
1-80
text
description
Title of the material type
Data set 1.24: Material properties data
One record for each dierent material. Total of nmats records (i5, 6e15.8)
cols.
variable name
1-5
jmats
description
Material set number
6-20 props(jmats, 1) Elastic modulus E
21-35 props(jmats, 2) Poisson's ratio 36-50 props(jmats, 3) Material density B-16
B. Documentation and user instructions of program SANOPT-S
Data set 2.1: Title of problem | One record (a80)
cols. variable name
1-80
title
description
Title of the problem to be solved
Data set 2.2: Optimization parameters | One record (14i5)
cols. variable name
description
1-5
ntopt
Type of optimizer (see user hints)
= 1, MMA
= 2, DOT optimization package
= 3, SQP
6-10
ncons
Total number of constraints
11-15
kobje
Type of objective function
= 1, weight minimization
= 2, strain energy minimization or
16-20
ktcon
Type of constraint
= 1, von Mises stress at key points
= 2, maximum von Mises stress
= 3, displacement at key points
= 4, maximum displacement
= 5, maximum and key points von Mises stress
= 6, maximum and key points displacement
= 7, maximum and key points von Mises stress
and displacement
= 8, von Mises stress at key points and maximum displacement
= 9, weight
21-25
maxit
Maximum number of optimization iterations to
be performed
26-30
nlink
Number of shape design variable linking
Data set 2.3: Initial values of the design variables | One record (*)
cols. variable name
xdvab(1)
.
..
..
.
xdvab(ndvab)
description
Initial value of 1st design
.. variable
..
..
th
Initial value of ndvab design variable
B.2 Input instructions
B-17
Data set 2.4: Lower bounds of the design variables { One record (*)
cols. variable name
description
Lower bounds of 1st design
.. variable
..
..
th
Lower bounds of ndvab design variable
xdmin(1)
.
..
..
.
xdmax(ndvab)
Data set 2.5: Upper bounds of the design variables { One record (*)
cols. variable name
description
Upper bounds of 1st design
variable
..
...
.
Upper bounds of ndvabth design variable
xdmax(1)
.
..
..
.
xdmax(ndvab)
Data set 2.6: Bounds of the constraints { One record (*)
cols. variable name
description
Bounds of 1st constraint.
..
..
.
th
Bounds of ncons constraint
cfmax(1)
.
..
..
.
cfmax(ncons)
Geometric correction le: lename.cor
These records only exist if ncorr 6= 0. Two records for each segment.
First record set (6i5) :
cols. variable name
description
jsegg
Segment number for which correction is required
icorr
Correction switch,
= 0, no correction required
= 1, put all points on a straight line
= 2, put all points on a circular segment
Second record set (3e20.9). This record exists if icorr = 2 :
circx
Coordinate of origin: x-coordinate
circy
Coordinate of origin: y -coordinate
circr
Radius of circular segment
B-18
B. Documentation and user instructions of program SANOPT-S
B.2.2 User Hints
The purpose of user hints is to guide the user in the preparation of the data.
In the following some comments are made about various parts of the input le.
In the data sets (*) indicates that free format is used for inputting the data.
If ndvab is set to zero in data set 1.2 then optimization input le (data set
2) is omitted and the program does not carry out the optimization.
The output control ags (data set 1.4) allow to switch on/o output of
modules. For example setting koutp(3)=1 means that the output of the
displacements is switched on.
ngaus is equal to 1, 2 and 3 for linear, quadratic and cubic FEs and FSs
respectively.
The variable ncorr is a ag for geometric correction. If set to 1, geometric
correction is used and the FE nodes are moved onto their exact location.
Furthermore, the subroutine PRE reads in the kind of correction to be carried out (lename.cor). The values are 0 for no correction, 1 for a straight
line and 2 for a circle. In the case of ncorr = 1, irrespective of the kind of
correction, for each segment ve real numbers must be given.
If C(0) continuity is desired at the junction of two or more segments then
ntang = 0 is specied.
npara species the number of parameters for each nodal point which would
be read in data set 1.16. The parameters will be interpolated from the background mesh to the generated FE/FS nodes. For instance, for the free vibration analysis, the parameter interpolated was the cross-sectional thickness
of structure.
tleng = 0.0 for shells of revolutions.
In data set 1.13, the shape design variable numbers are assigned to the
lsvab(ipoin,idime) array which species which key point and which coordinate of this key point is taken as the design variable. The key points
having the same lsvab(ipoin,idime) number behave in a similar manner.
We select the length or height of a segment as a design variable. The variable
nlink species the number of shape design variable linking rules, the value of
which is read in data set 2.2. In data set 1.15, linkp(ilink,1) rst key point
of segment, linkp(ilink,2) last key point of segment, linkp(ilink,3)
common coordinates of these key points (x1 or x2 ) and linkp(ilink,4)
design variable number must be provided for each link rule. Then the length
of a segment connected to that key points is a design variable.
The variable npolr species the number of polar coordinate systems, the
values of which are read in data set 1.14; the rst integer species key
B.3 Specimen input data les
B-19
point. Then centre of polar coordinate system is specied in the appropriate
cartesian coordinate system.
In data set 1.16 any segment key point for which a design variable number
is dened is taken as a design variable. The thickness of some key points can
be same value during optimization iteration. In that case, thickness design
variable number of this key points is identied with the same design variable
number.
As mentioned in Chapter 2, the thickness values along the shell segment
are interpolated using the thickness values at some or all the key points.
If any key point is to be excluded from the interpolation process then an
identication number is used which in the present case is 99999.999999999
(see section on specimen input data).
Segments are dened by a sequence of geometry or key points (data set
1.16). The end conditions of segments (icotg(1) and icotg(2)) inuence
the shape of the geometry (see Chapter 2). The values which can be specied
are 0 for natural end condition, 1 for horizontal alignment, 2 for vertical
alignment, 3 for alignment between rst two or last two key points of a
segment. The two values are for the start and the end of a segment.
As can be seen from data set 1.20 | boundary conditions are associated
with the geometric model and are later on transferred to the FE/FS model
after mesh generation has been completed.
B.3 Specimen Input Data Files
In this section input data les are provided for a selection of the numerical
examples presented in the text. This information will be of assistance to readers
who wish to run the program contained in the book on their own computer.
For economy of space, presentation is limited to one example from each area
of the application. Also the printer output is not provided for the same reason.
We now present some specimen input data les for the examples taken from
Chapter 6 for prismatic plates and shells.
B.3.1 Cylindrical Tank under Hydrostatic Pressure
Problem denition: Figure B.6 shows the structure under consideration: a
cylindrical tank clamped at the bottom and subjected to hydrostatic pressure. The tank has a radius a = 20 m, a depth h = 10 m and an initial uniform
thickness t = 0:813 m. The following material properties are assumed: elastic
modulus E = 28 GP a, Poisson's ratio = 1/6 and liquid weight per unit
volume = 9:81 kN=m3 . The objective is to minimize the weight of the tank
B-20
B. Documentation and user instructions of program SANOPT-S
0.813 m
10 m
s3
= t3
s2
= t2
s1
= t1
40 m
Cylindrical tank under hydrostatic pressure: problem denition and location of design variables.
Fig. B.6.
structure subject to a limit on the eective stress of 2.6 MP a. Only thickness
variables are considered with upper and lower bounds on the thickness set at
0:850 m and 0:1 m respectively.
Geometry denition: The shell geometry is dened using three key points and
one segment. The location of the shape and thickness variables are shown in
Figure B.6. The design variables are the thicknesses of key points 1 and 3.
Mathematical denition: The mathematical description of the problem can be
written as:
Minimize V (s1 ; s2 ; s3 )
(B:1)
subject to
design variable bounds
s1 0:813; s2 0:813; s3 0:813
s1 1:000; s2 1:000; s3 1:000
nonlinear constraint
( 1 2600
2 2600
3 2600
:
(B:2)
(B:3)
Starting values: s(1)
= 0:813, s(1)
= 0:813, s(1)
= 0:813.
1
2
3
A typical input les for SANOPT-S is displaced in Table B.1 and B.2.
They are for cylindrical tank shown in Figure B.6. Data set 1, concerning the
general data and geometry data is given in Table B.1. Second data le which
includes optimization parameters for data set 2 is presented in Table B.2.
B.3 Specimen input data les
B-21
Table B.1. The data set 1 for cylindrical tank.
Data set
cylindrical tank under hydrostatic pressure
1.1
3
1.2
ganl hdis gdis rstr smst ener undf undf undf opti
1.3
1
0
1
0
0
0
0
0
0
1
1.4
type node gaus mats nbog nlog grav harm
1.5
3
3
2
1
1
0
0
1
1.6
segg poig polr tang syme corr para
1.7
1
3
0
0
1
0
2
1.8
0.00
0.0
0.0
1.9
backgroundmesh:
1.10
1
2
1.11
1
0.0000
0.5
3
2.0000
0.5
definition of geometry:
1.12
1 20.0000
0.00000
0
0
1.13
2 20.0000
5.00000
0
0
3 20.0000
10.00000
0
0
1
3
1
1.16
1
1 0.813
0.00
2
2 0.813
49.05
3
3 0.813
98.10
3
3
fixity conditions:
1.17
1
1
1
1
1
1
1.18
point load (not applied)
1.19
output section
1.21
1
0.0
1.22
material property
1.23
1 28000000.0
0.166667
7800.0
0.0
0.0
1.24
Table B.2. The data set 2 for cylindrical tank.
topt ncon
3
4
0.813
0.1
0.813
2600.0
tobj tcon mxit link
1
5 20
0
0.813 0.813
0.1
0.1
0.813 0.813
2600.0 2600.0
Data set
2.1
2.2
2.3
2.4
2.5
2.6
B-22
B. Documentation and user instructions of program SANOPT-S
B.3.2 Single Cell Right Box Girder Bridge
Problem denition: A single cell right box girder bridge is now considered.
The box girder bridge has a span L = 60 ft: The following material properties
are assumed: elastic modulus E = 432000 kips=ft2 and Poisson's ratio =
0.15. The box girder is optimized for a point load above the inner web acting
at mid-span. Only SE minimization with a constraint on the total material
volume is considered.
t1
t4
t2
t3
s1
s2
Geometry of the single cell right box girder bridge and locations of the
design variables.
Fig. B.7.
Geometry denition: The cross-sectional shape of the box girder bridge is dened using six segments and six key points. A total of two shape variables and
four thickness variables are considered. Use is made of design variable linking procedures to attain piecewise constant and linear variations within each
segment and to maintain structural symmetry.
Mathematical denition: The shape optimization problem described above may
be summarised formally as follows:
Minimize SE (s1 ; s2 ; s3 ; s4 ; s5 ; s6 )
(B:4)
subject to
8 1:00 s1 4:00;
>
>
>
>
> 3:00 s2 10:00;
<
0:25 s3 0:75;
design variable bounds
0:25 s4 0:75;
>
>
>
>
>
: 0:25 s5 0:75;
0:25 s6 0:75;
V (s1 ; s2 ; s3 ; s4 ; s5 ; s6 ) 0:099
nonlinear constraint
V (s1 ; s2 ; s3 ; s4 ; s5 ; s6 ) 0:1001
(B:5)
:
(B:6)
Starting values: s(1)
= 3:0, s(1)
= 9:0, s(1)
= 0:5, s(1)
= 0:5, s(1)
= 0:5,
1
2
3
4
5
(1)
s6 = 0:5.
B.3 Specimen input data les
B-23
As an example of input les required to describe analysis and optimization consider the cross-section of box girder bridge shown in Figure B.7. The
data set 1 and 2 input les for this problem are given in Tables B.3 and B.4
respectively.
Table B.3. The data set 1 for single cell right box girder bridge.
single cell right box girder bridge
6
ganl hdis gdis rstr smst ener ener undf undf opti
1
0
0
0
0
0
1
0
0
1
type node gaus mats nbog nlog grav harm
1
3
2
1
0
1
0 32
segg poig polr tang syme corr para
6
6
0
0
2
0
2
60.00
0.0
30.0
backgroundmesh:
1
2
1
0.0000
1.0
2
1.0000
1.0
2
2
2
0.0000
1.0
3
1.0000
1.0
3
2
2
0.0000
1.0
4
1.0000
1.0
4
2
3
0.0000
1.0
5
1.0000
1.0
5
2
4
0.0000
1.0
5
1.0000
1.0
6
2
4
0.0000
1.0
6
1.0000
1.0
definition of geometry:
1 0.00000
3.00000
0
1
2 3.00000
3.00000
0
1
3 3.00000
0.00000
0
0
4 12.00000
3.00000
0
1
5 12.00000
0.00000
0
0
6 15.00000
3.00000
0
1
1
3
5
1
2
1
2
1
1
3 0.5
0.0
Data set
1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8
1.9
1.10
1.11
1.12
1.13
1.15
1.16
B-24
B. Documentation and user instructions of program SANOPT-S
2
3 0.5
3
3
2
2
1
2
4 0.5
3
4 0.5
3
3
3
2
1
2
5 0.5
4
5 0.5
3
3
4
2
1
3
6 0.5
5
6 0.5
3
3
5
2
1
4
4 0.5
5
4 0.5
3
3
6
2
1
4
3 0.5
6
3 0.5
3
3
fixity conditions:
point load (not applied)
2
0.0
0.0
output section
1
30.0
material property
1 0.43200
0.1500
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
1.0
0.0
0.0
0.0
1.17
1.19
1.20
1.21
1.22
1.23
1.24
Table B.4. The data set 2 for single cell right box girder bridge.
topt ncon tobj
3
1
2
3.0
9.0
1.0
3.0
4.0 10.0
900.0
tcon mxit link
9 50
1
0.5
0.5 0.5 0.5
0.25 0.25 0.25 0.25
0.75 0.75 0.75 0.75
Data set
2.1
2.2
2.3
2.4
2.5
2.6
B.3 Specimen input data les
B-25
B.3.3 Pinched Cylindrical Shell with Curved Planform
Problem denition: Next, the pinched cylindrical shell shown in Figure B.8 is
considered for optimization. The inner radius of the shell is taken as 300 in: and
outer radius as 900 in: The shell is subjected to two pinching forces of intensity
1000 lbs as shown in Figure B.8. The following material properties are assumed
in the analysis: elastic modulus E = 3:0 106 lb=in:2 and thickness t = 3:0 in:
Only C(2) continuity at the point of application of the load is considered.
C(0) continuity is imposed at the point of application of point load. The shell
is optimized for minimum SE with a constraint that the total material volume
of the structure remains constant.
1000 lb
A
s4
s3
s2
s1
A
1 rad
ri
= 300 in
ro
= 900 in
1000 lb
section A-A
Geometry of pinched cylindrical shell | position of design variables: (a)
plan view and (b) cross-sectional view.
Fig. B.8.
Geometry denition: The top symmetric half of the structure is modelled using four segments and seven key points. Only four shape design variables are
considered as shown in Figure B.8 and the condition of symmetry is imposed.
Mathematical denition: The shape optimization problem described above may
be expressed in mathematical terms as:
Minimize SE (s1 ; s2 ; s3 ; s4 )
subject to
design variable bounds
8 270:0 s1 350:0;
>
< 270:0 s2 350:0;
>
: 270:0 s3 350:0;
270:0 s4 350:0;
(B:7)
(B:8)
B-26
B. Documentation and user instructions of program SANOPT-S
V (s1 ; s2 ; s3 ; s4 ) 3375006:84 :
V (s1 ; s2 ; s3 ; s4 ) 3385152:15
(1)
(1)
Starting values: s1 = 300:0, s2 = 300:0, s(1)
= 300:0, s(1)
= 300:0.
3
4
nonlinear constraint
(B:9)
The input les listing of Pinched cylindrical shell with curved planform
problem for data set 1 and 2 are given in Table B.5 and B.6 respectively.
Table B.5. The data set 1 for pinched cylindrical shell with curved planform.
pinched cylinderical shell with curved planform
4
ganl hdis gdis rstr smst deri ener undf undf opti
1
0
0
0
0
0
1
0
0
1
type node gaus mats nbog nlog grav harm
2
4
3
1
0
2
0 32
segg poig polr tang syme corr para
4 12 12
0
2
0
2
1.00
0.0
0.5
backgroundmesh:
1
2
1
0.000000
45.0
4
3.000000
45.0
2
2
4
0.000000
45.0
7
3.000000
45.0
3
2
7
0.000000
45.0
10
3.000000
45.0
4
2
10
0.000000
45.0
1
3.000000
45.0
definition of geometry:
1 300.0
0.00000
1
0
2 300.0
30.00000
2
0
3 300.0
60.00000
3
0
4 300.0
90.00000
4
0
5 300.0
120.00000
3
0
6 300.0
150.00000
2
0
7 300.0
180.00000
1
0
8 300.0
210.00000
2
0
9 300.0
240.00000
3
0
10 300.0
270.00000
4
0
11 300.0
300.00000
3
0
12 300.0
330.00000
2
0
1 600.0
300.00000
Data set
1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8
1.9
1.10
1.11
1.12
1.13
1.14
B.3 Specimen input data les
2 600.0
300.00000
3 600.0
300.00000
4 600.0
300.00000
5 600.0
300.00000
6 600.0
300.00000
7 600.0
300.00000
8 600.0
300.00000
9 600.0
300.00000
10 600.0
300.00000
11 600.0
300.00000
12 600.0
300.00000
1
4
1
1
0 3.0
0.0
2
0 3.0
0.0
3
0 3.0
0.0
4
0 3.0
0.0
2
1
2
4
1
4
0 3.0
0.0
5
0 3.0
0.0
6
0 3.0
0.0
7
0 3.0
0.0
1
2
3
4
1
7
0 3.0
0.0
8
0 3.0
0.0
9
0 3.0
0.0
10
0 3.0
0.0
2
1
4
4
1
10
0 3.0
0.0
11
0 3.0
0.0
12
0 3.0
0.0
1
0 3.0
0.0
1
2
fixity conditions:
point load (not applied)
4
0.0
0.0
1.0
10
0.0
0.0
1.0
output section
1
0.5
material property
1 3.0000
0.3000
0.0
0.0
B-27
1.16
1.17
1.19
1.20
0.0
1.21
1.22
1.23
1.24
B-28
B. Documentation and user instructions of program SANOPT-S
Table B.6. The data set 2 for pinched cylindrical shell with curved planform.
topt ncon tobj tcon mxit
3
1
2
9 50
300.0 300.0 300.0
270.0 270.0 270.0
350.0 350.0 350.0
3381770.38
link
0
300.0
270.0
350.0
Data set
2.1
2.2
2.3
2.4
2.5
2.6
References
[1] Powell, M.J.D., Algorithms for nonlinear constraints that use Lagrangian functions, Math. Progr., 14, 224-248, 1978.
[2] Svanberg, K., The method of moving asymptotes - a new method for structural
optimization, Int. J. Num. Meth. Eng., 13, 359-373, 1987.
[3] DOT, Design Optimization Tools, Users Manuals, Version 5.0, Vanderplaats
Research & Development, Inc., 1999.