Keyword type: step

This procedure is used to calculate the response of a structure subject to dynamic loading using a direct integration procedure of the equations of motion.

There are five optional parameters: DIRECT, ALPHA, EXPLICIT, SOLVER and RELATIVE TO ABSOLUTE. The parameter DIRECT specifies that the user-defined initial time increment should not be changed. In case of no convergence with this increment size, the calculation stops with an error message. If this parameter is not set, the program will adapt the increment size depending on the rate of convergence. The parameter ALPHA takes an argument between -1/3 and 0. It controls the dissipation of the high frequency response: lower numbers lead to increased numerical damping ([55]). The default value is -0.05.

The parameter EXPLICIT can take the following values:

If the value is lacking, 3 is assumed. If the parameter is lacking altogether, a zero value is assumed.

The parameter SOLVER determines the package used to solve the ensuing system of equations. The following solvers can be selected:

Default is the first solver which has been installed of the following list: SGI, PaStiX, PARDISO, SPOOLES and TAUCS. If none is installed, the default is the iterative solver, which comes with the CalculiX package.

The SGI solver should by now be considered as outdated.SPOOLES is very fast, but has no out-of-core capability: the size of systems you can solve is limited by your RAM memory. With 32GB of RAM you can solve up to 1,000,000 equations. TAUCS is also good, but my experience is limited to the $ LL^T$ decomposition, which only applies to positive definite systems. It has an out-of-core capability and also offers a $ LU$ decomposition, however, I was not able to run either of them so far. PARDISO is the Intel proprietary solver and is about a factor of two faster than SPOOLES. The most recent solver we tried is the freeware solver PaStiX from INRIA. It is really fast and can use the GPU. For large problems and a high end Nvidea graphical card (32 GB of RAM) we got an acceleration of a factor between 3 and 8 compared to PARDISO. We modified PaStiX for this, therefore you have to download PaStiX from our website and compile it for your system. This can be slightly tricky, however, it is worth it!

What about the iterative solver? If SOLVER=ITERATIVE SCALING is selected, the pre-conditioning is limited to a scaling of the diagonal terms, SOLVER=ITERATIVE CHOLESKY triggers Incomplete Cholesky pre-conditioning. Cholesky pre-conditioning leads to a better convergence and maybe to shorter execution times, however, it requires additional storage roughly corresponding to the non-zeros in the matrix. If you are short of memory, diagonal scaling might be your last resort. The iterative methods perform well for truly three-dimensional structures. For instance, calculations for a hemisphere were about nine times faster with the ITERATIVE SCALING solver, and three times faster with the ITERATIVE CHOLESKY solver than with SPOOLES. For two-dimensional structures such as plates or shells, the performance might break down drastically and convergence often requires the use of Cholesky pre-conditioning. SPOOLES (and any of the other direct solvers) performs well in most situations with emphasis on slender structures but requires much more storage than the iterative solver.

Finally, the parameter RELATIVE TO ABSOLUTE can be used if the coordinate system in the previous step was attached to a rotating system and the coordinate system in the present dynamic step should be absolute. In that case, the velocity of the rotating system is added to the relative velocity obtained at the end of the previous step in all nodes belonging to elements in which centrifugal loading was defined. Thereafter, the centrifugal loading is deactivated. For instance, suppose that you start a calculation with a *STATIC step with a centrifugal load, i.e. all quantities are determined in the relative, rotating system. In a subsequent dynamic step you want to continue the calculation in the absolute system. In that case you need the parameter RELATIVE TO ABSOLUTE.

In a dynamic step, loads are by default applied by their full strength at the start of the step. Other loading patterns can be defined by an *AMPLITUDE card.

First line:

Second line:



defines an explicit dynamic procedure with fixed time increment $ 10^{-7}$ for a step of length $ 10^{-5}$.


defines an implicit dynamic procedure with variable increment size. The numerical damping was increased ( $ \alpha = -0.3$ instead of the default $ \alpha = -0.05$, and the iterative solver with Cholesky pre-conditioning was selected. The starting increment has a size $ 10^{-7}$, the subsequent increments should not have a size smaller than $ 10^{-9}$ or bigger than $ 10^{-6}$. The step size is $ 10^{-5}$.

Example files: beamnldy, beamnldye, beamnldyp, beamnldype.