4. FE Model Converter Tests

4.1. BDF Converter tests

4.1.1. Airjet Half Model (BDF)

Note

Location of verification case:

verification/converters/bdf_airjet

A Nastran Bulk Data Format (BDF) file is converted to a B2000 MDL input file, which is then processed with the input processor. No values are checked.

Run the conversion test with the shell commands:

prompt> tar xf aircraft.bdf.tar.xz
prompt> b2convert_from_nas -verbose aircraft.bdf aircraft.mdl

Length          is scaled by 1
Mass            is scaled by 1
Force           is scaled by 1
Moment          is scaled by 1
Gravity         is scaled by 1
Elastic modulus is scaled by 1
Stiffness       is scaled by 1
Density         is scaled by 1
Beam property stabilization  1e-06
opening BDF file and reading statements... done.
parsing executive statement section... done.
parsing case control section... done.
parsing bulk data deck entries... done.
processing bulk data deck entries... done.
writing messages for unknown entries... done.
checking load cases... done.
processing EMAT entries... done.
processing EBC entries... done.
processing NBC entries... done.
writing B2000++ entries to MDL file... done.

and create the FE database:

prompt> b2ip++ aircraft.mdl

The model database aircraft.b2m viewed with baspl++:

_images/verification.converters.bdf.bdfairjet.mesh_half.png

Model geometry converted to B2000++.

4.1.2. Truss (BDF)

Note

Location of verification case:

verification/converters/bdf_truss

This published basic NASTRAN test consist of a simple 2-dimensional truss made of rod elements. The structure is simply supported at nodes 1 and 7. Forces Fx=-1500 and Fy=-1300 are applied on nodes 2, 4, 6. Displacements, reaction forces and stresses are computed.

_images/verification.converters.bdftruss.mesh.png

Truss: Mesh with node and element numbering. Note that the prefix 1: means “branch one”.

The BDF input file truss.bdf is listed below:

SUBCASE 1
   SUBTITLE=TRUSS_LBCS
   SPC = 2
   LOAD = 2
   DISPLACEMENT = ALL
   SPCFORCES = ALL
   STRESS = ALL
BEGIN BULK
PROD     1       1       5.25
CROD     1       1       1       2
CROD     2       1       2       4
CROD     3       1       4       6
CROD     4       1       6       7
CROD     5       1       2       3
CROD     6       1       3       4
CROD     7       1       4       5
CROD     8       1       5       6
CROD     9       1       1       3
CROD     10      1       3       5
CROD     11      1       5       7

MAT1     1       1.76+6                                                 +      A
A+      A 1900.   1900.

GRID     1               0.      0.      0.             3456
GRID     2               144.    72.     0.             3456
GRID     3               192.    0.      0.             3456
GRID     4               288.    144.    0.             3456
GRID     5               384.    0.      0.             3456
GRID     6               432.    72.     0.             3456
GRID     7               576.    0.      0.             3456

SPCADD   2       1       3
LOAD     2       1.      1.      1       1.      3
SPC1     1       12      1
SPC1     3       2       7
FORCE    1       2       0       1500.   0.     -1.      0.
FORCE    1       4       0       1500.   0.     -1.      0.
FORCE    1       6       0       1500.   0.     -1.      0.
FORCE    3       2       0       1300.  -1.      0.      0.
FORCE    3       4       0       1300.  -1.      0.      0.
FORCE    3       6       0       1300.  -1.      0.      0.
ENDDAT

The first step consist in converting the BDF file truss.bdf to a MDL file truss.mdl by means of the b2convert_from_nas converter. Lauch from the shell:

prompt> b2convert_from_nas -verbose truss.bdf truss.mdl

Length          is scaled by 1
Mass            is scaled by 1
Force           is scaled by 1
Moment          is scaled by 1
Gravity         is scaled by 1
Elastic modulus is scaled by 1
Stiffness       is scaled by 1
Density         is scaled by 1
Beam property stabilization  1e-06
opening BDF file and reading statements... done.
parsing executive statement section... done.
parsing case control section... done.
parsing bulk data deck entries... done.
processing bulk data deck entries... done.
writing messages for unknown entries... done.
checking load cases... done.
processing EMAT entries... done.
processing EBC entries... done.
processing NBC entries... done.
writing B2000++ entries to MDL file... done.
b2convert_from_nas -verbose truss.bdf a.mdl

