22 #ifndef _aspect_mesh_refinement_interface_h
23 #define _aspect_mesh_refinement_interface_h
37 template <
int dim>
class Simulator;
38 template <
int dim>
class SimulatorAccess;
47 namespace MeshRefinement
167 template <
typename MeshRefinementType,
168 typename =
typename std::enable_if_t<std::is_base_of<Interface<dim>,MeshRefinementType>::value>>
189 template <
typename MeshRefinementType,
190 typename =
typename std::enable_if_t<std::is_base_of<Interface<dim>,MeshRefinementType>::value>>
192 const MeshRefinementType &
215 const std::string &description,
237 <<
"Could not find entry <"
239 <<
"> among the names of registered mesh refinement objects.");
274 template <
typename MeshRefinementType,
typename>
279 return this->
template has_matching_active_plugin<MeshRefinementType>();
285 template <
typename MeshRefinementType,
typename>
287 const MeshRefinementType &
290 return this->
template get_matching_active_plugin<MeshRefinementType>();
302 #define ASPECT_REGISTER_MESH_REFINEMENT_CRITERION(classname,name,description) \
303 template class classname<2>; \
304 template class classname<3>; \
305 namespace ASPECT_REGISTER_MESH_REFINEMENT_CRITERION_ ## classname \
307 aspect::internal::Plugins::RegisterHelper<aspect::MeshRefinement::Interface<2>,classname<2>> \
308 dummy_ ## classname ## _2d (&aspect::MeshRefinement::Manager<2>::register_mesh_refinement_criterion, \
309 name, description); \
310 aspect::internal::Plugins::RegisterHelper<aspect::MeshRefinement::Interface<3>,classname<3>> \
311 dummy_ ## classname ## _3d (&aspect::MeshRefinement::Manager<3>::register_mesh_refinement_criterion, \
312 name, description); \
virtual void execute(Vector< float > &error_indicators) const
virtual void tag_additional_cells() const
virtual void tag_additional_cells() const
std::vector< double > scaling_factors
DEAL_II_DEPRECATED bool has_matching_mesh_refinement_strategy() const
DeclException1(ExcMeshRefinementNameNotFound, std::string,<< "Could not find entry <"<< arg1<< "> among the names of registered mesh refinement objects.")
virtual void execute(Vector< float > &error_indicators) const
DEAL_II_DEPRECATED const MeshRefinementType & get_matching_mesh_refinement_strategy() const
void parse_parameters(ParameterHandler &prm) override
static void declare_parameters(ParameterHandler &prm)
MergeOperation merge_operation
static void write_plugin_graph(std::ostream &output_stream)
static void register_mesh_refinement_criterion(const std::string &name, const std::string &description, void(*declare_parameters_function)(ParameterHandler &), std::unique_ptr< Interface< dim >>(*factory_function)())
#define DEAL_II_DEPRECATED