Internet Parallel Structure Analysis Program (IPSAP) User`s Guide

Internet Parallel Structure Analysis Program (IPSAP)
User's Guide
Version 1.8
Aerospace Structure Laboratory
Seoul National University, Korea
April 10, 2009
Chapter 1
Overview
Internet Parallel Structure Analysis Program (IPSAP) is written by C, C++ and MPI. IPSAP
is particularly suited for parallel numerical simulations involving large structures. In this
type of computation, IPSAP dramatically reduces the time spent and the memory usage
by solving a linear algebraic equations efficiently. IPSAP can be used for directly simulating
a structural model with an input file written in the given definite form. Two main algorithms
implemented in IPSAP are the Multifrontal Algorithm for static analysis and the Block
Lanczos Iteration Algorithm with implicit restart out-of-core storage technique for vibration
analysis. Both two algorithms are modified ones which are based on the element by
element calling sequence which best fits for the well-known finite element method and
distributed memory parallel technique based on use of BLAS, LAPACK(CLAPACK), METIS.
1.1 Feature of This Version
1. Element
- Hexa8 : 8-node solid
- Tetra4 : 4-node solid
- Quad4 : 4-node shell
- Tri3 : 3-node shell
- Beam2 : 2-node beam
2. Property
- PropSolid : solid property
- PropShell : shell property
- PropComp : shell property
- PropBeam : beam property
- PropBeamL : beam property
3. Material
- Elastic3DIsotropic : 3 dimensional isotropic
- Elastic3DOrthotropic : 3 dimensional orthotropic
- Elastic2DIsotropic : 2 dimensional isotropic
1
- Elastic2DOrthotropic : 2 dimensional orthotropic
- Elastic1D : 1 dimensional
4. LoadCase
5. Load
- Force
- Moment
- Pressure
- Global Acceleration
- Nodal Temperature
- Nodal Force
6. Analysis Type
- LinearStatic : displacement - stress analysis
- Vibration : frequency - normal mode analysis
7. ETC
- Rigid Connection Element
- Material Coordinate System
- Many Kinds of Solution Parameters
1.2 Finite element implementation
IPSAP provides three types of element - solid, shell, beam. All of them work on three
dimensional space for general purpose. Solid element is classified into eight node hexahedron (Hexa8) and four node tetrahedron(Tetra4) and shell element is separated three
node triangle(Tri3) and four node square(Quad4). Beam element is Beam2. It will be
described in chapter 5.
2
Chapter 2
Pre-requirement
Depending on the pre-compiled versions of IPSAP, BLAS library may be required.1 In
addition, parallel version requires MPI (Message Passing Interface) such as LAM/MPI,
MPICH or MSMPI. Even though IPSAP can be run with various kinds of BLAS library, we
recommend for you to use BLAS by Kazushige Goto2 in linux system and Intel Math
Kernel Library(MKL)3 in windows system for the best performance. In this time of release,
for the users who do not have any kind of BLAS, every execution files are compiled statically.
1
2
3
LAPACK(CLAPACK) and METIS are statically linked in.
In IPSAP execution file for linux OS, GOTO is statically linked in.
In IPSAP execution file for windows OS, MKL is statically linked in.
3
Chapter 3
How to download
The IPSAP can be downloaded from :
http://ipsap.snu.ac.kr
Note that there are actually several pre-compiled single and parallel IPSAP executable
files, depending on your machine architecture, operating system and MPI. See Table 3.1
for Windows and Table 3.2 for Linux operating system. As mentioned in the previous
chapter, IPSAP used BLAS library named in the tables.
CPU architecture
32-bit Single
64-bit Single
32-bit Parallel
64-bit Parallel
Table 3.1 : IPSAP binary files for Windows
BLAS
MPI
IPSAP executable
Intel MKL
IPSAP_single_x86.exe
Intel MKL
IPSAP_single_x64.exe
Intel MKL
MS MPI
IPSAP_parallel_x86.exe
Intel MKL
MS MPI
IPSAP_parallel_x64.exe
CPU architecture
Table 3.2 : IPSAP binary files for Linux
BLAS
MPI
IPSAP executable
32-bit Single
64-bit Single
32-bit Parallel
GOTO
GOTO
GOTO
LAM/MPI
MPICH2
IPSAP_single_x86.run
IPSAP_single_x86_64.run
IPSAP_parallel_x86.run
IPSAP_parallel_x86_mpich2.run
64-bit Parallel
GOTO
LAM/MPI
MPICH2
IPSAP_parallel_x86_64.run
IPSAP_parallel_x86_64_mpich2.run
4
Chapter 4
How to run
4.1 Linux Operating System
1. IPSAP is statically compiled with GOTO blas library and does not require any
additional library.
2. run IPSAP with the following command in a terminal
$exec path/exec name input file
3. running parallel versions follows the same analogy
$mpirun -np (N.P) exec path/exec name input file
4.2 Windows Operating System
1. IPSAP is statically compiled with Intel MKL library and does not require any
additional library.
2. In the same way of linux OS as following command, you can run the program.
$exec path/exec name input file
3. running parallel versions follows the same analogy
$mpirun -np (N.P) exec path/exec name input file
5
Chapter 5
Format of Input file
IPSAP input file has several control strings to distinguish each data set for finite element
method. Table 5.1 shows typical input file. Each control string should be preceded by
asterisk “ ∗ ” and written in uppercase. Brief descriptions are follows.
Table 5.1 : The Example of IPSAP Input File
∗ TITLE
∗ NODE
1
2
“IPSAP Input File Example''
0.0000e+00 0.0000e+00 0.0000e+00
0.0000e+00 5.0000e+00 0.0000e+00
-- abbreviation --
∗ PROPERTY PropShell
1
10
0.1
∗ MATERIAL Elastic2DIsotrpoic
10
1.0000e+07 0.3
10.0
∗ ANALYSYSTYPE Vibration 4 4 10 3 5
∗ ELEMENT Quad4
1
2
3
1 1 19 21 3
1 3 21 23 5
1 5 23 25 7
-- abbreviation --
∗ NSET 1
1 2 3 4 5
6 7 8
9
∗ NSET 2
81
∗ BOUNDARY
1
10.0 123456
∗ LOADCASE 1
2 3
∗ LOAD NodalForce
2 2 10.0 1
3 2 10.0 3
∗ ENDDATA
∗ OUTOPT default.out
∗ END
1
6
5.1 “TITLE”
∗ TITLE
string
This is for the title or explanation of job and can be continued in new lines until next
control string is reached.
5.2 “NODE”
∗ NODE
NID
NID
X-Coordinate
X-Coordinate
Y-Coordinate
Y-Coordinate
Z-Coordinate
Z-Coordinate
NID(node id) does not need to be in order, but each coordinate should be global data.
Notice that NID should not be duplicated.
5.3 “ELEMENT”
∗ ELEMENT
type
Regardless of element type, all elements require EID(element id), PID(property id) and
connectivity. Depending on element type, IPSAP requires different information in different
format. The format and element coordinate system are as below(See Figure 5.1). The data
for one element should be written in one line.
1. Beam2
'Beam2' requires two NID's for connectivity and one vector which is located in the
plane made by r-axis and s-axis. It is also with respect to global coordinate
system. The vector is used to determine the beam's element coordinate.
∗ ELEMENT
EID
EID
Beam2
PID
PID
NID
NID
NID
NID
X-coord
X-coord
Y-coord
Y-coord
Z-coord
Z-coord
2. Hexa8
'Hexa8' is 8 nodes hexahedron solid element and therefore requires eight NID's
for connectivity within one line.
∗ ELEMENT
Hexa8
EID
PID
NID
NID
NID
NID
…
EID
PID
NID
NID
NID
NID
…
3. Tetra4
'Tetra4' is four nodes tetrahedron element and requires four NID's.
7
Figure 5.1 : Natural Coordinate System of Element
∗ ELEMENT
EID
EID
Tetra4
PID
PID
NID
NID
NID
NID
NID
NID
NID
NID
4. Tri3
'Tri3' is three nodes shell element and requires three NID's. In addition, theta or
MCID and offset is defined. theta means material property orientation angle in
degrees and MCID means material coordinate system identification number.
And offset means offset value from the surface of grid points to the element
reference plane.
∗ ELEMENT
Tri3
EID
PID
NID
NID
NID
EID
PID
NID
NID
NID
theta or
MCID
theta or
MCID
offset
offset
5. Quad4
'Quad4' is 4 nodes shell element and requires four connectivities. There are also
defined theta or MCID and offset. The meaning of theta or MCID and offset of
‘Quad4’ is same with ‘Tri3’.
8
∗ ELEMENT
Quad4
EID
PID
NID
NID
NID
NID
EID
PID
NID
NID
NID
NID
theta
or MCID
theta
or MCID
offset
offset
6. Elast0
This defines zero dimensional spring element. 'Elast0' requires one NID and one
DOFID of NID.
∗ ELEMENT
EID
EID
Elast0
PID
PID
NID
NID
DOFID
DOFID
7. Elast1
This defines one dimensional spring element. 'Elast1' requires two NIDs and two
DOFIDs of NIDs. And PID is related with ‘PropElast’ in “PROPERTY”.
∗ ELEMENT
EID
EID
Elast1
PID
PID
NID1
NID1
DOFID1
DOFID1
NID2
NID2
DOFID2
DOFID2
5.4 “PROPERTY”
'Property' defines geometric features of structures. Regardless of kind of property, all
properties require PID(property id) and MID(material id). Depending on structural dimension, IPSAP requires different
∗ PROPERTY
type
information in different format. The data for one property should be written in one line.
1. PropSolid
'PropSolid' requires basically PID and MID because all geometric features of
solid elements can be obtained from the locations of nodes. In addition, MCID is
required. MCID defines the material property coordinate system.
∗ PROPERTY
PID
PID
PropSolid
MID
MID
(MCID)
(MCID)
2. PropShell
'PropShell' requires basically two parameters which are MID and thickness.
In addition, for considering bending moment and transverse shear, MID1 and
MID2 is defined. bfact and sfact each mean the bending moment of inertia ratio
and transverse shear thickness ratio and default values are each 1 and 0.83333.
9
And nsm defines nonstructural mass per unit area.
∗ PROPERTY PropShell
PID
PID
MID
MID
thickness (MID1) (bfact) (MID2)
thickness (MID1) (bfact) (MID2)
(sfact)
(sfact)
(nsm)
(nsm)
3. PropComp
'PropComp' defines the property of n-ply composite material laminate and
requires PID, nsm, MIDi, Ti and thetai.
∗ PROPERTY
PID
∗ PROPERTY
PID
PropComp
nsm
MID1
PropComp
nsm
MID1
T1
theta1 MID1
T1
theta1
…
T1
theta1 MID1
T1
theta1
…
4. PropBeam
'PropBeam' requires five more parameters which are A(cross-section area) ,
three area moments of inertia(J, Iss, Itt) and κ (shear effect factor). If Itt is
not given, it is assumed to be equal to Iss. κ is generally about 5/6 and if κ is
not given, the beam is assumed to be consistent with classical bending theory.
And nsm defines nonstructural mass per unit area.
∗ PROPERTY
PID
PID
PropBeam
MID
MID
A
A
J
J
Iss
Iss
(Itt)
(Itt)
( κ )
( κ )
(nsm)
(nsm)
5. PropBeamL
'PropBeam' defines the property of a beam element by cross-sectional dimensions. In IPSAP, six beam libraries are defined and these are ROD, TUBE,
BAR, BOX, T1, L. By these dimensions of each beam library, A, J, Iss, and Itt
are defined.
∗ PROPERTY PropBeamL
PID
PID
MID
MID
DIM1 DIM2 DIM3
DIM1 DIM2 DIM3
10
…
…
( κ )
( κ )
(nsm)
(nsm)
5. PropElast
'PropElast' specifies the stiffness of a scalar elastic(spring) element, ‘Elast0‘ and
‘Elast1’
∗ PROPERTY
PID
PID
PropElast
K
K
5.5 “MATERIAL”
∗ MATERIAL
type
IPSAP provides only elastic material which can be classified according to directional
symmetry and dimension. The data for one material should be written in one line. All
materials have MID(material id), CID(coordinate id), elastic modulus, density and thermal
expansion coefficients. If the density is not given, it is set 0.0. Detailed formats are as
follows.
1. Elastic3DIsotropic
'Elastic3DIsotropic' is referenced by PropSolid and requires E(Young's modulus),
ν (Poisson's ratio), ρ (density) and α (thermal expansion coefficient).
∗ MATERIAL Elastic3DIsotropic
11
MID
MID
E
E
( ρ )
( ρ )
ν
ν
( α )
( α )
2. Elastic3DOrthotropic
'Elastic3DOrthotropic' is referenced also by PropSolid and requires more parameters than the isotropic case due to the directional differences in elastic moduli
and thermal characteristics.
∗ MATERIAL
Elastic3DOrthotropic
MID
E1
E2
E3
ν 12
( ρ ) (α 1 ) (α
MID
E1
E2
E3
2
ν 12
( ρ ) (α 1 ) (α
2
ν
23
) (α
ν
3
3
31
G12
G23
G31
ν
31
G12
G23
G31
)
23
) (α
ν
)
3. Elastic2DIsotropic
'Elastic2DIsotropic' is a 2-dimensional version of 3D-Isotropic material and therefore referenced by PropShell.
∗ MATERIAL
MID
MID
Elastic2DIsotropic
E
E
( ρ )
( ρ )
ν
ν
( α )
( α )
4. Elastic2DOrthotropic
'Elastic2DOrthotropic' is a 2-dimensional version of 3D-Orthotropic material
and therefore referenced by PropShell.
∗ MATERIAL
Elastic2DOrthotropic
MID
E1
E2
MID
E1
E2
ν 12
ν 12
G12
G23
G12
G23
G31 ( ρ ) ( α 1 ) ( α
G31 ( ρ ) ( α 1 ) ( α
5. Elastic1D
'Elastic1D' is referenced by PropBeam.
∗ MATERIAL Elastic1DIsotropic
MID
MID
E
E
( ρ )
( ρ )
ν
ν
( α )
( α )
5.6 “COORD”
Coordinate system in IPSAP is used only for material coordinates. All coordinates have
CID(coordinate id) and three directional vectors which de_ne the x, y and z axis of new
Cartesian coordinate system. The directional vectors are not required to have the magnitude
of unity, but should be orthogonal with each other. It is notable that CID should be larger
than zero because zero CID in the material control string designates the global reference
coordinate.
∗ COORD
12
2
)
2
)
CID
CID
xX
xX
xY
xY
xZ
xZ
yX
yX
yY
yY
yZ
yZ
zX
zX
zY
zY
zZ
zZ
5.7 “ANALYSISTYPE”
∗ ANALYSISTYPE
∗ ANALYSISTYPE
LinearStatic
Vibration
integer integer
integer integer integer integer integer
Analysis type is one of LinearStatic and Vibration. According to the analysis type, the
number of option is different. 'LinearStatic' need 2 options and 'Vibration' needs 5. The
description is as follows:
LinearStatic Element Block Size, Communication Block Size
Vibration Element Block Size, Communication Block Size, Number of Eigen Value,
Lanczos Block Size, Maximum Number of Block.
Element Block Size controls the entire performance of solver. Generally one of the values
4, 8, 16, 32 will be moderate. Communication Block Size controls the parallel performance.
The performance will be maximized around the value from 64 to 256, but too large value
may induce failure of the program during the parallel job. In the case of failure, some
smaller values(4,8,16,32) of communication block size is recommended. Vibration analysis
mode of IPSAP computes eigenvalues from the first mode to Nth mode. N is set by the
third option of vibration analysis type, Number of Eigen Value. Lanczos Block Size is the
number of Lanczos vectors which is handled during one Lanczos iteration. Commercial
codes such as NASTRAN and ABAQUS set the default value of Lanczos block size 7.
Maximum Number of Block option in Vibration analysis controls the maximum size of
Lanczos block tridiagonal matrix which is defined by “Maximum Number of Block” x “La
nczos Block Size”. From the experiences, the following condition is recommended for the
performance of program.
“Maximum Number of Block” x “Lanczos Block Size” > 4 x Number of EigenValue
5.8 “NSET”
NSET is to define the boundary condition, nodal force and temperature. If NID's are
continuous, “TO” keyword can be used. For example, “1 2 3 4” may be replaced by “1
TO 4”
∗ NSET
Node ID
∗ NSET
Node ID
NSID
NID
NSID
NID
NID
NID
NID
NID
…
NID
NID
NID
NID
…
.
5.9 “BOUNDARY”
'Magnitude' can be used for pre-described displacement boundary. For example if it is
zero, then it means fixed boundary. 'Direction' is to give direction of displacement. The
13
number from 1 to 6 are used to represent translation(1,2,3) and rotation(4,5,6).
∗ BOUNDARY
BID
BID
NSID
NSID
Magnitude Direction
Magnitude Direction
5.10 “LOADCASE”
∗ LOADCASE
LID
LCID
LID
LID
LID
This option defines several loads to be used in one load case.
5.11 “LOAD”
∗ LOAD
type
According to the 'Load type', there are three choices, NodalForce, Acceleration and
Temperature as below.
1. Force
'Force' is defined by X, Y and Z directional force.
∗ LOAD
LID
Force
NID
X-dir. Force
Y-dir. Force
Z-dir. Force
2. Moment
'Moment' is defined by X, Y and Z rotational force, moment.
∗ LOAD
LID
Moment
NID
X-dir. Moment
Y-dir. Moment
Z-dir. Moment
3. Pressure
‘Pressure’ can be used on 2D Element, Tri3 and Quad4.
∗ LOAD
LID
Pressure
EID
Magnitude
4. Acceleration
‘Acceleration’ is used for inertial load acting on the entire model such as the
structure is under accelerating condition.
∗ LOAD
X-dir. Acceleration
Acceleration
Y-dir. Acceleration
Z-dir. Acceleration
5. Temperature
Temperature load is active only if the elements which the node set is belonged
14
to have thermal expansion coefficients.
∗ LOAD
Temperature
NSID
Temperature
LID
6. NodalForce
'NodalForce' has the same form as 'BOUNDARY' control string. But, the usage
of this keyword is not recommended. Instead of this keyword, ‘Force’ and ‘Moment’
keywords are newly involved.
∗ LOAD
NodalForce
NSID
Magnitude Direction
LID
5.12 “RCON”
'RCON' is the rigid connection between nodes like a stiff beam. The first IDNID is independent node and CM means component numbers of the dependent degrees of freedom
in the global coordinate system at Node ID, DNIDi. Hense the others following DNIDis
mean dependent nodes.
∗ RCON
IDNID
∗ RCON
IDNID
RCID
CM
RCID
CM
DNID1
DNID2
…
DNID1
DNID2
…
5.13 “ENDDATA”
'ENDDATA' is a delimiter between model data and additional data. Therefore, additional
data control strings follow.
5.14 “OUTOPT”
In LinearStatic analysis,
∗ OUTOPT file-name
0 or 1
0 or 1
In Vibration analysis,
∗ OUTOPT file-name
0 or 1
0 or 1
0 or 1
This control string provides output format. ‘file-name' designates the name of the output
file which IPSAP will generate. The last two or three integers control the kind of output
data. If IPSAP runs on LinearStatic analysis mode, information of original finite element
model, displacement and stress will be written or not on file you named according to the
choice of the field's value(0 or 1). For example, if you choose 0 in the first integer field,
it means simply 'Do not write information of initial finite element model'. In the case of
Vibration analysis, two fields, information of original finite element model and eigenvector
will be referenced and the eigenvectors will be written or not according to the second
field's value(0 or 1). If this control string does not appear in the input file, IPSAP generates
a file named 'default.out' and assumes that all integer fields are on(1) such that the disp
15
lacement and the stress are written in the file.
5.15 “EXPOPT”
∗ EXPOPT
Memory1
Memory2
initial shift
Convergence criteria
IPSAP provides expert user's mode to control memory usage, initial shift and convergence
criteria. Memory1 assigns MBytes of memory for factorized frontal data, which will be
stored in a disk storage if ‘EXPOPT’ is not used. In the case of LinearStatic analysis
mode, only Memory1 will be referenced. Memory2 assigns memory for Lanczos vectors
in the same way of Memory1. Initial Shift will be efficient for a eigenvalue analysis model
with insufficient boundary conditions and the recommendation is negative value. For
the convergence criteria field, machine precision is used in general. If you are not sure,
do not use 'EXPOPT' control string.
5.16 “TEMPDIR”
∗ TEMPDIR
Temporary directory path
'TEMPDIR' let you choose temporary directory where IPSAP dump file is written instead
of default current directory.
5.17 “END”
'END' means the end of all data.
16
Chapter 6
Format of Output file and Visualization
6.1 Format of Output
Figure 6.1 and Figure 6.2 show the example of output file format.
IPSAP RESULT FILE - LinearStatic ANALYSIS
NID and EID ARE SORTED ONES!
∗ NODE 3362
NID
X
Y
Z
1
0.0000e+00 5.0000e-01 0.0000e+00
2
5.0000e-01 0.0000e+01 0.0000e+00
...
∗ ELEMENT 1600
EID
TYPE NID ----------------------------------------1
Tetra4 1 1
2 3
2
Tetra4 2 3
4 8
...
∗ DISPLACEMENT
NID
U
V W Rx Ry Rz
1
3.7507e-06 3.3165e-08 -2.1612e-09
2
3.1345e-06 2.1145e-05 -2.1613e-08
...
∗ NODAL FORCE APPLIED TO 1,2-DIMENSIONAL ELEMENT
EID
Fz
Fy Fz
Mx My Mz
101 3.7507e-06 3.3165e-08 -2.1612e-09 1.0067e-06 -5.0432e-02 0.1239e-01
104 3.7537e-06 3.1165e-08 -1.1412e-09 0.0067e-06 -5.0002e-02 1.1200e-01
...
∗ STRESS AVERAGE AT NODE BELONGING TO 3-DIMENSIONAL ELEMENT
NID
Sxx Syy Szz Sxy Syz Szx
1
3.7507e-06 3.3165e-08 -2.1612e-09 1.0067e-06 -5.0432e-02 0.1239e-01
2
3.7537e-06 3.1165e-08 -1.1412e-09 0.0067e-06 -5.0002e-02 1.1200e-01
…
Figure 6.1 : Output file format (Linear Static)
17
IPSAP RESULT FILE - Vibration ANALYSIS
NID and EID ARE SORTED ONES!
∗ NODE 3362
NID
X Y Z
1 0.0000e+00 5.0000e-01 0.0000e+00
2 5.0000e-01 0.0000e+01 0.0000e+00
...
∗ ELEMENT 1600
EID TYPE NID ------------------------------------------1
Tetra4
1 1 2 3
2
Tetra4
2 3 4 8
...
∗ EIGENVALUE ANALYSIS SUMMARY 10
MODE 1 – eigenvalue : 7.15900e+05
MODE 1 – eigenvalue : 7.15900e+05
...
∗ MODE
1 – eigenvalue : 7.15900e+05
NID U V W Rx Ry Rz
1 3.7507e-01 3.3165e-08 -2.1612e-09 3.0787e-06
2 3.2500e-06 4.7403e-08 -1.0387e-09 1.6700e-07
...
∗ MODE
2 - eigenvalue : 9.15210e+05
NID U V W Rx Ry Rz
1 2.7507e-01 2.3165e-08 -2.1452e-09 3.1287e-06
2 2.2500e-06 2.7403e-08 -1.0457e-09 1.6340e-07
...
-2.9332e-02 -2.9347e-05
-4.6203e-07 -2.33183-05
-2.1332e-02 -0.9347e-05
-2.3203e-07 -0.33183-05
Figure 6.2 : Output file format (Vibration)
6.2 Visualization
DIMAOND/IPSAP is the own visualization tool of IPSAP. By DIAMOND/IPSAP, you can
enjoy the structure analysis.
18