11#include <cvode/cvode.h>
12#include <nvector/nvector_serial.h>
13#include <sunmatrix/sunmatrix_dense.h>
14#include <sunlinsol/sunlinsol_dense.h>
15#include <cvode/cvode_direct.h>
16#include <sundials/sundials_types.h>
23extern int rhs(realtype t, N_Vector y, N_Vector ydot,
void * user_data);
Angular variables and conjugated momenta are stored within the MoleculeSystem struct in the same orde...
Definition hawaii.h:277
Definition trajectory.h:26
SUNMatrix A
Matrix structure for storing jacobian information.
Definition trajectory.h:32
double E_last
Energy value from the last computed step (for tracking changes in energy).
Definition trajectory.h:42
N_Vector y
Internal phase-space vector (current step of the system).
Definition trajectory.h:29
MoleculeSystem * ms
Pointer to MoleculeSystem.
Definition trajectory.h:37
void * cvode_mem
Pointer to the CVODE memory block (solver internal state).
Definition trajectory.h:34
size_t mxsteps
Maximum number of internal time steps for the solver.
Definition trajectory.h:28
N_Vector abstol
Absolute tolerance for each variable in the ODE system.
Definition trajectory.h:30
SUNLinearSolver LS
Linear solver object for the ODE system.
Definition trajectory.h:33
double E0
Initial total energy of the system (used for conservation checks).
Definition trajectory.h:41
realtype reltol
Relative tolerance for the ODE solver.
Definition trajectory.h:31
size_t DIM
Number of Hamilton's equations of motion (system dimension).
Definition trajectory.h:27
Array temp_qp
Temporary storage array for coordinates and momenta during trajectorypropagation.
Definition trajectory.h:36
bool check_energy_conservation
Flag indicating whether to monitor energy conservation during trajectory propagation.
Definition trajectory.h:40
N_Vector ic
Initial conditions for the trajectory.
Definition trajectory.h:38
void free_trajectory(Trajectory *traj)
free_trajectory
Definition trajectory.c:77
Trajectory init_trajectory(MoleculeSystem *ms, double reltol)
init_trajectory initializes a Trajectory structure for propagating Hamilton's equations of motion for...
Definition trajectory.c:5
void trajectory_reinit(Trajectory *traj)
free_trajectory
Definition trajectory.c:138
void reinit_trajectory(Trajectory *traj, double t)
Definition trajectory.c:232
void set_tolerance(Trajectory *traj, double tolerance)
set_tolerance
Definition trajectory.c:214
bool trajectory_apply_requantization(Trajectory *traj)
Definition trajectory.c:93
N_Vector make_vector(int size)
make_vector
Definition trajectory.c:202
void set_initial_condition(Trajectory *traj, Array qp)
set_initial_condition
Definition trajectory.c:185
int rhs(realtype t, N_Vector y, N_Vector ydot, void *user_data)
rhs function is passed to CVode library to propagate the trajectory. First, the phase-point coordinat...
Definition hawaii.c:594
int make_step(Trajectory *traj, double tout, double *t)
make_step Invokes the main function of CVode and, if enabled, applies requantization to the monomers'...
Definition trajectory.c:146