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++:
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.
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
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