Engine
backward_euler.h
1 #ifndef BACKWARD_EULER_H
2 #define BACKWARD_EULER_H
3 #include "time_integrator.h"
4 
9 {
10  public:
14  BackwardEuler();
15 
22  BackwardEuler(GLfloat dt, GLfloat threshold, GLuint max_iter);
23 
24  private:
25  GLfloat m_threshold; // if successive iterations are less than m_threshold halt
26  GLuint m_max_iter; // maximum number of iterations to run
27 
34  void Solve(
35  const NetForceAccumulator& net_force_accumulator,
36  const std::vector<std::shared_ptr<PhysicsEntity>> &entity_ptrs,
37  const std::shared_ptr<PhysicsEntity> entity_ptr);
38 
46  void ComputeJacobian(
47  const GLfloat mass,
48  const Eigen::Matrix<GLfloat,3,3> dFdx,
49  const Eigen::Matrix<GLfloat,3,3> dFdv,
50  Eigen::Matrix<GLfloat,6,6> &J) const;
51 };
52 #endif
BackwardEuler()
Definition: backward_euler.cpp:5
Implementation of Backward Euler method for solving Newton&#39;s Laws.
Definition: backward_euler.h:8
An abstact base class for all grid based numerical ODE solvers for Newton&#39;s laws. ...
Definition: time_integrator.h:11
Definition: net_force_accumulator.h:14