|
opm-simulators
|
Public Types | |
| using | TuningUpdateCallback = std::function<bool(const double, const double, const int)> |
Public Member Functions | |
| AdaptiveTimeStepping (const UnitSystem &unitSystem, const SimulatorReport &full_report, const double max_next_tstep=-1.0, const bool terminalOutput=true) | |
| contructor taking parameter object | |
| AdaptiveTimeStepping (double max_next_tstep, const Tuning &tuning, const UnitSystem &unitSystem, const SimulatorReport &full_report, const bool terminalOutput=true) | |
| contructor | |
| bool | operator== (const AdaptiveTimeStepping< TypeTag > &rhs) |
| void | setSuggestedNextStep (const double x) |
| double | suggestedNextStep () const |
| const TimeStepControlInterface & | timeStepControl () const |
| template<class Solver> | |
| SimulatorReport | step (const SimulatorTimer &simulator_timer, Solver &solver, const bool is_event, const TuningUpdateCallback &tuning_updater) |
| step method that acts like the solver::step method in a sub cycle of time steps | |
| void | updateTUNING (double max_next_tstep, const Tuning &tuning) |
| void | updateNEXTSTEP (double max_next_tstep) |
| template<class Serializer> | |
| void | serializeOp (Serializer &serializer) |
| SimulatorReport & | report () |
Protected Types | |
| using | TimeStepController = std::unique_ptr<TimeStepControlInterface> |
Protected Member Functions | |
| void | init_ (const UnitSystem &unitSystem) |
Protected Attributes | |
| TimeStepControlType | time_step_control_type_ {TimeStepControlType::PIDAndIterationCount} |
| type of time step control object | |
| TimeStepController | time_step_control_ {} |
| time step control object | |
| double | restart_factor_ {} |
| factor to multiply time step with when solver fails to converge | |
| double | growth_factor_ {} |
| factor to multiply time step when solver recovered from failed convergence | |
| double | max_growth_ {} |
| factor that limits the maximum growth of a time step | |
| double | max_time_step_ {} |
| maximal allowed time step size in days | |
| double | min_time_step_ {} |
| minimal allowed time step size before throwing | |
| bool | ignore_convergence_failure_ {false} |
| continue instead of stop when minimum time step is reached | |
| int | solver_restart_max_ {} |
| how many restart of solver are allowed | |
| bool | solver_verbose_ {false} |
| solver verbosity | |
| bool | timestep_verbose_ {false} |
| timestep verbosity | |
| double | suggested_next_timestep_ {} |
| suggested size of next timestep | |
| bool | full_timestep_initially_ {false} |
| beginning with the size of the time step from data file | |
| double | timestep_after_event_ {} |
| suggested size of timestep after an event | |
| bool | use_newton_iteration_ {false} |
| use newton iteration count for adaptive time step control | |
| double | min_time_step_before_shutting_problematic_wells_ {} |
| < shut problematic wells when time step size in days are less than this | |
| SimulatorReport | report_ {} |
| Opm::AdaptiveTimeStepping< TypeTag >::AdaptiveTimeStepping | ( | double | max_next_tstep, |
| const Tuning & | tuning, | ||
| const UnitSystem & | unit_system, | ||
| const SimulatorReport & | report, | ||
| const bool | terminal_output = true ) |
contructor
| max_next_tstep | Maximum next time step allowed |
| tuning | Pointer to ecl TUNING keyword |
| unit_system | Unit system to use |
| report | Simulator report to use |
| terminal_output | True to print to terminal |
| SimulatorReport Opm::AdaptiveTimeStepping< TypeTag >::step | ( | const SimulatorTimer & | simulator_timer, |
| Solver & | solver, | ||
| const bool | is_event, | ||
| const TuningUpdateCallback & | tuning_updater ) |
step method that acts like the solver::step method in a sub cycle of time steps
| simulator_timer | Simulator timer |
| solver | Solver to use |
| is_event | True if this is an event |
| tuning_updater | Function used to update TUNING parameters before each time step. ACTIONX might change tuning. |