ryujin 2.1.1 revision 0348cbb53a3e4b1da2a4c037e81f88f2d21ce219
List of all members
ryujin::MeshAdaptor< Description, dim, Number > Class Template Referencefinal

#include <source/mesh_adaptor.h>

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

Public Member Functions

Constructor and setup
 MeshAdaptor (const MPIEnsemble &mpi_ensemble, const OfflineData< dim, Number > &offline_data, const HyperbolicSystem &hyperbolic_system, const ParabolicSystem &parabolic_system, const InitialPrecomputedVector &initial_precomputed, const ScalarVector &alpha, const std::string &subsection="/MeshAdaptor")
 
void prepare (const Number t)
 
void analyze (const StateVector &state_vector, const Number t, unsigned int cycle)
 
auto & need_mesh_adaptation () const
 
void mark_cells_for_coarsening_and_refinement (Triangulation &triangulation) const
 

Typedefs and constexpr constants

using HyperbolicSystem = typename Description::HyperbolicSystem
 
using ParabolicSystem = typename Description::ParabolicSystem
 
using Triangulation = typename Discretization< dim >::Triangulation
 
using View = typename Description::template HyperbolicSystemView< dim, Number >
 
using StateVector = typename View::StateVector
 
using InitialPrecomputedVector = typename View::InitialPrecomputedVector
 
using ScalarVector = Vectors::ScalarVector< Number >
 
static constexpr auto problem_dimension = View::problem_dimension
 

Detailed Description

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

The MeshAdaptor class is responsible for performing global or local mesh adaptation.

Definition at line 107 of file mesh_adaptor.h.

Member Typedef Documentation

◆ HyperbolicSystem

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

Definition at line 115 of file mesh_adaptor.h.

◆ ParabolicSystem

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

Definition at line 116 of file mesh_adaptor.h.

◆ Triangulation

template<typename Description , int dim, typename Number = double>
using ryujin::MeshAdaptor< Description, dim, Number >::Triangulation = typename Discretization<dim>::Triangulation

Definition at line 118 of file mesh_adaptor.h.

◆ View

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

Definition at line 120 of file mesh_adaptor.h.

◆ StateVector

template<typename Description , int dim, typename Number = double>
using ryujin::MeshAdaptor< Description, dim, Number >::StateVector = typename View::StateVector

Definition at line 125 of file mesh_adaptor.h.

◆ InitialPrecomputedVector

template<typename Description , int dim, typename Number = double>
using ryujin::MeshAdaptor< Description, dim, Number >::InitialPrecomputedVector = typename View::InitialPrecomputedVector

Definition at line 126 of file mesh_adaptor.h.

◆ ScalarVector

template<typename Description , int dim, typename Number = double>
using ryujin::MeshAdaptor< Description, dim, Number >::ScalarVector = Vectors::ScalarVector<Number>

Definition at line 127 of file mesh_adaptor.h.

Constructor & Destructor Documentation

◆ MeshAdaptor()

template<typename Description , int dim, typename Number >
ryujin::MeshAdaptor< Description, dim, Number >::MeshAdaptor ( const MPIEnsemble mpi_ensemble,
const OfflineData< dim, Number > &  offline_data,
const HyperbolicSystem hyperbolic_system,
const ParabolicSystem parabolic_system,
const InitialPrecomputedVector initial_precomputed,
const ScalarVector alpha,
const std::string &  subsection = "/MeshAdaptor< Description, dim, Number >" 
)

Constructor.

Definition at line 18 of file mesh_adaptor.template.h.

References ryujin::fixed_number, ryujin::fixed_time_points, and ryujin::global_refinement.

Member Function Documentation

◆ prepare()

template<typename Description , int dim, typename Number >
void ryujin::MeshAdaptor< Description, dim, Number >::prepare ( const Number  t)

Prepare temporary storage and clean up internal data for the analyze() facility.

Definition at line 129 of file mesh_adaptor.template.h.

References ryujin::fixed_time_points.

◆ analyze()

template<typename Description , int dim, typename Number >
void ryujin::MeshAdaptor< Description, dim, Number >::analyze ( const StateVector state_vector,
const Number  t,
unsigned int  cycle 
)

Analyze the given StateVector with the configured adaptation strategy and time point selection strategy and decide whether a mesh adaptation cycle should be performed.

Definition at line 236 of file mesh_adaptor.template.h.

References ryujin::fixed_time_points, ryujin::global_refinement, ryujin::kelly_estimator, ryujin::random_adaptation, and ryujin::simulation_cycle.

◆ need_mesh_adaptation()

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

A boolean indicating whether we should perform a mesh adapation step in the current cycle. The analyze() method will set this boolean to true whenever the selected adaptation strategy advices to perform an adaptation cycle.

Definition at line 167 of file mesh_adaptor.h.

◆ mark_cells_for_coarsening_and_refinement()

template<typename Description , int dim, typename Number >
void ryujin::MeshAdaptor< Description, dim, Number >::mark_cells_for_coarsening_and_refinement ( Triangulation triangulation) const

Mark cells for coarsening and refinement with the configured mesh adaptation and marking strategies.

Definition at line 303 of file mesh_adaptor.template.h.

References ryujin::fixed_fraction, ryujin::fixed_number, ryujin::global_refinement, ryujin::kelly_estimator, and ryujin::random_adaptation.

Member Data Documentation

◆ problem_dimension

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

Definition at line 123 of file mesh_adaptor.h.


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