Simulator (const Simulator &)=delete
Simulator (bool verbose=true)
Simulator (Communication comm, bool verbose=true)
Vanguard & vanguard ()
Return a reference to the grid manager of simulation.
const Vanguard & vanguard () const
Return a reference to the grid manager of simulation.
const GridView & gridView () const
Return the grid view for which the simulation is done.
Model & model ()
Return the physical model used in the simulation.
const Model & model () const
Return the physical model used in the simulation.
Problem & problem ()
Return the object which specifies the pysical setup of the simulation.
const Problem & problem () const
Return the object which specifies the pysical setup of the simulation.
void setStartTime (Scalar t)
Set the time of the start of the simulation.
Scalar startTime () const
Return the time of the start of the simulation.
void setTime (Scalar t)
Set the current simulated time, don't change the current time step index.
void setTime (Scalar t, unsigned stepIdx)
Set the current simulated time and the time step index.
Scalar time () const
Return the number of seconds of simulated time which have elapsed since the start time.
void setEndTime (Scalar t)
Set the time of simulated seconds at which the simulation runs.
Scalar endTime () const
Returns the number of (simulated) seconds which the simulation runs.
const Timer & setupTimer () const
Returns a reference to the timer object which measures the time needed to set up and initialize the simulation.
const Timer & executionTimer () const
Returns a reference to the timer object which measures the time needed to run the simulation.
Timer & executionTimer ()
const Timer & prePostProcessTimer () const
Returns a reference to the timer object which measures the time needed for pre- and postprocessing of the solutions.
const Timer & linearizeTimer () const
Returns a reference to the timer object which measures the time needed for linarizing the solutions.
const Timer & solveTimer () const
Returns a reference to the timer object which measures the time needed by the solver.
const Timer & updateTimer () const
Returns a reference to the timer object which measures the time needed to the solutions of the non-linear system of equations.
const Timer & writeTimer () const
Returns a reference to the timer object which measures the time needed to write the visualization output.
void setTimeStepSize (Scalar value)
Set the current time step size to a given value.
void setTimeStepIndex (unsigned value)
Set the current time step index to a given value.
Scalar timeStepSize () const
Returns the time step length so that we don't miss the beginning of the next episode or cross the end of the simlation.
int timeStepIndex () const
Returns number of time steps which have been executed since the beginning of the simulation.
void setFinished (bool yesno=true)
Specify whether the simulation is finished.
bool finished () const
Returns true if the simulation is finished.
bool willBeFinished () const
Returns true if the simulation is finished after the time level is incremented by the current time step size.
Scalar maxTimeStepSize () const
Aligns the time step size to the episode boundary and to the end time of the simulation.
void startNextEpisode (Scalar episodeStartTime , Scalar episodeLength )
Change the current episode of the simulation.
void startNextEpisode (Scalar len=std::numeric_limits< Scalar >::max())
Start the next episode, but don't change the episode identifier.
void setEpisodeIndex (int episodeIdx)
Sets the index of the current episode.
int episodeIndex () const
Returns the index of the current episode.
Scalar episodeStartTime () const
Returns the absolute time when the current episode started .
void setEpisodeLength (Scalar dt)
Sets the length in seconds of the current episode.
Scalar episodeLength () const
Returns the length of the current episode in simulated time .
bool episodeStarts () const
Returns true if the current episode has just been started at the current time.
bool episodeIsOver () const
Returns true if the current episode is finished at the current time.
bool episodeWillBeOver () const
Returns true if the current episode will be finished after the current time step.
Scalar episodeMaxTimeStepSize () const
Aligns the time step size to the episode boundary if the current time step crosses the boundary of the current episode.
void run ()
Runs the simulation using a given problem class.
template<class TypeTag>
class Opm::Simulator< TypeTag >
Manages the initializing and running of time dependent problems.
This class instantiates the grid, the model and the problem to be simlated and runs the simulation loop. The time axis is treated as a sequence of "episodes" which are defined as time intervals for which the problem exhibits boundary conditions and source terms that do not depend on time.