|
| | ExplEuler (MasterEq *mastereq_, int ntime_, double total_time_, Output *output_, bool storeFWD_) |
| | Constructor for explicit Euler scheme.
|
| |
| | ~ExplEuler () |
| |
| void | evolveFWD (const double tstart, const double tstop, Vec x) |
| | Evolves state forward using explicit Euler method.
|
| |
| void | evolveBWD (const double tstart, const double tstop, const Vec x_stop, Vec x_adj, Vec grad, bool compute_gradient) |
| | Evolves adjoint backward using explicit Euler method.
|
| |
| | TimeStepper () |
| |
| | TimeStepper (MasterEq *mastereq_, int ntime_, double total_time_, Output *output_, bool storeFWD_) |
| | Constructor for time stepper.
|
| |
| virtual | ~TimeStepper () |
| |
| Vec | getState (size_t tindex) |
| | Retrieves stored state at a specific time index.
|
| |
| void | setEvalLeakage (bool flag) |
| |
| void | setEvalWeightedCost (bool flag, double width) |
| |
| void | setEvalDPDM (bool flag) |
| |
| void | setEvalEnergy (bool flag) |
| |
| double | getLeakageIntegral () |
| |
| double | getWeightedCostIntegral () |
| |
| double | getEnergyIntegral () |
| |
| double | getDPDMIntegral () |
| |
| Vec | solveODE (int initid, Vec rho_t0) |
| | Solves the ODE forward in time.
|
| |
| void | solveAdjointODE (Vec rho_t0_bar, Vec finalstate, double Jbar_leakage, double Jbar_weightedcost, double Jbar_dpdm, double Jbar_energy) |
| | Solves the adjoint ODE backward in time.
|
| |
| double | evalLeakage (const Vec x) |
| | Evaluates leakage into guard levels.
|
| |
| void | evalLeakage_diff (const Vec x, Vec xbar, double Jbar) |
| | Computes derivative of leakage term.
|
| |
| double | evalWeightedCost (double time, const Vec x) |
| | Evaluates the weighted cost function term.
|
| |
| void | evalWeightedCost_diff (double time, const Vec x, Vec xbar, double Jbar) |
| | Computes derivative of weighted cost function term.
|
| |
| double | evalDpDm (Vec x, Vec xm1, Vec xm2) |
| | Evaluates second-order derivative variation for the state.
|
| |
| void | evalDpDm_diff (int n, Vec xbar, double Jbar) |
| | Computes derivative of second-order derivative variation term.
|
| |
| double | evalEnergy (double time) |
| | Evaluates energy integral term.
|
| |
| void | evalEnergy_diff (double time, double Jbar, Vec redgrad) |
| | Computes derivative of energy integral.
|
| |
|
| Vec | stage |
| | Intermediate vector.
|
| |
| Vec | x |
| | Auxiliary vector for forward time stepping.
|
| |
| Vec | xadj |
| | Auxiliary vector needed for adjoint (backward) time stepping.
|
| |
| Vec | xprimal |
| | Auxiliary vector for backward time stepping.
|
| |
| std::vector< Vec > | store_states |
| | Storage for primal states during forward evolution.
|
| |
| std::vector< Vec > | dpdm_states |
| | Storage for states needed for second-order derivative penalty.
|
| |
| int | mpirank_world |
| | MPI rank in global communicator.
|
| |
| int | mpisize_petsc |
| | MPI size in Petsc communicator.
|
| |
| int | mpirank_petsc |
| | MPI rank in Petsc communicator.
|
| |
| PetscInt | localsize_u |
| | Size of local sub vector u or v in state x=[u,v].
|
| |
| PetscInt | ilow |
| | First index of the local sub vector u,v.
|
| |
| PetscInt | iupp |
| | Last index (+1) of the local sub vector u,v.
|
| |
| bool | eval_leakage |
| | Flag to compute leakage integral term.
|
| |
| bool | eval_energy |
| | Flag to compute energy integral term.
|
| |
| bool | eval_dpdm |
| | Flag to compute second-order derivative integral term.
|
| |
| bool | eval_weightedcost |
| | Flag to compute weighted cost integral term.
|
| |
| double | leakage_integral |
| | Sums the integral over leakage.
|
| |
| double | energy_integral |
| | Sums the energy term.
|
| |
| double | dpdm_integral |
| | Sums second-order derivative variation value.
|
| |
| double | weightedcost_integral |
| | Sums the integral over weighted cost function.
|
| |
| double | weightedcost_width |
| | Width parameter for weighted cost function.
|
| |
Explicit Euler time integration scheme.
First-order explicit time stepping method. Simple, requires small time steps for stability. Mainly used for testing and comparison purposes.