Class SteadystateProblem

Class Documentation

class SteadystateProblem

The SteadystateProblem class solves a steady-state problem using Newton’s method and falls back to integration on failure.

Public Functions

explicit SteadystateProblem(Solver const &solver, Model const &model)

constructor

Parameters:
void workSteadyStateProblem(Solver const &solver, Model &model, int it)

Handles steady state computation in the forward case: tries to determine the steady state of the ODE system and computes steady state sensitivities if requested.

Parameters:
  • solver – pointer to the solver object

  • model – pointer to the model object

  • it – integer with the index of the current time step

void workSteadyStateBackwardProblem(Solver const &solver, Model &model, BackwardProblem const *bwd)

Integrates over the adjoint state backward in time by solving a linear system of equations, which gives the analytical solution. Computes the gradient via adjoint steady state sensitivities

Parameters:
  • solver – pointer to the solver object

  • model – pointer to the model object

  • bwd – backward problem

inline SimulationState const &getFinalSimulationState() const

Returns the stored SimulationState.

Returns:

stored SimulationState

inline AmiVector const &getEquilibrationQuadratures() const

Returns the quadratures from pre- or postequilibration.

Returns:

xQB Vector with quadratures

inline AmiVector const &getState() const

Returns state at steadystate.

Returns:

x

inline AmiVectorArray const &getStateSensitivity() const

Returns state sensitivity at steadystate.

Returns:

sx

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

Accessor for dJydx.

Returns:

dJydx

inline double getCPUTime() const

Accessor for run_time of the forward problem.

Returns:

run_time

inline double getCPUTimeB() const

Accessor for run_time of the backward problem.

Returns:

run_time

inline std::vector<SteadyStateStatus> const &getSteadyStateStatus() const

Accessor for steady_state_status.

Returns:

steady_state_status

inline realtype getSteadyStateTime() const

Get model time at which steadystate was found through simulation.

Returns:

t

inline realtype getResidualNorm() const

Accessor for wrms.

Returns:

wrms

inline std::vector<int> const &getNumSteps() const

Accessor for numsteps.

Returns:

numsteps

inline int getNumStepsB() const

Accessor for numstepsB.

Returns:

numstepsB

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

computes adjoint updates dJydx according to provided model and expdata

Parameters:
  • modelModel instance

  • edata – experimental data

inline AmiVector const &getAdjointState() const

Return the adjoint state.

Returns:

xB adjoint state

inline AmiVector const &getAdjointQuadrature() const

Accessor for xQB.

Returns:

xQB

inline bool hasQuadrature() const

Accessor for hasQuadrature_.

Returns:

hasQuadrature_

bool checkSteadyStateSuccess() const

computes adjoint updates dJydx according to provided model and expdata

Returns:

convergence of steady state solver