7 beta_ = params.at(
"gamma");
47 return ((prev_ti == 1 ? (-c /
dt()) : 0)
48 + (1 - c) *
dv_dx(prev_ti - 1)
49 + (1 - c / 2) *
dt() *
da_dx(prev_ti - 1));
58 return (
dv_dx(prev_ti)
double beta() const
parameter for blending accelerations in the solution update.
double acceleration_scaling() const override
Compute the acceleration scaling used to scale forces when integrating a second order ODE.
double da_dx(const unsigned prev_ti=0) const
double gamma_
parameter for blending accelerations in the velocity update.
double beta_
parameter for blending accelerations in the solution update.
Eigen::VectorXd x_tilde() const override
Compute the predicted solution to be used in the inertia term .
void set_parameters(const json ¶ms) override
Set the gamma and beta parameters from a json object.
double gamma() const
parameter for blending accelerations in the velocity update.
Eigen::VectorXd compute_velocity(const Eigen::VectorXd &x) const override
Compute the current velocity given the current solution and using the stored previous solution(s).
Eigen::VectorXd compute_acceleration(const Eigen::VectorXd &v) const override
Compute the current acceleration given the current velocity and using the stored previous velocity(s)...
double dv_dx(const unsigned prev_ti=0) const override
Compute the derivative of the velocity with respect to the solution.
void update_quantities(const Eigen::VectorXd &x) override
Update the time integration quantities (i.e., , , and ).
const Eigen::VectorXd & v_prev() const
Get the most recent previous velocity value.
const Eigen::VectorXd & x_prev() const
Get the most recent previous solution value.
void set_a_prev(const Eigen::VectorXd &a_prev)
Convenience functions for setting the most recent previous acceleration.
void set_v_prev(const Eigen::VectorXd &v_prev)
Convenience functions for setting the most recent previous velocity.
const double & dt() const
Access the time step size.
const Eigen::VectorXd & a_prev() const
Get the most recent previous acceleration value.
void set_x_prev(const Eigen::VectorXd &x_prev)
Convenience functions for setting the most recent previous solution.