![]() |
ryujin 2.1.1 revision ee5cbcbf2346c1299c942d0e1f13b46449973c18
|
#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 106 of file mesh_adaptor.h.
| using ryujin::MeshAdaptor< Description, dim, Number >::HyperbolicSystem = typename Description::HyperbolicSystem |
Definition at line 114 of file mesh_adaptor.h.
| using ryujin::MeshAdaptor< Description, dim, Number >::ParabolicSystem = typename Description::ParabolicSystem |
Definition at line 115 of file mesh_adaptor.h.
| using ryujin::MeshAdaptor< Description, dim, Number >::View = typename HyperbolicSystem::template View<dim, Number> |
Definition at line 117 of file mesh_adaptor.h.
| using ryujin::MeshAdaptor< Description, dim, Number >::StateVector = typename View::StateVector |
Definition at line 121 of file mesh_adaptor.h.
| using ryujin::MeshAdaptor< Description, dim, Number >::InitialPrecomputedVector = typename View::InitialPrecomputedVector |
Definition at line 122 of file mesh_adaptor.h.
| using ryujin::MeshAdaptor< Description, dim, Number >::ScalarVector = Vectors::ScalarVector<Number> |
Definition at line 123 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 23 of file mesh_adaptor.template.h.
References ryujin::fixed_threshold, ryujin::simulation_cycle, and ryujin::smoothness_indicators.
| 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 167 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 194 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 313 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 422 of file mesh_adaptor.template.h.
References ryujin::SelectedComponentsExtractor< Description, dim, Number >::extract(), and 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 188 of file mesh_adaptor.h.
|
inline |
The computed cell indicators.
Definition at line 193 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 199 of file mesh_adaptor.h.
|
staticconstexpr |
Definition at line 119 of file mesh_adaptor.h.