Sundials implementation called CVODE.
More...
#include <Cvode.h>
|
| Cvode (Network &net) |
| Constructor. More...
|
|
| ~Cvode () |
| Destructor.
|
|
Eigen::MatrixXd | runIntegrationByTime (Eigen::VectorXd y, double t, double dt, Eigen::VectorXd &rFlux, Eigen::VectorXd &rForwardFlux, Eigen::VectorXd &rBackwardFlux, const double tMax, const unsigned int batchInterval, const double convergenceConcentrationChange) |
| Run the numerical integration until a maximum time or convergence is reached. More...
|
|
Eigen::MatrixXd | runIntegration (Eigen::VectorXd y, double t, double dt, Eigen::VectorXd &rFlux, Eigen::VectorXd &rForwardFlux, Eigen::VectorXd &rBackwardFlux, const unsigned int batchInterval, const unsigned int nBatches, const double convergenceConcentrationChange) |
| Run the numerical integration until a maximum number of steps or convergence is reached. More...
|
|
void | propagate (Eigen::VectorXd &concentrations, Eigen::VectorXd &yFlux, Eigen::VectorXd &rFlux, Eigen::VectorXd &rForwardFlux, Eigen::VectorXd &rBackwardFlux, double &t, double &dt) const |
| Propagate the numerical integration by one time step. More...
|
|
Sundials implementation called CVODE.
Scine::Kinetx::Cvode::Cvode |
( |
Network & |
net | ) |
|
Constructor.
- Parameters
-
net | The network of reactions. |
void Scine::Kinetx::Cvode::propagate |
( |
Eigen::VectorXd & |
concentrations, |
|
|
Eigen::VectorXd & |
yFlux, |
|
|
Eigen::VectorXd & |
rFlux, |
|
|
Eigen::VectorXd & |
rForwardFlux, |
|
|
Eigen::VectorXd & |
rBackwardFlux, |
|
|
double & |
t, |
|
|
double & |
dt |
|
) |
| const |
|
virtual |
Propagate the numerical integration by one time step.
- Parameters
-
concentrations | The current concentrations. Updated inplace. |
yFlux | The current vertex (aggregate) flux. Updated inplace. |
rFlux | The current total edge (reaction) flux. Updated inplace. |
rForwardFlux | The current forward edge flux. Updated inplace. |
rBackwardFlux | The current backward edge flux. Updated inplace. |
t | The current time. Updated inplace. |
dt | The time increment. This may be updated inplace depending on the integration algorithm. |
Implements Scine::Kinetx::Integrator.
Eigen::MatrixXd Scine::Kinetx::Cvode::runIntegration |
( |
Eigen::VectorXd |
y, |
|
|
double |
tStart, |
|
|
double |
dt, |
|
|
Eigen::VectorXd & |
rFlux, |
|
|
Eigen::VectorXd & |
rForwardFlux, |
|
|
Eigen::VectorXd & |
rBackwardFlux, |
|
|
const unsigned int |
batchInterval, |
|
|
const unsigned int |
nBatches, |
|
|
const double |
convergenceConcentrationChange |
|
) |
| |
|
virtual |
Run the numerical integration until a maximum number of steps or convergence is reached.
- Parameters
-
y | The input concentration. |
tStart | The start time. |
dt | The time increment. |
rFlux | The reaction edge flux (total). |
rForwardFlux | The forward reaction edge flux. |
rBackwardFlux | The backward reaction edge flux. |
batchInterval | The number of steps per batch. |
nBatches | The number of integration batches. |
convergenceConcentrationChange | The concentration convergence threshold. |
- Returns
- The final concentrations, max. concentrations, and vertex fluxes as a matrix with columns in this order.
Implements Scine::Kinetx::Integrator.
Eigen::MatrixXd Scine::Kinetx::Cvode::runIntegrationByTime |
( |
Eigen::VectorXd |
y, |
|
|
double |
tStart, |
|
|
double |
dt, |
|
|
Eigen::VectorXd & |
rFlux, |
|
|
Eigen::VectorXd & |
rForwardFlux, |
|
|
Eigen::VectorXd & |
rBackwardFlux, |
|
|
const double |
tMax, |
|
|
const unsigned int |
batchInterval, |
|
|
const double |
convergenceConcentrationChange |
|
) |
| |
|
virtual |
Run the numerical integration until a maximum time or convergence is reached.
- Parameters
-
y | The input concentration. |
tStart | The start time. |
dt | The time increment. |
rFlux | The reaction edge flux (total). |
rForwardFlux | The forward reaction edge flux. |
rBackwardFlux | The backward reaction edge flux. |
tMax | The final time to integrate to. |
batchInterval | The number of steps per batch. |
convergenceConcentrationChange | The concentration convergence threshold. |
- Returns
- The final concentrations, max. concentrations, and vertex fluxes as a matrix with columns in this order.
Implements Scine::Kinetx::Integrator.
The documentation for this class was generated from the following files: