ryujin 2.1.1 revision 0f269b6e84acefa08132307953bd597a510add24
Public Types | Public Member Functions | Static Public Attributes | List of all members
ryujin::TimeLoop< Description, dim, Number > Class Template Referencefinal

#include <source/time_loop.h>

Inheritance diagram for ryujin::TimeLoop< Description, dim, Number >:
Inheritance graph
[legend]
Collaboration diagram for ryujin::TimeLoop< Description, dim, Number >:
Collaboration graph
[legend]

Public Types

using HyperbolicSystem = typename Description::HyperbolicSystem
 
using ParabolicSystem = typename Description::ParabolicSystem
 
using View = typename Description::template HyperbolicSystemView< dim, Number >
 
using scalar_type = typename OfflineData< dim, Number >::scalar_type
 
using vector_type = MultiComponentVector< Number, problem_dimension >
 
using precomputed_type = MultiComponentVector< Number, n_precomputed_values >
 

Public Member Functions

 TimeLoop (const MPI_Comm &mpi_comm)
 
void run ()
 

Static Public Attributes

static constexpr unsigned int problem_dimension = View::problem_dimension
 
static constexpr unsigned int n_precomputed_values
 

Protected Member Functions

Private methods for run()
void compute_error (const vector_type &U, Number t)
 
void output (const vector_type &U, const std::string &name, Number t, 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)
 

Detailed Description

template<typename Description, int dim, typename Number = double>
class ryujin::TimeLoop< Description, dim, Number >

The high-level time loop driving the computation.

Definition at line 36 of file time_loop.h.

Member Typedef Documentation

◆ HyperbolicSystem

template<typename Description , int dim, typename Number = double>
using ryujin::TimeLoop< Description, dim, Number >::HyperbolicSystem = typename Description::HyperbolicSystem

Definition at line 42 of file time_loop.h.

◆ ParabolicSystem

template<typename Description , int dim, typename Number = double>
using ryujin::TimeLoop< Description, dim, Number >::ParabolicSystem = typename Description::ParabolicSystem

Definition at line 47 of file time_loop.h.

◆ View

template<typename Description , int dim, typename Number = double>
using ryujin::TimeLoop< Description, dim, Number >::View = typename Description::template HyperbolicSystemView<dim, Number>

Definition at line 52 of file time_loop.h.

◆ scalar_type

template<typename Description , int dim, typename Number = double>
using ryujin::TimeLoop< Description, dim, Number >::scalar_type = typename OfflineData<dim, Number>::scalar_type

Shorthand typedef for dealii::LinearAlgebra::distributed::Vector<Number>.

Definition at line 70 of file time_loop.h.

◆ vector_type

template<typename Description , int dim, typename Number = double>
using ryujin::TimeLoop< Description, dim, Number >::vector_type = MultiComponentVector<Number, problem_dimension>

Typedef for a MultiComponentVector storing the state U.

Definition at line 75 of file time_loop.h.

◆ precomputed_type

template<typename Description , int dim, typename Number = double>
using ryujin::TimeLoop< Description, dim, Number >::precomputed_type = MultiComponentVector<Number, n_precomputed_values>

Typedef for a MultiComponentVector storing precomputed values.

Definition at line 80 of file time_loop.h.

Constructor & Destructor Documentation

◆ TimeLoop()

template<typename Description , int dim, typename Number >
ryujin::TimeLoop< Description, dim, Number >::TimeLoop ( const MPI_Comm &  mpi_comm)

Constructor.

Definition at line 28 of file time_loop.template.h.

Member Function Documentation

◆ run()

template<typename Description , int dim, typename Number >
void ryujin::TimeLoop< Description, dim, Number >::run

◆ compute_error()

template<typename Description , int dim, typename Number = double>
void ryujin::TimeLoop< Description, dim, Number >::compute_error ( const vector_type U,
Number  t 
)
protected

◆ output()

template<typename Description , int dim, typename Number = double>
void ryujin::TimeLoop< Description, dim, Number >::output ( const vector_type U,
const std::string &  name,
Number  t,
unsigned int  cycle 
)
protected

◆ print_parameters()

template<typename Description , int dim, typename Number >
void ryujin::TimeLoop< Description, dim, Number >::print_parameters ( std::ostream &  stream)
protected

Definition at line 630 of file time_loop.template.h.

References ryujin::print_revision_and_version().

◆ print_mpi_partition()

template<typename Description , int dim, typename Number >
void ryujin::TimeLoop< Description, dim, Number >::print_mpi_partition ( std::ostream &  stream)
protected

Definition at line 655 of file time_loop.template.h.

◆ print_memory_statistics()

template<typename Description , int dim, typename Number >
void ryujin::TimeLoop< Description, dim, Number >::print_memory_statistics ( std::ostream &  stream)
protected

Definition at line 727 of file time_loop.template.h.

◆ print_timers()

template<typename Description , int dim, typename Number >
void ryujin::TimeLoop< Description, dim, Number >::print_timers ( std::ostream &  stream)
protected

Definition at line 755 of file time_loop.template.h.

◆ print_throughput()

template<typename Description , int dim, typename Number >
void ryujin::TimeLoop< Description, dim, Number >::print_throughput ( unsigned int  cycle,
Number  t,
std::ostream &  stream,
bool  final_time = false 
)
protected

◆ print_info()

template<typename Description , int dim, typename Number >
void ryujin::TimeLoop< Description, dim, Number >::print_info ( const std::string &  header)
protected

Definition at line 1003 of file time_loop.template.h.

◆ print_head()

template<typename Description , int dim, typename Number >
void ryujin::TimeLoop< Description, dim, Number >::print_head ( const std::string &  header,
const std::string &  secondary,
std::ostream &  stream 
)
protected

Definition at line 1014 of file time_loop.template.h.

◆ print_cycle_statistics()

template<typename Description , int dim, typename Number >
void ryujin::TimeLoop< Description, dim, Number >::print_cycle_statistics ( unsigned int  cycle,
Number  t,
unsigned int  output_cycle,
bool  write_to_logfile = false,
bool  final_time = false 
)
protected

Member Data Documentation

◆ problem_dimension

template<typename Description , int dim, typename Number = double>
constexpr unsigned int ryujin::TimeLoop< Description, dim, Number >::problem_dimension = View::problem_dimension
staticconstexpr

Definition at line 58 of file time_loop.h.

◆ n_precomputed_values

template<typename Description , int dim, typename Number = double>
constexpr unsigned int ryujin::TimeLoop< Description, dim, Number >::n_precomputed_values
staticconstexpr
Initial value:
=
View::n_precomputed_values

Definition at line 63 of file time_loop.h.


The documentation for this class was generated from the following files: