Example B: a pyramid-shaped frame --- static and dynamic analysis (N,mm,ton)

*npoin                #number of nodes
#.node  x       y       z       r
#        mm      mm      mm      mm

*set elems(all)
*loop nodes
*NodesNum *NodesCoord(1) *NodesCoord(2) *NodesCoord(3) 0.0
*end nodes

*Set Cond FixedNodes *nodes
*CondNumEntities(int)         # number of nodes with reactions
#.n     x  y  z xx yy zz          1=fixed, 0=free

*loop nodes *OnlyInCond
*NodesNum *Cond(XFixed) *Cond(YFixed) *Cond(ZFixed) *Cond(XXFixed) *Cond(YYFixed) *Cond(ZZFixed)
*end nodes

*nelem                 # number of frame elements
#.e n1 n2 Ax    Asy     Asz     Jxx     Iyy     Izz     E       G   roll density
#   .  .  mm^2  mm^2    mm^2    mm^4    mm^4    mm^4    MPa     MPa  deg T/mm^3

*loop elems
*ElemsNum *ElemsConec *ElemsMatProp(Ax,real) *ElemsMatProp(Asy,real) *ElemsMatProp(Asz,real) *ElemsMatProp(Jxx,real) *ElemsMatProp(Iyy,real) *ElemsMatProp(Izz,real) *ElemsMatProp(Youngs(E),real) *ElemsMatProp(Shear(G),real) *ElemsMatProp(Roll,real) *ElemsMatProp(Density,real)
*end elems

*Set Cond ShearDeformation *nodes
*Cond(SD)                # 1: include shear deformation
*Set Cond GeometricStiffness *nodes
*Cond(GS)              # 1: include geometric stiffness
*Set Cond MeshDeformation *nodes
*Cond(MD)               # exaggerate static mesh deformations
*Set Cond XAxisIncre *nodes
*Cond(XI)               # x-axis increment for internal forces, mm
		# if dx is -1 then internal force calculations are skipped.

*Nintervals               # number of static load cases
		# Begin Static Load 

*loop Intervals *all       # Begin Static Load 
*Set Cond GravityAcc *nodes
# gravitational acceleration for self-weight loading (global)
#.gX                gY              gZ              
#.mm/s^2        mm/s^2                mm/s^2
*Cond(gX) *Cond(gY) *Cond(gZ)

*Set Cond LoadedNodes *nodes
*CondNumEntities(int)        # number of loaded nodes
*if(*CondNumEntities(int)>0)
#.e      Fx       Fy     Fz      Mxx     Myy     Mzz
#        N        N      N       N.mm    N.mm    N.mm
*loop nodes *OnlyInCond
*NodesNum *Cond(Fx) *Cond(Fy) *Cond(Fz) *Cond(Mxx) *Cond(Myy) *Cond(Mzz)
*end nodes
*endif
*Set Cond UniformLoads *elems
*CondNumEntities(int)        # number of uniform loads
*if(*CondNumEntities(int)>0)
#.e    Ux   Uy   Uz
#     N/mm N/mm N/mm
*loop elems *OnlyInCond
*ElemsNum *Cond(Ux) *Cond(Uy) *Cond(Uz)
*end elems
*endif
*Set Cond TrapezDistributedLoads *elems
*CondNumEntities(int)          # number of trapezoidally distributed loads
*if(*CondNumEntities(int)>0)
#.e     x1       x2        w1      w2
#       mm       mm       N/mm    N/mm
*loop elems *OnlyInCond
*ElemsNum *Cond(xx1) *Cond(xx2) *Cond(wx1) *Cond(wx2) # location and loading - local x-axis
 *Cond(xy1) *Cond(xy2) *Cond(wy1) *Cond(wy2) # location and loading - local y-axis
 *Cond(xz1) *Cond(xz2) *Cond(wz1) *Cond(wz2) # location and loading - local z-axis
