7#ifndef SVZERODSOLVER_ALGEBRA_INTEGRATOR_HPP_
8#define SVZERODSOLVER_ALGEBRA_INTEGRATOR_HPP_
31 double time_step_size{0.0};
32 double ydot_init_coeff{0.0};
34 double y_coeff_jacobian{0.0};
40 Eigen::Matrix<double, Eigen::Dynamic, 1> y_af;
41 Eigen::Matrix<double, Eigen::Dynamic, 1> ydot_am;
43 Model* model{
nullptr};
55 Integrator(
Model* model,
double time_step_size,
double rho,
double atol,
State step(const State &state, double time)
Perform a time step.
Definition Integrator.cpp:49
void clean()
Delete dynamically allocated memory (in class member SparseSystem<double> system).
Definition Integrator.cpp:35
double avg_nonlin_iter()
Get average number of nonlinear iterations in all step calls.
Definition Integrator.cpp:109
Integrator()
Construct a new Integrator object.
Definition Integrator.cpp:32
~Integrator()
Destroy the Integrator object.
Definition Integrator.cpp:33
Integrator(Model *model, double time_step_size, double rho, double atol, int max_iter)
Construct a new Integrator object.
Definition Integrator.cpp:6
void update_params(double time_step_size)
Update integrator parameter and system matrices with model parameter updates.
Definition Integrator.cpp:41
Model of 0D elements.
Definition Model.h:48
Sparse system.
Definition SparseSystem.h:30
State of the system.
Definition State.h:19