ryujin 2.1.1 revision b04fb4aba7bd97ddfa5994a6b4b6e8586eb15db2
Loading...
Searching...
No Matches
List of all members
ryujin::MeshAdaptor< HyperbolicDescription, dim, Number > Class Template Referencefinal

#include <source/mesh_adaptor.h>

Inheritance diagram for ryujin::MeshAdaptor< HyperbolicDescription, dim, Number >:
Inheritance graph
[legend]
Collaboration diagram for ryujin::MeshAdaptor< HyperbolicDescription, 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 Interface::ParabolicSystem &parabolic_system, const MultiComponentVector< Number > &initial_precomputed, const ScalarVector< Number > &alpha, const std::string &subsection="/MeshAdaptor")
 
void prepare (const Number t)
 
Functions for performing mesh adaptation
void analyze (const StateVector< Number > &state_vector, const Number t, unsigned int cycle)
 
void mark_cells_for_coarsening_and_refinement (dealii::Triangulation< dim > &triangulation) const
 
void compute_smoothness_indicators (const StateVector< Number > &state_vector) const
 
Information and statistics
const auto & need_mesh_adaptation () const
 
const auto & indicators () const
 
const auto & smoothness_indicators () const
 

Typedefs and constexpr constants

using HyperbolicSystem = typename HyperbolicDescription::HyperbolicSystem
 
using View = typename HyperbolicSystem::template View< dim, Number >
 
static constexpr auto problem_dimension = View::problem_dimension
 

Detailed Description

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

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

Definition at line 109 of file mesh_adaptor.h.

Member Typedef Documentation

◆ HyperbolicSystem

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

Definition at line 117 of file mesh_adaptor.h.

◆ View

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

Definition at line 119 of file mesh_adaptor.h.

Constructor & Destructor Documentation

◆ MeshAdaptor()

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

Constructor.

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

Member Function Documentation

◆ prepare()

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

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

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

◆ analyze()

template<typename HyperbolicDescription , int dim, typename Number >
void ryujin::MeshAdaptor< HyperbolicDescription, dim, Number >::analyze ( const StateVector< Number > &  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 192 of file mesh_adaptor.template.h.

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

◆ mark_cells_for_coarsening_and_refinement()

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

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

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

References ryujin::fixed_threshold, ryujin::global_refinement, ryujin::maximum, ryujin::minimum, ryujin::random_adaptation, and ryujin::smoothness_indicators.

◆ compute_smoothness_indicators()

template<typename HyperbolicDescription , int dim, typename Number >
void ryujin::MeshAdaptor< HyperbolicDescription, dim, Number >::compute_smoothness_indicators ( const StateVector< Number > &  state_vector) const

Compute smoothness indicators. This function reinitializes and populates the smoothness_indicators() vector.

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

◆ need_mesh_adaptation()

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

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

Definition at line 187 of file mesh_adaptor.h.

◆ indicators()

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

The computed cell indicators.

Definition at line 192 of file mesh_adaptor.h.

◆ smoothness_indicators()

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

The computed smoothness indicators. The vector is only valid if the "smoothness indicator" refinement strategy has been selected.

Definition at line 198 of file mesh_adaptor.h.

Member Data Documentation

◆ problem_dimension

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

Definition at line 121 of file mesh_adaptor.h.


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