ryujin 2.1.1 revision 4b9b48e9fa7e31fec3ddb6e85ef700194eb77571
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 MPI_Comm &mpi_communicator, const OfflineData< dim, Number > &offline_data, const HyperbolicSystem &hyperbolic_system, const ParabolicSystem &parabolic_system, 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 (dealii::Triangulation< dim > &triangulation) const
 

Typedefs and constexpr constants

using HyperbolicSystem = typename Description::HyperbolicSystem
 
using ParabolicSystem = typename Description::ParabolicSystem
 
using View = typename Description::template HyperbolicSystemView< dim, Number >
 
using StateVector = typename View::StateVector
 
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 88 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 96 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 97 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 99 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 104 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 106 of file mesh_adaptor.h.

Constructor & Destructor Documentation

◆ MeshAdaptor()

template<typename Description , int dim, typename Number >
ryujin::MeshAdaptor< Description, dim, Number >::MeshAdaptor ( const MPI_Comm &  mpi_communicator,
const OfflineData< dim, Number > &  offline_data,
const HyperbolicSystem hyperbolic_system,
const ParabolicSystem parabolic_system,
const std::string &  subsection = "/MeshAdaptor< Description, dim, Number >" 
)

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 92 of file mesh_adaptor.template.h.

References ryujin::fixed_adaptation_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 decide whether a mesh adaptation cycle should be performed.

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

◆ 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 143 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 ( dealii::Triangulation< dim > &  triangulation) const

Mark cells for coarsening and refinement with the configured marking strategy.

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

References ryujin::fixed_number, ryujin::global_refinement, 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 102 of file mesh_adaptor.h.


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