#include "b2type.H"
Public Member Functions | |
EquilibriumSolution (signed char input_level_, signed char output_level_, double distance_to_iterative_convergence_=-1) | |
EquilibriumSolution (bool b) | |
operator bool () const | |
Public Attributes | |
double | distance_to_iterative_convergence |
signed char | input_level |
signed char | output_level |
Contains information about iterative analysis and for Element, ElementProperty, and BoundaryCondition instances that are path-dependent.
Input and output levels are important for the state management performed by the Solver instance. This state management allows e.g. for re-starting the current load increment with a previous state (the state of the last converged load increment).
Path-dependent objects should attempt to "know" what value for input_level or output_level means what solver state. Instead, they should group the information describing a state (e.g. damage variable or element-updated reference frame) in a structure and have 3 of them arranged in an array:
These states are then used as follows: In the function performing the work (e.g. Element::get_value()), the input state must be first copied to the output state, and from then on, work should performed with the output state only.
|
inline |
Initialized by the Solver object.
|
inline |
Initialized by the Solver object.
|
inline |
Whether equilibrium has been reached. This is used by Element, ElementProperty, and BoundaryCondition instances to change their stateful data, e.g. to re-compute the element-updated reference frame.
double b2000::EquilibriumSolution::distance_to_iterative_convergence |
A double giving a measure of the distance of the current solution to the expected convergence tolerance. 1 or less means that the solution is converged. A negative value (-1) indicates that the distance is not (yet) defined.
signed char b2000::EquilibriumSolution::input_level |
The input level.
signed char b2000::EquilibriumSolution::output_level |
The output level.