19.2. Control Reaction Diffusion
Implicit only
For implicit analyses, it is recommended to use the alternating minimization strategy to iterate between the phase-field update and displacement solution to ensure that an equilibrium state is reached. This is crucial for temporal convergence for implicit analyses with large time-steps.
Explicit only
For explicit analyses, it is assumed that the time-step is sufficiently small that the phase field is never far from equilibrium, so iteration between the two problems is unnecessary. In fact, given the relative cost of the phase-field solve compared to the explicit integration of the displacement system, alternating minimization would be prohibitively expensive.
The CONTROL REACTION DIFFUSION block within the implicit solver block provides the means to perform this iteration. Using this capability, the solver iterates between the displacement solve and the phase field solve until either convergence is realized or the maximum number of iterations is reached. Convergence is assessed using the displacement system residual immediately after the phase field solve; if the phase field update does not throw the displacement system out of equilibrium, it is said to have converged.
Note
The phase field residual is not explicitly assessed. Implementation of a coupled energy-residual norm is under consideration.
Warning
Due to the additional level of iteration, it is not recommended to use CONTROL REACTION DIFFUSION together with other control iterations such as CONTROL CONTACT, CONTROL STIFFNESS, CONTROL FAILURE, or CONTROL DAMPED SOLVE.
BEGIN CONTROL REACTION DIFFUSION
ACCEPTABLE RELATIVE RESIDUAL = <real>accept_rel_resid
ACCEPTABLE RESIDUAL = <real>accept_resid
TARGET RELATIVE RESIDUAL = <real>target_rel_resid
TARGET RESIDUAL = <real>target_resid
ITERATION PLOT = <integer>iplot
ITERATION PLOT OUTPUT BLOCKS = <string_list>plot_blocks
LEVEL = <integer>control_rxndiff_level(1)
MAXIMUM ITERATIONS = <integer>max_iter(100)
MINIMUM ITERATIONS = <integer>min_iter(0)
REFERENCE = EXTERNAL|INTERNAL|RESIDUAL|BELYTSCHKO|ENERGY(EXTERNAL)
RESIDUAL NORM TYPE = ALL|ALLTRANSLATION|SCALE_RB_ROTATIONS(ALL)
RESIDUAL ROUNDOFF TOLERANCE = <real>resid_roundoff_tol
END
The commands in the CONTROL REACTION DIFFUSION mirror those found in other Sierra/SM control blocks.