|
| | 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 | 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.
|
| |
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