# b2convert_from_nas truss.bdf a.mdl
#
# Messages generated during processing of Nastran bulk data deck entries:
#
# The following bulk data deck entries are not supported:
#   enddat
# The following case control statements are not supported:
#   displacement
#   spcforces
#   stress
# grid: PS is not supported.
#   nid=1 ps=3456
#   nid=2 ps=3456
#   nid=3 ps=3456
#   nid=4 ps=3456
#   nid=5 ps=3456
#   nid=6 ps=3456
#   nid=7 ps=3456
# mat1: Property NU is not defined.
#   mid=1
#

nodes
  1  0  0  0
  2  144  72  0
  3  192  0  0
  4  288  144  0
  5  384  0  0
  6  432  72  0
  7  576  0  0
end

elements
  type R2.S
  mid 1
  area 5.25
   1       1      2
   2       2      4
   3       4      6
   4       6      7
   5       2      3
   6       3      4
   7       4      5
   8       5      6
   9       1      3
  10       3      5
  11       5      7
end

material 1  type isotropic
  e 1760000.
  nu 0.
end

ebc 1
  dof 1
  value 0 node 1
  dof 2
  value 0 node 1
end

ebc 2
  dof 1
  value 0 node 1
  dof 2
  value 0 node 1
  value 0 node 7
end

ebc 3
  dof 2
  value 0 node 7
end


nbc 1
  dof 2
  value -1500 node 2
  value -1500 node 4
  value -1500 node 6
end

nbc 3
  dof 1
  value -1300 node 2
  value -1300 node 4
  value -1300 node 6
end

case 1
  ebc 2
  nbc 1
  nbc 3
  analysis linear
  autospc yes
  gradients 1
end

adir
  cases 1
end

The problem is solved with B2000++ from the shell with the command:

prompt> b2000++ truss.mdl

INFO:solver.static_linear:21:53:20.056: Start static linear solver
INFO:solver:21:53:20.056: Resolving linear constraints: 3 equations.
INFO:solver:21:53:20.056: 0 dependent constraints were eliminated.
INFO:solver:21:53:20.056: Reduction matrix (18 x 21) has 18 nonzeros.
INFO:solver.static_linear:21:53:20.056: Assemble the natural boundary conditions
INFO:solver.static_linear:21:53:20.056: Element matrix assembly
INFO:solver.static_linear:21:53:20.056: Resolve the linear problem
INFO:solver.static_linear:21:53:20.057: Compute gradients and reaction forces
INFO:solver.static_linear:21:53:20.057: End of static linear solver
_images/verification.converters.bdftruss.forces.png

Truss: Mesh and applied forces (nbc). Forces Fx=-1500 and Fy=-1300 applied on nodes 2, 4, 6.

_images/verification.converters.bdftruss.deformed.png

Truss: Deformed and undeformed mesh. Amplification factor: 32.

_images/verification.converters.bdftruss.stresses.png

Truss: Stresses in rods. Dots: Stresses in rods.

Node displacements output from b2browser:

Displacements and Rotations (DISP), case=1, cycle=0, subcycle=0

         EID *      DX           DY           DZ       Amplitude
           1 G           0            0            0            0
           2 G      0.1103      -0.4732            0       0.4858
           3 G     0.03948      -0.5117            0       0.5132
           4 G      0.0285      -0.4872            0        0.488
           5 G      0.0613      -0.5089            0       0.5126
           6 G    -0.03559      -0.4661            0       0.4675
           7 G      0.1278            0            0       0.1278

Largest amplitude=0.513246

External forces (nbc conditions) output from b2browser:

Node Forces and Moments (FORC),  case=1, cycle=0, subcycle=0

         EID *      FX           FY           FZ       Amplitude
           2 G       -1300        -1500            0         1985
           4 G       -1300        -1500            0         1985
           6 G       -1300        -1500            0         1985

Reaction forces and moments output from b2browser:

Reaction forces and moments (RCFO), case=1, cycle=0, subcycle=0

         EID *      FX           FY           FZ       Amplitude
           1 G        3900         2900            0         4860
           7 G  -9.095e-13         1600            0         1600

Stress output from b2browser (selected elements listed only). One point per element listed (R2 elements exhibit constant stress):

Sample field STRESS_SECTION_ROD (Rod section stresses,ranch=1, Case=1, Cycle=0

   Element Point     Sxx
         1     1        -1235
         2     1       -867.8
         3     1       -729.4
         4     2       -681.5
         5     1       -145.9
         6     2        145.9
         7     2        369.1
         8     2       -369.1
         9     2        361.9
        10     2          200
        11     2        609.5