*end elems
*endif
*Set Cond IntConcentratedLoads *elems
*CondNumEntities(int)          # number of internal concentrated loads
*if(*CondNumEntities(int)>0)
#.e    Px   Py    Pz   x    
#      N    N     N    mm
*loop elems *OnlyInCond
*ElemsNum *Cond(Px) *Cond(Py) *Cond(Pz) *Cond(x)
*end elems
*endif
*Set Cond TemperatureLoads *elems
*CondNumEntities(int)          # number of temperature loads
*if(*CondNumEntities(int)>0)
#.e  alpha   hy   hz   Ty+  Ty-  Tz+  Tz-
#    /degC   mm   mm   degC degC degC degC
*loop elems *OnlyInCond
*ElemsNum *Cond(alpha) *Cond(hy) *Cond(hz) *Cond(Ty+) *Cond(Ty-) *Cond(Tz+) *Cond(Tz-)
*end elems
*endif
*Set Cond PrescribedDisplacement *nodes
*CondNumEntities(int)        # number of Prescribed displacements
*if(*CondNumEntities(int)>0)
#.n      Dx       Dy     Dz      Dxx     Dyy     Dzz
#        in       in     in      rad.    rad.    rad.
*loop nodes *OnlyInCond
*NodesNum *Cond(Dx) *Cond(Dy) *Cond(Dz) *Cond(Dxx) *Cond(Dyy) *Cond(Dzz)
*end nodes
*endif                                        # End Static Load 
*end Intervals                                # End   Static Load Case

*Set Cond DynamicModes *nodes
*Cond(number)                                # number of desired dynamic modes of vibration
*if(*CondNumEntities(int)>0)
*Cond(subspace)                              # 1: subspace Jacobi     2: Stodola
*Cond(ConsistentMass)                        # 0: consistent mass ... 1: lumped mass matrix
*Cond(ModeShapeTolerance)                               # mode shape tolerance
*Cond(ShiftValue)                            # shift value ... for unrestrained structures
*Cond(MeshDeformation)                       # exaggerate modal mesh deformations

# nodes and concentrated mass and inertia
*Set Cond ExtraMOI *nodes
*CondNumEntities(int) # number of nodes with extra inertia
*if(*CondNumEntities(int)>0)
#.n      Mass   Ixx      Iyy      Izz 
#        ton    ton.mm^2 ton.mm^2 ton.mm^2
*loop nodes *OnlyInCond
*NodesNum *Cond(Mass) *Cond(Ixx) *Cond(Iyy) *Cond(Izz)
*end nodes
*endif
*Set Cond ExtraFrameElements *elems
*CondNumEntities(int) # frame elements with extra mass

*Set Cond DynamicModes *nodes
*Cond(NumberOfModesToAnimate)   # number of modes to animate, nA
*set var MNUM=Cond(NumberOfModesToAnimate,real)
*if(MNUM==0)

*elseif(MNUM==1)
 1                                  # list of modes to animate - omit if nA == 0
*elseif(MNUM==2)
1 2                                  # list of modes to animate - omit if nA == 0
*elseif(MNUM==3)
1 2 3                                 # list of modes to animate - omit if nA == 0
*elseif(MNUM==4)
1 2 3 4                                # list of modes to animate - omit if nA == 0
*elseif(MNUM==5)
1 2 3 4 5                        # list of modes to animate - omit if nA == 0
*elseif(MNUM==6)
1 2 3 4 5 6                         # list of modes to animate - omit if nA == 0
*elseif(MNUM==7)
1 2 3 4 5 6 7                        # list of modes to animate - omit if nA == 0
*elseif(MNUM==8)
1 2 3 4 5 6 7 8                        # list of modes to animate - omit if nA == 0
*elseif(MNUM==9)
1 2 3 4 5 6 7 8 9                # list of modes to animate - omit if nA == 0
*elseif(MNUM==10)
1 2 3 4 5 6 7 8 9 10                # list of modes to animate - omit if nA == 0
*elseif(MNUM==11)
1 2 3 4 5 6 7 8 9 10 11                # list of modes to animate - omit if nA == 0
*elseif(MNUM==12)
1 2 3 4 5 6 7 8 9 10 11 12                # list of modes to animate - omit if nA == 0
*endif
2                               # pan rate during animation
*endif
# End of input data file for example B