![]() |
ryujin 2.1.1 revision 71cdc42292164f8095c0bd62c4ea75ebcfac58fa
|
#include <source/mesh_adaptor.h>


Public Member Functions | |
Constructor and setup | |
| MeshAdaptor (const MPIEnsemble &mpi_ensemble, const OfflineData< dim, Number > &offline_data, const HyperbolicSystem &hyperbolic_system, const ParabolicSystem ¶bolic_system, const InitialPrecomputedVector &initial_precomputed, const ScalarVector &alpha, const std::string &subsection="/MeshAdaptor") | |
| void | prepare (const Number t) |
Functions for performing mesh adaptation | |
| void | analyze (const StateVector &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 &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 Description::HyperbolicSystem |
| using | ParabolicSystem = typename Description::ParabolicSystem |
| using | View = typename HyperbolicSystem::template View< 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 |
The MeshAdaptor class is responsible for performing global or local mesh adaptation.
Definition at line 107 of file mesh_adaptor.h.
| using ryujin::MeshAdaptor< Description, dim, Number >::HyperbolicSystem = typename Description::HyperbolicSystem |
Definition at line 115 of file mesh_adaptor.h.
| using ryujin::MeshAdaptor< Description, dim, Number >::ParabolicSystem = typename Description::ParabolicSystem |
Definition at line 116 of file mesh_adaptor.h.
| using ryujin::MeshAdaptor< Description, dim, Number >::View = typename HyperbolicSystem::template View<dim, Number> |
Definition at line 118 of file mesh_adaptor.h.
| using ryujin::MeshAdaptor< Description, dim, Number >::StateVector = typename View::StateVector |
Definition at line 122 of file mesh_adaptor.h.
| using ryujin::MeshAdaptor< Description, dim, Number >::InitialPrecomputedVector = typename View::InitialPrecomputedVector |
Definition at line 123 of file mesh_adaptor.h.
| using ryujin::MeshAdaptor< Description, dim, Number >::ScalarVector = Vectors::ScalarVector<Number> |
Definition at line 124 of file mesh_adaptor.h.
| 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 22 of file mesh_adaptor.template.h.
| 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 168 of file mesh_adaptor.template.h.
| 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 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.
| 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 mesh adaptation and marking strategies.
Definition at line 311 of file mesh_adaptor.template.h.
References ryujin::fixed_threshold, ryujin::global_refinement, ryujin::maximum, ryujin::minimum, ryujin::random_adaptation, and ryujin::smoothness_indicators.
| void ryujin::MeshAdaptor< Description, dim, Number >::compute_smoothness_indicators | ( | const StateVector & | state_vector | ) | const |
Compute smoothness indicators. This function reinitializes and populates the smoothness_indicators() vector.
Definition at line 420 of file mesh_adaptor.template.h.
References ryujin::have_separate_memory_spaces.
|
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 189 of file mesh_adaptor.h.
|
inline |
The computed cell indicators.
Definition at line 194 of file mesh_adaptor.h.
|
inline |
The computed smoothness indicators. The vector is only valid if the "smoothness indicator" refinement strategy has been selected.
Definition at line 200 of file mesh_adaptor.h.
|
staticconstexpr |
Definition at line 120 of file mesh_adaptor.h.