8. Monolithic Solver Tests
8.1. Element Tests
8.1.1. Linear Tests
8.1.1.1. Static Tests
8.1.1.1.1. Beam Tests
8.1.1.1.1.1. Beam Offsets
Note
Location of verification case:
verification/monolithic_solver/elements/linear/static/beam/offsets
The MDL parameter beam_offsets is tested for a cantilevered beam.
All DOFs are fixed at end A, and 6 different load cases are applied at end B.
The load is applied at the node at end B and the node is placed in the shear center.
Regarding the property of the beam, beam_constants and beam_section are
considered for the bar profile, and beam_constants for the C (channel) profile.
Moreover, the tests are run for the old solver (analysis linear) and the new
solver (analysis mlinear).
The variants using the old solver may be removed or moved to another directory in
the future.
Furthermore, regarding the beam structure and its offset, two different models are
considered. In the first one (offsets_bar, offsets_chan), end A is located at
(0, 0, 0) and end B at (1, 0, 0).
The second setup (arbitrary_bar etc.) is the same beam structure that is
arbitrarily translated and rotated.
In both cases, the orientation of the beam is the same and the offsets at end A,
\(w_a\), and end B, \(w_b\), have the same values.
The beam is discretized with 10 B2.S.RS elements and the offsets for the
individual elements (and their nodes) are computed as a function of \(x_{local}\)
varying linearly between \(w_a\) and \(w_b\).
The test is considered to be successful if the displacements, element forces
and reaction forces agree with an equivalent Nastran model (see e.g.
offsets_bar.bdf etc.) within a certain relative tolerance.
8.1.1.1.1.2. Section offset
Note
Location of verification case:
verification/monolithic_solver/elements/linear/static/beam/section_offset
One convenience feature of the beam elements is the ability to shift
the beams cross-section in the y-z-(or cross-sectional) plane by specifying
a section_offset expressed in the beam local coordinate system.
For instance, the cross-section can be shifted such that the shear center
coincides with the beam node and transversal forces do not result in
twisting of the beam (moments about its longitudinal axis).
The MDL parameter section_offset is tested for properties
beam_constants and beam_section.
Using a channel (shape C) cross-section profile, the solution for a
cantilevered beam (with section_offset shear_enter) is compared to a
reference solution computed with MSC Nastran.
Furthermore, basic tests regarding offset to the neutral axis point
(section_offset neutral_axis) and arbitrary section offsets
(section_offset Y Z) are carried out.
These tests simply compare B2000++ models that use different property
definitions to describe the same beam structure.
The cross-sectional properties (see properties.mdl) are computed using the
formulas provided in the Nastran Reference Guide p. 83/84.
The geometric dimensions of the channel cross-section are
Geometric dimension |
Value |
|---|---|
D1 |
0.2 |
D2 |
0.1 |
D3 |
0.002 |
D4 |
0.001 |
8.1.1.1.2. Solid Element Tests (HE8.S.TL)
Note
Location of verification case:
verification/monolithic_solver/elements/linear/static/hexahedral
The linear static hexahedral tests comprise the following test cases for different tpyes of load applications and element numbers:
EBC control in global X-direction
NBC control in global X-direction
EBC control in global X-direction combined with NBC control in global Y-direction
NBC control in both global X-direction and in global Y-direction
NBC control in global X-direction specifically for surface tractions
Postprocessing tests for gradient and reaction force computation
The element discretization is a regular grid of either 1x1x1, 2x2x2 or 6x6x6 elements
of type HE8.S.TL. Displacements, gradients and reaction forces are verified
separately.
8.1.1.1.3. Quadrilateral Element Tests (Q4.S.2D.TL)
Note
Location of verification case:
verification/monolithic_solver/elements/linear/static/quadrilateral
The linear static quadrilateral tests comprise the following test cases for different tpyes of load applications and element numbers:
EBC control in global X-direction
NBC control in global X-direction
EBC control in global X-direction combined with NBC control in global Y-direction
NBC control in both global X-direction and in global Y-direction
NBC control in global X-direction specifically for line loads
Postprocessing tests for gradient and reaction force computation
The element discretization is a regular grid of either 1x1, 2x2 or 6x6 elements of
type Q4.S.2D.TL. Displacements, gradients and reaction forces are verified
separately.
8.1.1.2. Dynamic Tests
8.1.1.2.1. Hexahedral Element Tests (HE8.S.TL)
Note
Location of verification case:
verification/monolithic_solver/elements/linear/dynamic/hexahedral
The linear dynamic hexahedral tests comprise the following test cases for different types of load applications:
Free vibration test, zero initial displacements
Free vibration test, zero initial velocity
Forced vibration, NBC control (linear)
TODO: Forced vibration, NBC control (harmonic)
Forced vibration, EBC control (linear)
TODO: Forced vibration, EBC control (harmonic)
The element discretization is a regular grid of 4x1 elements of type HE8.S.TL.
Displacements, velocities and accelerations for all cycles are verified for
the first DOF of the last node.
8.1.1.2.2. Membrane Element Tests (Q4.S.2D.TL)
Note
Location of verification case:
verification/monolithic_solver/elements/linear/dynamic/quadrilateral
The linear dynamic quadrilateral tests comprise the following test cases for different tpyes of load applications:
Free vibration test, zero initial displacement
Free vibration test, zero initial velocity
Forced vibration, NBC control (linear)
TODO: Forced vibration, NBC control (harmonic)
Forced vibration, EBC control (linear)
TODO: Forced vibration, EBC control (harmonic)
The element discretization is a regular grid of 4x1 elements of type Q4.S.2D.TL.
Displacements, velocities and accelerations for all cycles are verified for the
first DOF of the last node.
8.1.1.2.3. Rod Element Tests (R2.S)
Note
Location of verification case:
verification/monolithic_solver/elements/linear/dynamic/rod
The linear dynamic rod tests comprise the following test cases for different tpyes of load applications:
Free vibration test, zero initial displacements
Free vibration test, zero initial velocity
Forced vibration, NBC control (linear)
TODO: Forced vibration, NBC control (harmonic)
Forced vibration, EBC control (linear)
TODO: Forced vibration, EBC control (harmonic)
Postprocessing of reaction forces
The element discretization is a regular grid of 4x1 elements of type R2.S.
Displacements, velocities and accelerations for all cycles are verified for
the first DOF of the last node.
8.1.1.2.4. Beam Element Tests (B2.S.RS)
Note
Location of verification case:
verification/monolithic_solver/elements/linear/dynamic/beam
The linear dynamic beam tests comprise the following test cases:
Free torsional vibration test, zero initial velocities
The element discretization is a regular grid of 5x1 elements of type
B2.S.RS. Displacements, velocities and accelerations for all cycles are verified for the fourth DOF (twisting) of the last node. The analytical solution is given by following expression:\[\phi(x; t) = \sin(\pi/2/L \cdot x) \cdot \phi_0 \cdot \cos(2\pi/T \cdot t), \quad x \text{ in } [0; L].\]In a separate test the reaction torque at the fixed support is verified.
Free bending vibration test around y-axis, zero initial velocities
The element discretization is a regular grid of 100x1 elements of type
B2.S.RS. Displacements, velocities and accelerations for all cycles are verified for the third DOF (deflection) of the last node. The analytical solution is given by following expression:\[\begin{split}w(x; t) &= -w_0 \cdot W(x) \cdot \cos(2\pi/T \cdot t), \quad x \text{ in }[0; L], \text{ where} \\ W(x) &= \cos(k_1 \cdot x) - \cosh(k_1 \cdot x) - 0.7340955138 \cdot (\sin(k_1 \cdot x) - \sinh(k_1 \cdot x)), \\ k_1 = &1.875104069 / L, \quad L = \text{length of beam.}\end{split}\]This is a Bernoulli-like beam simulation (L >> A).
In a separate test the reaction force and moment at the fixed support are verified.
Free bending vibration test around z-axis, zero initial velocities
The element discretization is a regular grid of 100x1 elements of type
B2.S.RS. Displacements, velocities and accelerations for all cycles are verified for the second DOF (deflection) of the last node. The analytical solution is given by following expression:\[\begin{split}w(x; t) &= -w_0 \cdot W(x) \cdot \cos(2\pi/T \cdot t), \quad x \text{ in }[0; L], \text{ where} \\ W(x) &= \cos(k_1 \cdot x) - \cosh(k_1 \cdot x) - 0.7340955138 \cdot (\sin(k_1 \cdot x) - \sinh(k_1 \cdot x)), \\ k_1 = &1.875104069 / L, \quad L = \text{length of beam.}\end{split}\]This is a Bernoulli-like beam simulation (L >> A).
In a separate test the reaction force and moment at the fixed support is verified.
Free longitudinal vibration test, zero initial velocities
The element discretization is a regular grid of 10x1 elements of type
B2.S.RS. Displacements, velocities and accelerations for all cycles are verified for the first DOF (stretch) of the last node. The analytical solution is given by following expression:\[u(x; t) = u_0 \cdot \sin(\pi/2/L \cdot x) \cdot \cos(2\pi/T \cdot t), \quad x \text{ in } [0; L].\]In a separate test the reaction force at the fixed support are verified.
8.1.1.3. Transient Tests
8.1.1.3.1. Hexahedrak Tests
8.1.1.3.1.1. Hexahedral Element Tests (HE8.HEAT.CONDUCTION)
Note
Location of verification case:
verification/monolithic_solver/elements/linear/transient/hexahedral
The thermal transient linear hexahedral tests comprise the following test cases for different types of load applications:
Initial temperature field and time invariant boundary temperatures.
The element discretization is a regular grid of 30x1 elements of type HE8.HEAT.CONDUCTION.
8.1.2. Nonlinear Tests
8.1.2.1. Static Tests
8.1.2.1.1. Hexahedral Element Tests (HE8.S.TL)
Note
Location of verification case:
verification/monolithic_solver/elements/nonlinear/static/hexahedral
The nonlinear static hexahedral tests comprise the following test cases for different types of load applications and element numbers:
NBC control in global X-direction (one cycle, i.e. step size is 1)
NBC control in global X-direction (four cycles, i.e. step size is 0.25)
EBC control in global Z-direction (one cycle, i.e. step size is 1)
EBC control in global Z-direction (four cycles, i.e. step size is 0.25)
The element discretization is a regular grid of 1x1x1 or 3x3x3 elements of type
HE8.S.TL.
8.1.2.1.2. Quadrilateral Element Tests (Q4.S.2D.TL)
Note
Location of verification case:
verification/monolithic_solver/elements/nonlinear/static/quadrilateral
The nonlinear static quadrilateral tests comprise the following test cases for different types of load applications and element numbers:
NBC control in global X-direction (one cycle, i.e. step size is 1)
NBC control in global X-direction (four cycles, i.e. step size is 0.25)
EBC control in global Y-direction (one cycle, i.e. step size is 1)
EBC control in global Y-direction (four cycles, i.e. step size is 0.25)
The element discretization is a regular grid of 1x1 or 6x6 elements of type
Q4.S.2D.TL.
8.1.2.1.3. Rod Element Tests (R2.S)
Note
Location of verification case:
verification/monolithic_solver/elements/nonlinear/static/rod
The nonlinear static rod tests comprise the following test cases for different types of load applications and element numbers:
NBC control in global X-direction (one cycle, i.e. step size is 1)
NBC control in global X-direction (four cycles, i.e. step size is 0.25)
EBC control in global X-direction (one cycle, i.e. step size is 1)
EBC control in global X-direction (four cycles, i.e. step size is 0.25)
The element discretization is a regular grid of 1 or 6 elements of type R2.S.
8.1.2.2. Dynamic Tests
8.1.2.2.1. Hexahedral Element Tests (HE8.S.TL)
Note
Location of verification case:
verification/monolithic_solver/elements/nonlinear/dynamic/hexahedral
The nonlinear dynamic hexahedral tests comprise the following test cases for different tpyes of load applications and element numbers:
NBC control in global X-direction:
The prescribed forces are applied as
\[F(t) = t + 1.5 * t^2 + 0.5 * t^3,\]yielding a displacement field u(t) = t. Thus, the velocities are constant over time and the accelerations vanish completely.
EBC control in global Z-direction:
The prescribed displacements are applied as
\[u(t) = t.\]Thus, the velocities are constant over time and the accelerations vanish completely.
TODO: Test for no convergence which should throw an exception (only one element)
The element discretization is a regular grid of 1x1x1 or 3x3x3 elements of type
HE8.S.TL.
8.1.2.2.2. Quadrilateral Element Tests (Q4.S.2D.TL)
Note
Location of verification case:
verification/monolithic_solver/elements/nonlinear/dynamic/quadrilateral
The nonlinear dynamic quadrilateral tests comprise the following test cases for different tpyes of load applications and element numbers:
NBC control in global X-direction:
The prescribed forces are applied as
\[F(t) = t + 1.5 * t^2 + 0.5 * t^3,\]yielding a displacement field u(t) = t. Thus, the velocities are constant over time and the accelerations vanish completely.
EBC control in global Y-direction:
The prescribed displacements are applied as
\[u(t) = t.\]Thus, the velocities are constant over time and the accelerations vanish completely.
The element discretization is a regular grid of 1x1 or 6x6 elements of type
Q4.S.2D.TL.
8.1.2.2.3. Rod Element Tests (R2.S)
Note
Location of verification case:
verification/monolithic_solver/elements/nonlinear/dynamic/rod
The nonlinear dynamic rod tests comprise the following test cases for different tpyes of load applications and element numbers:
NBC control in global X-direction:
The prescribed forces are applied as
\[F(t) = t + 1.5 * t^2 + 0.5 * t^3,\]yielding a displacement field u(t) = t. Thus, the velocities are constant over time and the accelerations vanish completely.
TODO: EBC control in global X-direction:
The prescribed displacements are applied as
Thus, the velocities are constant over time and the accelerations vanish completely.
The element discretization is a regular grid of 1 or 6 elements of type R2.S.
8.1.2.3. Transient Tests
8.1.2.3.1. Thermal Tests
8.1.2.3.1.1. Hexahedral Element Tests (HE8.HEAT.CONDUCTION)
Note
Location of verification case:
verification/monolithic_solver/elements/nonlinear/transient/thermal/hexahedral
The thermal transient nonlinear hexahedral tests comprise the following test cases for different types of load applications:
Initial temperature field and time invariant boundary temperatures. This test is the same as in the linear case, but solved with the nonlinear solver.
The element discretization is a regular grid of 30x1 elements of type HE8.HEAT.CONDUCTION.
8.2. Logic Tests
8.2.1. Autospc Tests
Note
Location of verification case:
verification/monolithic_solver/logic/autospc
The autospc tests comprise the following test cases:
2D truss linear static example where the third dimension is fixed using the
autospccommand.2D truss nonlinear static example where the third dimension is fixed using the
autospccommand.
8.2.2. Boundary Condition Tests
8.2.2.1. Prescribed Edge Boundary Conditions Tests
Note
Location of verification case:
verification/monolithic_solver/logic/stages/edge
The tests for prescribed edge boundary conditions comprise the following test cases:
Prescribed edge displacement in X- and Y-direction using three stages (time-dependent EBC’s):
EDGE 2: UX . ´|` Stage 2 0.4 -| x x x | x | Stage 1 x x Stage 3 0.2 -| x | x x | x x___________________________________x_______`. Time 0 1 2 3 4 5 6 ´ EDGE 3: UY . ´|` Stage 2 0.30 -| x x x | x | Stage 1 x x Stage 3 0.15 -| x | x x | x x___________________________________x_______`. Time 0 1 2 3 4 5 6 ´Prescribed edge force (line load) in X- and Y-direction using three stages (time-dependent NBC’s):
EDGE 2: FX_2 . ´|` Stage 2 0.8 -| x x x | x | Stage 1 x x Stage 3 0.4 -| x | x x | x x___________________________________x_______`. Time 0 1 2 3 4 5 6 ´ EDGE 3: FY_3 . ´|` Stage 2 0.6 -| x x x | x | Stage 1 x x Stage 3 0.3 -| x | x x | x x___________________________________x_______`. Time 0 1 2 3 4 5 6 ´
8.2.2.2. Prescribed Nodal Boundary Conditions Tests
Note
Location of verification case:
verification/monolithic_solver/logic/stages/node
The tests for prescribed nodal boundary conditions comprise the following test cases:
Prescribed nodal displacement at node 3 in X-direction using three stages:
UX_2 . ´|` Stage 2 0.4 -| x x x | x | Stage 1 x x Stage 3 0.2 -| x | x x | x x___________________________________x_______`. Time 0 1 2 3 4 5 6 ´Prescribed nodal force at node 3 in X-direction using three stages:
FX_2 . ´|` Stage 2 0.4 -| x x x | x | Stage 1 x x Stage 3 0.2 -| x | x x | x x___________________________________x_______`. Time 0 1 2 3 4 5 6 ´
8.2.2.3. Prescribed Surface Boundary Conditions Tests
Note
Location of verification case:
verification/monolithic_solver/logic/boundary_conditions/face
The tests for prescribed surface boundary conditions comprise the following test cases:
Prescribed surface displacement in X-, Y- and Z-direction using three stages (time-dependent EBC’s):
FACE 2: UX . ´|` Stage 2 0.4 -| x x x | x | Stage 1 x x Stage 3 0.2 -| x | x x | x x___________________________________x_______`. Time 0 1 2 3 4 5 6 ´ FACE 4: UY . ´|` Stage 2 0.30 -| x x x | x | Stage 1 x x Stage 3 0.15 -| x | x x | x x___________________________________x_______`. Time 0 1 2 3 4 5 6 ´ FACE 6: UZ . ´|` Stage 2 0.2 -| x x x | x | Stage 1 x x Stage 3 0.1 -| x | x x | x x___________________________________x_______`. Time 0 1 2 3 4 5 6 ´Prescribed surface tractions (surface load) in X-, Y- and Z-direction using three stages (time-dependent NBC’s):
FACE 2: FX_2 . ´|` Stage 2 0.4 -| x x x | x | Stage 1 x x Stage 3 0.2 -| x | x x | x x___________________________________x_______`. Time 0 1 2 3 4 5 6 ´ FACE 4: FY_4 . ´|` Stage 2 0.30 -| x x x | x | Stage 1 x x Stage 3 0.15 -| x | x x | x x___________________________________x_______`. Time 0 1 2 3 4 5 6 ´ FACE 6: FZ_6 . ´|` Stage 2 0.2 -| x x x | x | Stage 1 x x Stage 3 0.1 -| x | x x | x x___________________________________x_______`. Time 0 1 2 3 4 5 6 ´
8.2.3. Case Tests
Note
Location of verification case:
verification/monolithic_solver/logic/cases
The case tests comprise the following test cases:
Solve three cases at once in a linear static analysis
Same as before, but check for gradient computation
Solve two cases at once in a linear dynamic analysis
8.2.4. Newton Iteration Tests
Note
Location of verification case:
verification/monolithic_solver/logic/iteration
The Newton iteration tests comprise the following test cases:
Test for no convergence when using the conventional Newton method. This should throw an exception (only one element)
Using the modified Newton method (both for a single pseudo time step and three time steps).
8.2.5. Join Tests
Note
Location of verification case:
verification/monolithic_solver/logic/join
The join tests comprise the following test cases:
Check for proper internal processing of joined nodes for a thermal problem with convective boundary elements. Different combinations of the ebc and the join commands are used:
ebc + join,
join + ebc (reverse order),
only join
Check for proper internal processing of joined nodes for a thermal problem with convective boundary elements as in 1), but with different ordering of the elements block inside the MDL file. Different combinations of the ebc and the join commands are used:
ebc + join,
join + ebc (reverse order),
only join
Check for proper internal processing of multiple joined nodes of a rod system for both prescribed forces and prescribed displacements.