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 autospc command.

  • 2D truss nonlinear static example where the third dimension is fixed using the autospc command.

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       ´
    
  • Application of surface flux (e.g. for thermal heat analysis) in the global Y-direction using hexahedral elements generatedd by an EPATCH command.

  • Same as before, but the faces where the surface flux is applied is identified using the FACESET command.

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:

    1. ebc + join,

    2. join + ebc (reverse order),

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

    1. ebc + join,

    2. join + ebc (reverse order),

    3. only join

  • Check for proper internal processing of multiple joined nodes of a rod system for both prescribed forces and prescribed displacements.

8.3. Material Tests