16 #ifndef _aspect_boundary_traction_interface_h 17 #define _aspect_boundary_traction_interface_h 33 namespace BoundaryTraction
41 class Interface :
public Plugins::InterfaceBase
66 class Manager :
public Plugins::ManagerBase<Interface<dim>>,
public SimulatorAccess<dim>
95 const std::map<types::boundary_id, std::pair<std::string,std::vector<std::string>>> &
96 get_active_boundary_traction_names ()
const;
111 const std::map<types::boundary_id,std::vector<std::unique_ptr<BoundaryTraction::Interface<dim>>>> &
112 get_active_boundary_traction_conditions ()
const;
118 const std::set<types::boundary_id> &
119 get_prescribed_boundary_traction_indicators ()
const;
127 const std::vector<types::boundary_id> &
128 get_active_plugin_boundary_indicators()
const;
178 <<
"Could not find entry <" 180 <<
"> among the names of registered boundary traction objects.");
200 register_boundary_traction (
const std::string &name,
201 const std::string &description,
203 std::unique_ptr<Interface<dim>> (*factory_function) ());
268 std::unique_ptr<Interface<dim>>
313 #define ASPECT_REGISTER_BOUNDARY_TRACTION_MODEL(classname,name,description) \ 314 template class classname<2>; \ 315 template class classname<3>; \ 316 namespace ASPECT_REGISTER_BOUNDARY_TRACTION_MODEL_ ## classname \ 318 aspect::internal::Plugins::RegisterHelper<aspect::BoundaryTraction::Interface<2>,classname<2>> \ 319 dummy_ ## classname ## _2d (&aspect::BoundaryTraction::Manager<2>::register_boundary_traction, \ 320 name, description); \ 321 aspect::internal::Plugins::RegisterHelper<aspect::BoundaryTraction::Interface<3>,classname<3>> \ 322 dummy_ ## classname ## _3d (&aspect::BoundaryTraction::Manager<3>::register_boundary_traction, \ 323 name, description); \ virtual void parse_parameters(ParameterHandler &prm)
std::vector< ComponentMask > component_masks
std::unique_ptr< Interface< dim > > create_boundary_traction(const std::string &name)
void write_plugin_graph(std::ostream &output_stream)
std::map< types::boundary_id, std::pair< std::string, std::vector< std::string > > > boundary_traction_indicators
std::map< types::boundary_id, std::vector< std::unique_ptr< BoundaryTraction::Interface< dim > > > > boundary_traction_objects
std::vector< types::boundary_id > boundary_indicators
std::set< types::boundary_id > prescribed_traction_boundary_indicators
#define DEAL_II_DEPRECATED
static void declare_parameters(ParameterHandler &prm)
virtual Tensor< 1, dim > boundary_traction(const types::boundary_id boundary_indicator, const Point< dim > &position, const Tensor< 1, dim > &normal_vector) const =0
DeclException1(ProbabilityFunctionNegative, Point< dim >,<< "Your probability density function in the particle generator " "returned a negative probability density for the following position: "<< arg1<< ". Please check your function expression.")