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

#include <source/vtu_output.h>

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

Public Types

using state_type = typename View::state_type
 
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

 VTUOutput (const MPI_Comm &mpi_communicator, const OfflineData< dim, Number > &offline_data, const HyperbolicModule< Description, dim, Number > &hyperbolic_module, const Postprocessor< Description, dim, Number > &postprocessor, const std::string &subsection="/VTUOutput")
 
void prepare ()
 
void schedule_output (const vector_type &U, const precomputed_type &precomputed_values, std::string name, Number t, unsigned int cycle, bool output_full=true, bool output_cutplanes=true)
 
auto & need_to_prepare_step () const
 

Static Public Attributes

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

Detailed Description

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

the VTUOutput class implements output of the conserved state vector and a number of postprocessed quantities computed by the Postprocessor class.

Definition at line 32 of file vtu_output.h.

Member Typedef Documentation

◆ state_type

template<typename Description , int dim, typename Number = double>
using ryujin::VTUOutput< Description, dim, Number >::state_type = typename View::state_type

Definition at line 54 of file vtu_output.h.

◆ scalar_type

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

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

Definition at line 65 of file vtu_output.h.

◆ vector_type

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

Typedef for a MultiComponentVector storing the state U.

Definition at line 70 of file vtu_output.h.

◆ precomputed_type

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

Typedef for a MultiComponentVector storing precomputed values.

Definition at line 75 of file vtu_output.h.

Constructor & Destructor Documentation

◆ VTUOutput()

template<typename Description , int dim, typename Number >
ryujin::VTUOutput< Description, dim, Number >::VTUOutput ( const MPI_Comm &  mpi_communicator,
const OfflineData< dim, Number > &  offline_data,
const HyperbolicModule< Description, dim, Number > &  hyperbolic_module,
const Postprocessor< Description, dim, Number > &  postprocessor,
const std::string &  subsection = "/VTUOutput< Description, dim, Number >" 
)

Constructor.

Definition at line 21 of file vtu_output.template.h.

Member Function Documentation

◆ prepare()

template<typename Description , int dim, typename Number >
void ryujin::VTUOutput< Description, dim, Number >::prepare

Prepare VTU output. A call to prepare() allocates temporary storage and is necessary before schedule_output() can be called.

Calling prepare() allocates temporary storage for additional (dim + 5) scalar vectors of type OfflineData::scalar_type.

Definition at line 62 of file vtu_output.template.h.

◆ schedule_output()

template<typename Description , int dim, typename Number >
void ryujin::VTUOutput< Description, dim, Number >::schedule_output ( const vector_type U,
const precomputed_type precomputed_values,
std::string  name,
Number  t,
unsigned int  cycle,
bool  output_full = true,
bool  output_cutplanes = true 
)

Given a state vector U and a file name prefix name, the current time t, and the current output cycle cycle) schedule a solution output.

The function post-processes quantities synchronously, and (depending on configuration options) schedules the write-out asynchronously onto a background worker thread. This implies that U can again be modified once schedule_output() returned.

The booleans output_full controls whether the full vector field is written out. Correspondingly, output_cutplanes controls whether cells in the vicinity of predefined cutplanes are written out.

The function requires MPI communication and is not reentrant.

Definition at line 186 of file vtu_output.template.h.

◆ need_to_prepare_step()

template<typename Description , int dim, typename Number = double>
auto & ryujin::VTUOutput< Description, dim, Number >::need_to_prepare_step ( ) const
inline

Return a boolean indicating whether Steps 0 to 2 of an explicit Euler step have to be prepared prior to scheduling output. This is the case if a precomputed value or alpha is used in the output process.

Definition at line 127 of file vtu_output.h.

Member Data Documentation

◆ problem_dimension

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

Definition at line 49 of file vtu_output.h.

◆ n_precomputed_values

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

Definition at line 59 of file vtu_output.h.


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