|
dynLattice
|
Base class for explicit time integration schemes. More...
#include "ExplicitModule.h"


Public Types | |
| enum | MassMode { LUMPED , CONSISTENT } |
| Mass matrix formulation modes. More... | |
Public Member Functions | |
| virtual Status | init (const Properties &conf, const Properties &props, const Properties &globdat) override |
| Initialize the module. | |
| virtual void | shutdown (const Properties &globdat) override |
| Shutdown the module. | |
| virtual void | configure (const Properties &props, const Properties &globdat) override |
| Configure the module from properties. | |
| virtual void | getConfig (const Properties &props, const Properties &globdat) const override |
| Get current module configuration. | |
| virtual void | advance (const Properties &globdat) override |
| Advance to next time step. | |
| virtual void | solve (const Properties &info, const Properties &globdat) override=0 |
| Solve current time step (pure virtual) | |
| virtual void | cancel (const Properties &globdat) override |
| Cancel current solution attempt. | |
| virtual bool | commit (const Properties &globdat) override |
| Compute next step size and commit solution. | |
| virtual void | setPrecision (double eps) override |
| Set convergence precision. | |
| virtual double | getPrecision () const override |
| Get current convergence precision. | |
Static Public Attributes | |
Property identifiers | |
| static const char * | TYPE_NAME = "Explicit" |
| Module type name. | |
| static const char * | STEP_COUNT = "stepCount" |
| Step count property. | |
| static const char * | SO3_DOFS = "dofs_SO3" |
| SO(3) DOF types property. | |
| static const char * | LEN_SCALE = "lengthScale" |
| Length scale property. | |
Protected Member Functions | |
| ExplicitModule (const String &name="") | |
| Protected constructor. | |
| virtual | ~ExplicitModule () |
| Protected destructor. | |
| void | updateMass_ (const Properties &globdat) |
| Update mass matrix. | |
| void | invalidate_ () |
| invalidate_ current state | |
| void | ABupdate (const Vector &delta_y, const Vector &f_cur, const Vector &f_old) const |
| Adams-Bashforth 2-step update. | |
| void | ABupdate (const Vector &delta_y, const Vector &f_cur) const |
| Adams-Bashforth 1-step update (explicit Euler) | |
| void | updateVec (const Vector &y_new, const Vector &y_old, const Vector &delta_y, const bool rot=false) |
| Update displacement vectors with optional SO(3) handling. | |
| void | getAcce (const Vector &a, const Ref< Constraints > &cons, const Vector &fres, const Properties &globdat) |
| Get acceleration and return resulting force vector. | |
| Vector | getForce (const Vector &fint, const Vector &fext, const Properties &globdat) |
| Get force vector. | |
| double | getQuality (const Vector &y_pre, const Vector &y_cor) |
| Get solution quality measure. | |
Protected Attributes | |
Module state | |
| bool | valid_ |
| State validity flag. | |
Time stepping parameters | |
| double | dtime_ |
| Current time step size. | |
| double | prec_ |
| Precision tolerance. | |
| double | minDtime_ |
| Minimum time step size. | |
| double | maxDtime_ |
| Maximum time step size. | |
| double | saftey_ |
| Safety factor for step size control. | |
| double | incrFact_ |
| Step size increase factor. | |
| double | decrFact_ |
| Step size decrease factor. | |
Integration parameters | |
| MassMode | mode_ |
| Mass matrix mode. | |
| idx_t | order_ |
| Integration order. | |
| double | lenScale_ |
| Characteristic length scale. | |
DOF management | |
| Ref< Function > | updCond_ |
| Update condition function. | |
| Vector | massInv_ |
| Inverse mass matrix. | |
| IdxVector | dofsSO3_ |
| SO(3) DOF type indices. | |
| IdxMatrix | rdofs_ |
| Rotational DOF mapping. | |
System components | |
| Ref< Model > | model_ |
| Root of the model tree. | |
| Ref< DofSpace > | dofs_ |
| Degree of freedom space. | |
| Ref< Constraints > | cons_ |
| Constraint manager. | |
| Ref< Solver > | solver_ |
| Linear solver. | |
Provides foundation for explicit solvers with support for rotational DOFs, adaptive time stepping, and both lumped and consistent mass matrices. Handles special integration of SO(3) rotational degrees of freedom using exponential maps.
|
explicitprotected |
| name | Module name |
|
protectedvirtual |
|
inlineprotected |
| delta_y | Displacement increment |
| f_cur | Current force vector |
|
inlineprotected |
| delta_y | Displacement increment |
| f_cur | Current force vector |
| f_old | Previous force vector |
|
overridevirtual |
| globdat | Global data container |
|
overridevirtual |
| globdat | Global data container |
|
overridevirtual |
| globdat | Global data container |
|
overridevirtual |
| props | User-specified module properties |
| globdat | Global data container |
|
protected |
| a | Acceleration vector (output) |
| cons | Constraint manager |
| fres | Resulting force vector |
| globdat | Global data container |
|
overridevirtual |
| props | Actually used configuration properties (output) |
| globdat | Global data container |
|
protected |
| fint | Internal force vector |
| fext | External force vector |
| globdat | Global data container |
|
overridevirtual |
|
protected |
| y_pre | Predicted solution |
| y_cor | Corrected solution |
|
overridevirtual |
| conf | Actually used configuration properties (output) |
| props | User-specified module properties |
| globdat | Global data container |
Reimplemented in EmbeddedRKModule.
|
protected |
|
overridevirtual |
| eps | Convergence tolerance |
|
overridevirtual |
| globdat | Global data container |
|
overridepure virtual |
| info | Solver information |
| globdat | Global data container |
Implemented in EmbeddedRKModule, LeapFrogModule, and MilneDeviceModule.
|
protected |
| globdat | Global data container |
|
protected |
| y_new | New displacement vector |
| y_old | Old displacement vector |
| delta_y | Displacement increment |
| rot | Flag for rotational DOFs |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
static |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
static |
|
protected |
|
static |
|
static |
|
protected |
|
protected |