22 #ifndef _aspect_boundary_traction_interface_h
23 #define _aspect_boundary_traction_interface_h
39 namespace BoundaryTraction
101 const std::map<types::boundary_id, std::pair<std::string,std::vector<std::string>>> &
117 const std::map<types::boundary_id,std::vector<std::unique_ptr<BoundaryTraction::Interface<dim>>>> &
124 const std::set<types::boundary_id> &
133 const std::vector<types::boundary_id> &
184 <<
"Could not find entry <"
186 <<
"> among the names of registered boundary traction objects.");
207 const std::string &description,
274 std::unique_ptr<Interface<dim>>
319 #define ASPECT_REGISTER_BOUNDARY_TRACTION_MODEL(classname,name,description) \
320 template class classname<2>; \
321 template class classname<3>; \
322 namespace ASPECT_REGISTER_BOUNDARY_TRACTION_MODEL_ ## classname \
324 aspect::internal::Plugins::RegisterHelper<aspect::BoundaryTraction::Interface<2>,classname<2>> \
325 dummy_ ## classname ## _2d (&aspect::BoundaryTraction::Manager<2>::register_boundary_traction, \
326 name, description); \
327 aspect::internal::Plugins::RegisterHelper<aspect::BoundaryTraction::Interface<3>,classname<3>> \
328 dummy_ ## classname ## _3d (&aspect::BoundaryTraction::Manager<3>::register_boundary_traction, \
329 name, description); \
virtual Tensor< 1, dim > boundary_traction(const types::boundary_id boundary_indicator, const Point< dim > &position, const Tensor< 1, dim > &normal_vector) const =0
std::set< types::boundary_id > prescribed_traction_boundary_indicators
DEAL_II_DEPRECATED const std::map< types::boundary_id, std::vector< std::unique_ptr< BoundaryTraction::Interface< dim > > > > & get_active_boundary_traction_conditions() const
const std::vector< types::boundary_id > & get_active_plugin_boundary_indicators() const
std::map< types::boundary_id, std::vector< std::unique_ptr< BoundaryTraction::Interface< dim > > > > boundary_traction_objects
std::map< types::boundary_id, std::pair< std::string, std::vector< std::string > > > boundary_traction_indicators
DEAL_II_DEPRECATED const std::map< types::boundary_id, std::pair< std::string, std::vector< std::string > > > & get_active_boundary_traction_names() const
std::vector< types::boundary_id > boundary_indicators
void parse_parameters(ParameterHandler &prm) override
ComponentMask get_component_mask(const types::boundary_id boundary_id) const
static void write_plugin_graph(std::ostream &output_stream)
const std::set< types::boundary_id > & get_prescribed_boundary_traction_indicators() const
static void declare_parameters(ParameterHandler &prm)
DeclException1(ExcBoundaryTractionNameNotFound, std::string,<< "Could not find entry <"<< arg1<< "> among the names of registered boundary traction objects.")
Tensor< 1, dim > boundary_traction(const types::boundary_id boundary_indicator, const Point< dim > &position, const Tensor< 1, dim > &normal_vector) const
std::vector< ComponentMask > component_masks
#define DEAL_II_DEPRECATED
void declare_parameters(ParameterHandler &prm)
static void register_boundary_traction(const std::string &name, const std::string &description, void(*declare_parameters_function)(ParameterHandler &), std::unique_ptr< Interface< dim >>(*factory_function)())
std::unique_ptr< Interface< dim > > create_boundary_traction(const std::string &name)
void write_plugin_graph(std::ostream &output_stream)