In a direct integration dynamic analysis, activated by the
*DYNAMIC keyword, the equation of motion is integrated in
time using the -method developed by Hilber, Hughes and Taylor
[57] (unless the massless contact method is selected; this method is treated
at the end of this section). The method is implemented exactly as described in
[20]. The parameter
lies in the interval [-1/3,0] and controls the high frequency dissipation:
=0 corresponds to the classical Newmark method inducing no dissipation at all, while
=-1/3 corresponds to maximum dissipation. The user can choose between an implicit and explicit version of the algorithm. The implicit version (default) is unconditionally stable.
In the explicit version, triggered by the parameter EXPLICIT in the *DYNAMIC
keyword card, the mass matrix is lumped, and a forward integration scheme is
used so that the solution can be calculated without solving a system of
equations. This corresponds to section 2.11.5 in [20]. The mass
matrix only has to be set up once at the start of each step and no stiffness
matrix is needed. Indeed, the terms in equation (2.475) in
[20] in which the matrix is used correspond to the internal
forces. They can be calculated directly from the stresses without need to set
up the stiffness matrix. Therefore, each increment is much faster than with the implicit
scheme. Furthermore, in the explicit method no iterations are
performed, so each increment consists of exactly one iteration. However, the
explicit scheme is only conditionally stable: in the
-method the maximum
time step
is dictated by:
![]() |
(413) |
where
is given by Equation (2.477) in [20] and
, which is the highest natural frequency of an element,
satisfies for volumetric elements:
![]() |
(414) |
where is the velocity of sound for the material at stake and
is the minimum height of the
element. For an isotropic material
satisfies [60]:
![]() |
(415) |
For the special case of single crystal materials, which are anistropic materials characterized by three independent elastic contants, the reader is referred to [60].
For the contact spring elements, the idealization of a spring with spring
constant connecting two nodes with nodal masses
and
is
used. For such a system one obtains:
![]() |
(416) |
where and
. For node-to-face penalty contact and
face-to-face penalty contact the nodal mass on the facial sides can be
obtained by using the shape functions at the spring location.
To accelerate explicit dynamic calculations mass scaling can be used [65]. It was introduced in CalculiX in the course of a Master Thesis [19]. Mass scaling is triggered by specifying the minimum time increment which the user wants to allow underneath the *DYNAMIC keyword (third parameter). If for any volumetric element the increment size calculated by CalculiX (based on the wave speed) is less than the minimum, the mass of this element is automatically scaled and redistributed such that the total mass of the element does not change. This is obtained by moving mass from the off-diagonal positions of the element mass matrix onto the diagonal. If any mass scaling takes place, a message is printed and the elements for which the mass was redistributed are stored in file “jobname_WarnElementMassScaled.nam”. This file can be read in any active cgx-session by typing “read jobname_WarnElementMassScaled.nam inp” and the elements can be appropriately visualized. For spring elements the mimimum time increment specified by the user is obtained by reducing the spring stiffness. CalculiX stores the maximum spring stiffness reduction to standard output.
Without a minimum time increment no mass scaling nor spring stiffness reduction is applied.
The following damping options are available:
For explicit dynamic calculations an additional hard contact formulation has been coded within a procedure characterized by:
From now on the method will be called the massless contact method. Its implementation closely follows the frictional flow diagram in [61]. From this publication it is clear that the contactless stiffness matrix is needed. The submatrix related to the contact degrees of freedom (master and slave) is used to set up and solve an inclusion problem in an implicit way. The other submatrices are used to calculate the right hand side of the dynamic equations. The left hand side of these equations is made up of a combination of the mass and damping matrix. It is assumed that these latter matrices do not change during the step, therefore, they can be factorized once at the beginning of the step.
Limitations right now include:
The method is triggered by using TYPE=MASSLESS on all *CONTACT PAIR cards in a *DYNAMIC, EXPLICIT procedure. Since the contact is hard, the only parameter is the friction coefficient.
For all dynamic calculations (implicit dynamics, explicit dynamics with penalty contact or explicit dynamics with massless contact) a energy balance can be requested. For implicit dynamics this is done by default, for explicit dynamics the balance is calculated if the user has requested the output variable ENER underneath a *EL PRINT, *EL FILE or *ELEMENT OUTPUT keyword.