#include "b2solver.H"
Public Types | |
enum | Hints { none = 0 , unfinished = 1 , diverge = 2 , degradation = 4 , terminate_analysis = 5 } |
Public Member Functions | |
SolverHints & | clear () |
SolverHints & | add (const Hints &other_hints) |
SolverHints & | add (const SolverHints &other) |
SolverHints & | operator|= (const Hints &other_hints) |
SolverHints & | operator|= (const SolverHints &other) |
int | operator* () const |
![]() | |
virtual const std::string & | get_object_name () const |
virtual | ~Object () |
Additional Inherited Members | |
![]() | |
static ObjectType | type |
Element, ElementProperty, and BoundaryCondition instances may specify hints to the (nonlinear) Solver instance. Hints may be combined.
This class is implemented in thread-safe manner.
A fracture element could specify hints to the Solver instance in the following way in the Element::get_value() function:
Defines what hints may be specified.
Enumerator | |
---|---|
none | No hints. |
unfinished | Tell the Solver instance to perform another Newton iteration, even if the convergence criteria will be met after the current Newton iteration. Used for progressive damage and fracture, for example. |
diverge | Tell the Solver instance to consider the current iteration diverged. |
degradation | Inform the Solver instance that degradation was performed in the current Newton iteration. The Solver instance will re-set the convergence statistics. |
terminate_analysis | Inform the Solver instance that the analysis should be terminated. Used in multi-disciplinary loose-coupling analysis where the solver is steered externally via a dedicated boundary condition object. |
|
inline |
Add hints. Hints may be combined by means of binary-or.
|
inline |
Add hints from another SolverHints instance.
|
inline |
Remove any hints. Should not be used except by Solver instances.
|
inline |
|
inline |
Add hints. Hints may be combined by means of binary-or.
|
inline |
Add hints from another SolverHints instance.