ryujin 2.1.1 revision 0348cbb53a3e4b1da2a4c037e81f88f2d21ce219
|
#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) |
void | analyze (const StateVector &state_vector, const Number t, unsigned int cycle) |
auto & | need_mesh_adaptation () const |
void | mark_cells_for_coarsening_and_refinement (Triangulation &triangulation) const |
Typedefs and constexpr constants | |
using | HyperbolicSystem = typename Description::HyperbolicSystem |
using | ParabolicSystem = typename Description::ParabolicSystem |
using | Triangulation = typename Discretization< dim >::Triangulation |
using | View = typename Description::template HyperbolicSystemView< 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 >::Triangulation = typename Discretization<dim>::Triangulation |
Definition at line 118 of file mesh_adaptor.h.
using ryujin::MeshAdaptor< Description, dim, Number >::View = typename Description::template HyperbolicSystemView<dim, Number> |
Definition at line 120 of file mesh_adaptor.h.
using ryujin::MeshAdaptor< Description, dim, Number >::StateVector = typename View::StateVector |
Definition at line 125 of file mesh_adaptor.h.
using ryujin::MeshAdaptor< Description, dim, Number >::InitialPrecomputedVector = typename View::InitialPrecomputedVector |
Definition at line 126 of file mesh_adaptor.h.
using ryujin::MeshAdaptor< Description, dim, Number >::ScalarVector = Vectors::ScalarVector<Number> |
Definition at line 127 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 18 of file mesh_adaptor.template.h.
References ryujin::fixed_number, ryujin::fixed_time_points, and ryujin::global_refinement.
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 129 of file mesh_adaptor.template.h.
References ryujin::fixed_time_points.
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 236 of file mesh_adaptor.template.h.
References ryujin::fixed_time_points, ryujin::global_refinement, ryujin::kelly_estimator, ryujin::random_adaptation, and ryujin::simulation_cycle.
|
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 167 of file mesh_adaptor.h.
void ryujin::MeshAdaptor< Description, dim, Number >::mark_cells_for_coarsening_and_refinement | ( | Triangulation & | triangulation | ) | const |
Mark cells for coarsening and refinement with the configured mesh adaptation and marking strategies.
Definition at line 303 of file mesh_adaptor.template.h.
References ryujin::fixed_fraction, ryujin::fixed_number, ryujin::global_refinement, ryujin::kelly_estimator, and ryujin::random_adaptation.
|
staticconstexpr |
Definition at line 123 of file mesh_adaptor.h.