**solver
#
Description#
This command defines the solution method for the simulation. The default solver is an explicit Runge-Kutta method. In some cases, the Runge-Kutta integration may not be available for a material model, or greater efficiency can be achieved with use of the implicit integration. However, use of an implicit solution allows the possibility of divergence. Which approach to use varies greatly with the problem at hand, and some experimentation and experience may be required to find the best choice.
Many of the convergence control options below follow the same syntax as in the Zebulon FEA solver. In fact, the solution parallels very closely the RVE element, but gives improved efficiency and convenience with the other simulation options.
The current solvers available are as follows 1versions before 8.2 do not allow the explicit
keyword, it is
activated by the absence of a **solver
entry.
Solvers |
Description |
---|---|
|
default explicit solution |
|
iterative solution. |
Explicit method#
The solution of mixed loading in the explicit solver requires some
additional equations for the model derivative
function (the
function returning rates for all state variables as a function of the
current state). This discussion applies primarily to the mechanical
solution procedure, while other simulation models would have a similar
formulation requirement.
Fundamentally, because the solver needs to support a mixed combination of stress and strain rates, we need to write the complete equation for the rate of change in stress:
For rate dependant behaviors, \(\dot{\ten{\varepsilon}}_{in}\), \(\dot{\ten{ \varepsilon}}_{th}\), and \(\dot{\ten \varepsilon}_{el}\) are known, while for rate independent behaviors the inelastic strain rate is a function of the total strain rate, normally of the form:
This term, while not greatly complicating the solution, may not be
handled in the simulation solution for a particular model 2starting with 8.2 rate independent plasticity is handled by
gen_evp
and some ZebFront demonstration models. In that
event a rate dependant flow law must be used, for example using a norton
law with very small viscosity to approximate rate independence.
The basic solution proceedure rearranges the mixed equations to first solve for the total strain rates, and then resubstituting them into the basic rate equation to find \(dsig\). For example, a 2D solution could take the form:
From which the following equation would be extracted:
Syntax#
The solver syntax accepts a number of options which determine the convergence and automatic time stepping controls (primarily applicable to the newton solver). syntax:
**solver
[ type ]
\(~\,\) *algorithm
algo-type
\(~\,\) *automatic_time
\(~\,\) *divergence
factor
\(~\,\) *iteration
iter
\(~\,\) *iter_optimal
opt-iter
\(~\,\) *max_dtime
max-time
\(~\,\) *min_dtime
min-time
\(~\,\) *ratio
ratio
\(~\,\) *security
sec
*algorithm
*automatic_time
*divergence
*iteration
*iter_optimal
*max_dtime
*min_dtime
*ratio
*security