ryujin 2.1.1 revision 0348cbb53a3e4b1da2a4c037e81f88f2d21ce219
|
#include <source/time_loop.h>
Public Member Functions | |
Constructor and setup | |
TimeLoop (const MPI_Comm &mpi_comm) | |
void | run () |
Protected Member Functions | |
Private methods for run() | |
template<typename Callable > | |
void | read_checkpoint (StateVector &state_vector, const std::string &base_name, Number &t, unsigned int &output_cycle, const Callable &prepare_compute_kernels) |
void | write_checkpoint (const StateVector &state_vector, const std::string &base_name, const Number &t, const unsigned int &output_cycle) |
template<typename Callable > | |
void | adapt_mesh_and_transfer_state_vector (StateVector &state_vector, const Callable &prepare_compute_kernels) |
void | compute_error (StateVector &state_vector, Number t) |
void | output (StateVector &state_vector, const std::string &name, const Number t, const unsigned int cycle) |
void | print_parameters (std::ostream &stream) |
void | print_mpi_partition (std::ostream &stream) |
void | print_memory_statistics (std::ostream &stream) |
void | print_timers (std::ostream &stream) |
void | print_throughput (unsigned int cycle, Number t, std::ostream &stream, bool final_time=false) |
void | print_info (const std::string &header) |
void | print_head (const std::string &header, const std::string &secondary, std::ostream &stream) |
void | print_cycle_statistics (unsigned int cycle, Number t, unsigned int output_cycle, bool write_to_logfile=false, bool final_time=false) |
Typedefs and constexpr constants | |
using | HyperbolicSystem = typename Description::HyperbolicSystem |
using | View = typename Description::template HyperbolicSystemView< dim, Number > |
using | ParabolicSystem = typename Description::ParabolicSystem |
using | ParabolicSolver = typename Description::template ParabolicSolver< dim, Number > |
using | ScalarNumber = typename View::ScalarNumber |
using | StateVector = typename View::StateVector |
using | ScalarVector = Vectors::ScalarVector< Number > |
static constexpr auto | problem_dimension = View::problem_dimension |
static constexpr auto | n_precomputed_values = View::n_precomputed_values |
The high-level time loop driving the computation.
Definition at line 36 of file time_loop.h.
using ryujin::TimeLoop< Description, dim, Number >::HyperbolicSystem = typename Description::HyperbolicSystem |
Definition at line 44 of file time_loop.h.
using ryujin::TimeLoop< Description, dim, Number >::View = typename Description::template HyperbolicSystemView<dim, Number> |
Definition at line 46 of file time_loop.h.
using ryujin::TimeLoop< Description, dim, Number >::ParabolicSystem = typename Description::ParabolicSystem |
Definition at line 49 of file time_loop.h.
using ryujin::TimeLoop< Description, dim, Number >::ParabolicSolver = typename Description::template ParabolicSolver<dim, Number> |
Definition at line 51 of file time_loop.h.
using ryujin::TimeLoop< Description, dim, Number >::ScalarNumber = typename View::ScalarNumber |
Definition at line 54 of file time_loop.h.
using ryujin::TimeLoop< Description, dim, Number >::StateVector = typename View::StateVector |
Definition at line 60 of file time_loop.h.
using ryujin::TimeLoop< Description, dim, Number >::ScalarVector = Vectors::ScalarVector<Number> |
Definition at line 62 of file time_loop.h.
ryujin::TimeLoop< Description, dim, Number >::TimeLoop | ( | const MPI_Comm & | mpi_comm | ) |
Constructor.
Definition at line 29 of file time_loop.template.h.
void ryujin::TimeLoop< Description, dim, Number >::run |
Run the high-level time loop.
Definition at line 220 of file time_loop.template.h.
Referenced by ryujin::Dispatch< Description, Number >::Dispatch().
|
protected |
Performs a resume operation. Given a base_name
the function tries to locate correponding checkpoint files and will read in the saved state state_vector
at saved time t
with saved output cycle output_cycle
.
Definition at line 483 of file time_loop.template.h.
References ryujin::SolutionTransfer< Description, dim, Number >::project(), and ryujin::SolutionTransfer< Description, dim, Number >::set_handle().
|
protected |
Write out a checkpoint to disk. Given a base_name
and a current state U
at time t
and output cycle output_cycle
the function writes out the state to disk using boost::archive for serialization.
Definition at line 572 of file time_loop.template.h.
References ryujin::SolutionTransfer< Description, dim, Number >::get_handle(), and ryujin::SolutionTransfer< Description, dim, Number >::prepare_projection().
|
protected |
Perform a mesh adaptation cycle according to the selected strategy in the MeshAdaptor class. The state vector is transferred to the new discretization.
Definition at line 638 of file time_loop.template.h.
References ryujin::SolutionTransfer< Description, dim, Number >::prepare_projection(), and ryujin::SolutionTransfer< Description, dim, Number >::project().
|
protected |
Definition at line 685 of file time_loop.template.h.
References ryujin::pow().
|
protected |
Definition at line 848 of file time_loop.template.h.
|
protected |
Definition at line 905 of file time_loop.template.h.
References ryujin::print_revision_and_version().
|
protected |
Definition at line 930 of file time_loop.template.h.
|
protected |
Definition at line 1008 of file time_loop.template.h.
|
protected |
Definition at line 1037 of file time_loop.template.h.
|
protected |
Definition at line 1124 of file time_loop.template.h.
References ryujin::ScalarConservation::ParabolicSystem::is_identity.
|
protected |
Definition at line 1288 of file time_loop.template.h.
|
protected |
Definition at line 1299 of file time_loop.template.h.
|
protected |
Definition at line 1328 of file time_loop.template.h.
References ryujin::ScalarConservation::ParabolicSystem::is_identity.
|
staticconstexpr |
Definition at line 56 of file time_loop.h.
|
staticconstexpr |
Definition at line 58 of file time_loop.h.