|
| | LeapFrogModule (const String &name="leapFrog") |
| | Constructor.
|
| |
| virtual void | solve (const Properties &info, const Properties &globdat) override |
| | Solve using leap-frog integration scheme.
|
| |
| 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 | 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.
|
| |
|
| virtual | ~LeapFrogModule () |
| | Protected destructor.
|
| |
| | ExplicitModule (const String &name="") |
| | Protected constructor.
|
| |
| virtual | ~ExplicitModule () |
| | Protected destructor.
|
| |
| void | updateMass_ (const Properties &globdat) |
| | Update mass matrix.
|
| |
| void | invalidate_ () |
| | invalidate_ current state
|
| |
| void | evalCommittedForce_ (const Properties &globdat) |
| | Evaluate the internal force at the committed state.
|
| |
| void | publishCommittedForce_ (const Properties &globdat) |
| | Publish the internal force of the committed state in globdat Not compatible with TangentOutputModule. With a consistent mass a reference to the mass matrix of the finished step is published as well (MASS_MATRIX), so that output modules can evaluate the gyroscopic force on demand (GET_GYRO_VECTOR); the solver itself does not use it.
|
| |
| void | dropCommittedForce_ (const Properties &globdat) |
| | Remove the published forces again (they are no longer valid)
|
| |
| void | updRotMask_ () |
| | Rebuild the rotational DOF mask from rdofs_.
|
| |
| 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.
|
| |
|
| enum | MassMode { LUMPED
, CONSISTENT
} |
| | Mass matrix formulation modes. More...
|
| |
| bool | valid_ |
| | State validity flag.
|
| |
| bool | fintCacheValid_ |
| | True between commit and the next state change.
|
| |
| Vector | fintCache_ |
| | Internal force (without gyroscopic term) at the committed state.
|
| |
| Vector | fintCacheDisp_ |
| | Displacements the cached force belongs to.
|
| |
| 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.
|
| |
| MassMode | mode_ |
| | Mass matrix mode.
|
| |
| idx_t | order_ |
| | Integration order.
|
| |
| double | lenScale_ |
| | Characteristic length scale.
|
| |
| Ref< Function > | updCond_ |
| | Update condition function.
|
| |
| Vector | massInv_ |
| | Inverse mass matrix.
|
| |
| IdxVector | dofsSO3_ |
| | SO(3) DOF type indices.
|
| |
| IdxMatrix | rdofs_ |
| | Rotational DOF mapping.
|
| |
| BoolVector | isRotDof_ |
| | Mask of rotational DOFs (rebuilt with rdofs_)
|
| |
| 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.
|
| |
Implements the leap-frog time integration scheme for explicit dynamic analysis. This method uses a staggered time stepping approach where:
- Positions are computed at integer time steps (n, n+1, n+2, ...)
- Velocities are computed at half time steps (n+1/2, n+3/2, ...)
- Accelerations are computed at integer time steps
The leap-frog method is symplectic and second-order accurate, making it well-suited for long-time dynamic simulations where energy conservation is important. It inherits basic explicit integration functionality from ExplicitModule.
- See also
- Leap-frog integration