ryujin 2.5.0 revision 3a6c8d57210175dea14d8116e1fe878f349f8c1c
Loading...
Searching...
No Matches
List of all members
ryujin::Interface::MeshAdaptor< dim, Number > Class Template Referenceabstract

#include <include/ryujin/interface/mesh_adaptor.h>

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

Public Types

Typedefs
using Transformation = typename Discretization< dim >::Transformation
 

Public Member Functions

Setup
virtual void prepare (const Number t)=0
 
Functions for performing mesh adaptation
virtual void analyze (const StateVector< Number > &state_vector, const Number t, unsigned int cycle)=0
 
virtual void mark_cells_for_coarsening_and_refinement (dealii::Triangulation< dim > &triangulation) const =0
 
virtual void update_transformation (Transformation &transformation) const =0
 

Information and statistics

bool need_mesh_adaptation_
 
 MeshAdaptor (const std::string &subsection)
 

Detailed Description

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

The interface of a MeshAdaptor: it decides, based on the current state, whether a mesh adaptation cycle should be performed, marks cells for coarsening and refinement, and/or may replace the transformation of the Discretization, i.e., change the geometry.

Definition at line 31 of file mesh_adaptor.h.

Member Typedef Documentation

◆ Transformation

template<int dim, typename Number = double>
using ryujin::Interface::MeshAdaptor< dim, Number >::Transformation = typename Discretization<dim>::Transformation

Definition at line 39 of file mesh_adaptor.h.

Constructor & Destructor Documentation

◆ MeshAdaptor()

template<int dim, typename Number = double>
ryujin::Interface::MeshAdaptor< dim, Number >::MeshAdaptor ( const std::string &  subsection)
inlineexplicitprotected

A boolean indicating whether we should perform a mesh adaptation step in the current cycle. The analyze() method sets this boolean to true whenever an adaptation cycle should be performed. Constructor.

Definition at line 100 of file mesh_adaptor.h.

Member Function Documentation

◆ prepare()

template<int dim, typename Number = double>
virtual void ryujin::Interface::MeshAdaptor< dim, Number >::prepare ( const Number  t)
pure virtual

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

Implemented in ryujin::MeshAdaptor< dim, Number >.

◆ analyze()

template<int dim, typename Number = double>
virtual void ryujin::Interface::MeshAdaptor< dim, Number >::analyze ( const StateVector< Number > &  state_vector,
const Number  t,
unsigned int  cycle 
)
pure virtual

Analyze the given StateVector and decide whether a mesh adaptation cycle should be performed. The result is available through need_mesh_adaptation().

Implemented in ryujin::MeshAdaptor< dim, Number >.

◆ mark_cells_for_coarsening_and_refinement()

template<int dim, typename Number = double>
virtual void ryujin::Interface::MeshAdaptor< dim, Number >::mark_cells_for_coarsening_and_refinement ( dealii::Triangulation< dim > &  triangulation) const
pure virtual

Mark cells for coarsening and refinement.

Implemented in ryujin::MeshAdaptor< dim, Number >.

◆ update_transformation()

template<int dim, typename Number = double>
virtual void ryujin::Interface::MeshAdaptor< dim, Number >::update_transformation ( Transformation &  transformation) const
pure virtual

Update the transformation of the Discretization that maps points of the triangulation to the actual geometry.

Member Data Documentation

◆ need_mesh_adaptation_

template<int dim, typename Number = double>
bool ryujin::Interface::MeshAdaptor< dim, Number >::need_mesh_adaptation_
protected

Whether a mesh adaptation step should be performed in the current cycle.

Note
A derived class sets it in prepare() and analyze().

Definition at line 112 of file mesh_adaptor.h.


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