1 #ifndef dae_time_integrator_h
2 #define dae_time_integrator_h
10 #include <ida/ida_dense.h>
11 #include <ida/ida_lapack.h>
12 #include <ida/ida_spgmr.h>
13 #include <nvector/nvector_serial.h>
14 #include <sundials/sundials_math.h>
15 #include <sundials/sundials_types.h>
59 const unsigned int max_steps);
67 double t,
double h,
unsigned int max_steps);
double rel_tol
Relative error tolerance for adaptive time stepping.
bool use_iterative
If true, we use preconditioned gmres.
N_Vector diff_id
Ida differential components vector.
bool is_initialized
Initialization flag.
void parse_parameters(ParameterHandler &prm)
Parse a parameter handler.
double final_time
Final time.
unsigned int start_ode(Vector< double > &solution, Vector< double > &solution_dot, const unsigned int max_steps)
Evolve.
bool provide_jac_prec
Provide preconditioning for Jacobian.
void * ida_mem
Ida memory object.
N_Vector abs_tolls
Ida absolute tolerances vector.
DAETimeIntegrator(OdeArgument &solver)
Constructor for the DAETimeIntegrator class.
N_Vector yy
Ida solution vector.
double initial_step_size
Initial step size.
double min_step_size
Minimum step size.
bool provide_jac
Provides the Jacobian vector product.
~DAETimeIntegrator()
House cleaning.
unsigned int max_n_steps
Maximum number of time steps.
void reset_ode(Vector< double > &y, Vector< double > &yp, double t, double h, unsigned int max_steps)
Clear internal memory, and start with clean objects.
double abs_tol
Absolute error tolerance for adaptive time stepping.
double initial_time
Initial time for the ode.
N_Vector yp
Ida solution derivative vector.
Base class that needs to be inherited by any function that wants to use the time integrator class...
static void declare_parameters(ParameterHandler &prm)
Declare parameters for this class to function properly.
OdeArgument & solver
The bubble membrane poperties.