2.2. Semi-Implicit Solution Controls

Following is a detailed discussion of all the control parameters available on the SEMIIMPLICIT,Option,Type, Value command.

Selective Mass Scaling (Option = MSCA)

During the semi-implicit phase, the automatic time incrementation follows internal logic such that the time increment is smaller than the stable time increment required for the semi-implicit solution. Commands such as DELTIM and NSUBST that control the time increments in an implicit solution are ignored.

The stable time increments for a typical quasi-static solution are very small, and it would take an inordinate amount of time to solve in the semi-implicit analysis. Therefore, the mass should be scaled to increase the stable time increment (see Stability and Selective Mass Scaling in the Theory Reference). The stable time increment increases proportional to the square root of the element mass.

Selective mass scaling is controlled by Option = MSCA on the SEMIIMPLICIT command. There are two ways you can define the mass scaling:

Type = DTIM: specify an initial time increment. For this method, the program automatically scales the mass of each element such that the initial stable time increment of the element is more than the user-specified time increment. Internal logic determines the time increment to use; therefore, the time increments used can be different than the one you specify. Once, the mass is scaled, the program keeps the scaled mass constant throughout the semi-implicit phase of the solution.
Type = MASS: specify a value to directly scale the mass of each element.

The first substep of the semi-implicit solution phase uses a time increment which is 1/10 of the program-calculated stable time increment.

If you do not want to include mass scaling, use Type = MASS and input a very small number in the Value field (for example, SEMIIMPLICIT,MSCA,MASS,1e-20). Do not use 0 as that will make the program scale the mass to the default value.

Factor of Safety for Time Incrementation (Option = SFAC)

The actual time increment to be used is determined by multiplying the stable time increment calculated by a factor of safety. The default factor of safety is 0.9. For some cases where the semi-implicit solution becomes unstable, it can be useful to reduce the factor of safety. For example, if you issue the following command:

SEMIIMPLICIT,SFAC, ,0.1

the default factor of safety (0.9) is overwritten by 0.1.

Bisections Based on Maximum Displacement Increment (Option = AUTS, Type = DSPL)

During the semi-implicit solution phase, if the maximum displacement increment changes more than 100 times that of the previous time increment, then the code automatically bisects and repeats the substep again. This is done to achieve a more stable and smoother solution during the semi-implicit phase. Any node with applied velocity or displacement boundary conditions is not included in this check.

Use a value smaller than the default of 100 if the semi-implicit solution shows signs of instability; for example, if parts held together by contact are flying away. You can control the allowable jump at which to trigger bisection by using the command:

SEMIIMPLICIT,AUTS,DSPL,10

Bisections in the semi-implicit solution phase work slightly different than in the implicit algorithm. The internal force does not change upon bisection as internal force is based on the displacement of the previous substep. Therefore, bisection can sometimes fail in reducing the displacement increment increase.

You can turn off bisection logic based on the displacement jump by inputting a value less than 1 in the above SEMIIMPLICIT command.

Bisections Based on Kinetic Energy to Potential Energy Ratio (Option = AUTS, Type = ENER)

In a static analysis, the default behavior for bisection in the semi-implicit solution phase differs from other analysis types. During the semi-implicit solution phase, if the kinetic energy is more than 100 times the potential energy and the potential energy is more than the program-calculated minimum reference, the semi-implicit solution bisects and tries to repeat the previous substep with a smaller time increment in an attempt to reduce the kinetic energy. The program-calculated minimum reference is a function of material properties and the model size.

If you want to trigger bisection at a different ratio than the default 100, or you want to trigger bisection for a transient analysis, use the following command:

SEMIIMPLICIT,AUTS,ENER,10

This triggers bisection whenever the kinetic energy is more than the user-specified ratio times the potential energy and the potential energy is more than the program-calculated reference value. In this case, the reference value is much smaller than the reference value used when this command is not specified so that bisections occur more often, even at low potential energy.

Bulk Viscosity (Option = BVIS)

During the semi-implicit solution, bulk viscosity is added to all elements except elements using incompressible materials. The force due to bulk viscosity can be controlled using Option = BVIS on the SEMIIMPLICIT command. Decreasing bulk viscosity improves accuracy, but the problem can become more unstable and harder to solve, and the response will show more oscillations. Increasing bulk viscosity generally improves solution stability.

Output Frequency (Option = EFRQ)

Since the number of substeps in the semi-implicit solution is significantly more than the implicit solution, the results files (file.rst) and the restart files (file.rnn) are written less frequently than in the implicit phase. The frequencies specified by the OUTRES command (for the results file) and the RESCONTROL command (for the restart files) are not honored during the semi-implicit solution phase unless a negative frequency value was input.

By default, output to the results file and the restart files are written after every 100 substeps in the semi-implicit phase. You can overwrite this default frequency by using Option = EFRQ on the SEMIIMPLICIT command. For example, specifying:

SEMIIMPLICIT,EFRQ,OUTR,1 
SEMIIMPLICIT,EFRQ,RESC,10

causes results to be written to file.rst at every substep of the semi-implicit solution phase, and restart files to be written at every 10th substep of the load step.

The SEMIIMPLICIT,EFRQ command must be issued after OUTRES or RESCONTROL.

Transitioning Back to Implicit After the Semi-Implicit Solution (Option = ETOI)

If you want the solution to attempt to come back to an implicit solution, specify this command:

SEMIIMPLICIT,ETOI,TIME,0.05

This command tells the solver to spend 0.05 time units in the semi-implicit solution phase and then attempt to come back to the implicit solution; the following message is displayed:

    >>> TRANSITIONING TO IMPLICIT METHOD

The first substep in the implicit solution phase after the transition uses the minimum time increment given by the NSUBST and DELTIM commands.

When the transition happens from a semi-implicit to an implicit static solve, the residual for equilibrium includes the inertia force generated in the semi-implicit phase. This inertial force needs to be balanced. At first, the external load and the residual from the semi-implicit phase are applied together, and the implicit solver tries to achieve convergence. If the solver fails to converge, it bisects; from then on only the residual from the semi-implicit phase is applied, and no additional external load is applied. You will see the following message to indicate that the substep is applying only the semi-implicit residual:

*** BEGIN BISECTION NUMBER   1    NEW REBALANCE FACTOR INCREMENT=   1.0000  

Further bisections will change the rebalance factor increment, indicating how much of the residual from the semi-implicit phase is being applied.

After the residual from the semi-implicit solution is completely rebalanced, the analysis proceeds with regular time incrementation and loading in the implicit run.

Sometimes, the implicit solver cannot rebalance the residual from the semi-implicit phase and converge fails. In such cases, the program then switches back to the semi-implicit solver and the counter is reset back to 0. The next attempt to come back to the implicit solver is made after the time interval specified on the SEMIIMPLICIT,ETOI,TIME command.

The example shown in Figure 2.1: Semi-Implicit Example Model transitions to the semi-implicit solution phase multiple times during the analysis.

When transitioning from the semi-implicit solution phase to the implicit solution phase, the program automatically turns on nonlinear stabilization (STABILIZE command). The stabilization force is applied as if the command STABILIZE,REDUCE,ENERGY has been issued. An energy-dissipation ratio between 0.01 and 0.05 is used, and it is reduced linearly to zero to the end of the load step. You can control the amount of stabilization by manually specifying the STABILIZE command, in which case it takes precedence over the program internal logic. However, during the transition phase where only the residual from the semi-implicit solution is applied and no additional external load is applied, stabilization is turned off.