Class ForwardProblem

Class Documentation

class amici::ForwardProblem

The ForwardProblem class groups all functions for solving the forward problem.

Public Functions

ForwardProblem(const ExpData *edata, Model *model, Solver *solver, const SteadystateProblem *preeq)

Constructor.

Parameters
  • edata: pointer to ExpData instance

  • model: pointer to Model instance

  • solver: pointer to Solver instance

  • preeq: preequilibration with which to initialize the forward problem, pass nullptr for no initialization

~ForwardProblem() = default
void workForwardProblem()

Solve the forward problem.

If forward sensitivities are enabled this will also compute sensitivities.

void getAdjointUpdates(Model &model, const ExpData &edata)

computes adjoint updates dJydx according to provided model and expdata

Parameters
  • model: Model instance

  • edata: experimental data

realtype getTime() const

Accessor for t.

Return

t

AmiVector const &getState() const

Accessor for x.

Return

x

AmiVector const &getStateDerivative() const

Accessor for dx.

Return

dx

AmiVectorArray const &getStateSensitivity() const

Accessor for sx.

Return

sx

std::vector<AmiVector> const &getStatesAtDiscontinuities() const

Accessor for x_disc.

Return

x_disc

std::vector<AmiVector> const &getRHSAtDiscontinuities() const

Accessor for xdot_disc.

Return

xdot_disc

std::vector<AmiVector> const &getRHSBeforeDiscontinuities() const

Accessor for xdot_old_disc.

Return

xdot_old_disc

std::vector<int> const &getNumberOfRoots() const

Accessor for nroots.

Return

nroots

std::vector<realtype> const &getDiscontinuities() const

Accessor for discs.

Return

discs

std::vector<std::vector<int>> const &getRootIndexes() const

Accessor for rootidx.

Return

rootidx

std::vector<realtype> const &getDJydx() const

Accessor for dJydx.

Return

dJydx

std::vector<realtype> const &getDJzdx() const

Accessor for dJzdx.

Return

dJzdx

AmiVector *getStatePointer()

Accessor for pointer to x.

Return

&x

AmiVector *getStateDerivativePointer()

Accessor for pointer to dx.

Return

&dx

AmiVectorArray *getStateSensitivityPointer()

accessor for pointer to sx

Return

&sx

AmiVectorArray *getStateDerivativeSensitivityPointer()

Accessor for pointer to sdx.

Return

&sdx

int getCurrentTimeIteration() const

Accessor for it.

Return

it

realtype getFinalTime() const

Returns final time point for which simulations are available.

Return

time point

int getEventCounter() const

Returns maximal event index for which simulations are available.

Return

index

int getRootCounter() const

Returns maximal event index for which the timepoint is available.

Return

index

const SimulationState &getSimulationStateTimepoint(int it) const

Retrieves the carbon copy of the simulation state variables at the specified timepoint index.

Return

state

Parameters
  • it: timepoint index

const SimulationState &getSimulationStateEvent(int iroot) const

Retrieves the carbon copy of the simulation state variables at the specified event index.

Return

SimulationState

Parameters
  • iroot: event index

const SimulationState &getInitialSimulationState() const

Retrieves the carbon copy of the simulation state variables at the initial timepoint.

Return

SimulationState

const SimulationState &getFinalSimulationState() const

Retrieves the carbon copy of the simulation state variables at the final timepoint (or when simulation failed)

Return

SimulationState

Public Members

Model *model

pointer to model instance

Solver *solver

pointer to solver instance

const ExpData *edata

pointer to experimental data instance