22 #ifndef _aspect_boundary_traction_interface_h 23 #define _aspect_boundary_traction_interface_h 28 #include <deal.II/base/point.h> 29 #include <deal.II/base/parameter_handler.h> 39 namespace BoundaryTraction
56 virtual ~Interface() =
default;
98 boundary_traction (
const types::boundary_id boundary_indicator,
99 const Point<dim> &position,
100 const Tensor<1,dim> &normal_vector)
const = 0;
120 parse_parameters (ParameterHandler &prm);
158 boundary_traction (
const types::boundary_id boundary_indicator,
159 const Point<dim> &position,
160 const Tensor<1,dim> &normal_vector)
const;
174 const std::map<types::boundary_id, std::pair<std::string,std::vector<std::string>>> &
175 get_active_boundary_traction_names ()
const;
186 const std::map<types::boundary_id,std::vector<std::unique_ptr<BoundaryTraction::Interface<dim>>>> &
187 get_active_boundary_traction_conditions ()
const;
203 parse_parameters (ParameterHandler &prm);
224 <<
"Could not find entry <" 226 <<
"> among the names of registered boundary traction objects.");
246 register_boundary_traction (
const std::string &name,
247 const std::string &description,
248 void (*declare_parameters_function) (ParameterHandler &),
281 std::unique_ptr<Interface<dim>>
326 #define ASPECT_REGISTER_BOUNDARY_TRACTION_MODEL(classname,name,description) \ 327 template class classname<2>; \ 328 template class classname<3>; \ 329 namespace ASPECT_REGISTER_BOUNDARY_TRACTION_MODEL_ ## classname \ 331 aspect::internal::Plugins::RegisterHelper<aspect::BoundaryTraction::Interface<2>,classname<2>> \ 332 dummy_ ## classname ## _2d (&aspect::BoundaryTraction::Manager<2>::register_boundary_traction, \ 333 name, description); \ 334 aspect::internal::Plugins::RegisterHelper<aspect::BoundaryTraction::Interface<3>,classname<3>> \ 335 dummy_ ## classname ## _3d (&aspect::BoundaryTraction::Manager<3>::register_boundary_traction, \ 336 name, description); \
std::unique_ptr< Interface< dim > > create_boundary_traction(const std::string &name)
void write_plugin_graph(std::ostream &output_stream)
void declare_parameters(ParameterHandler &prm)
std::map< types::boundary_id, std::pair< std::string, std::vector< std::string > > > boundary_traction_indicators
const GeometryModel::Interface< dim > * geometry_model
std::map< types::boundary_id, std::vector< std::unique_ptr< BoundaryTraction::Interface< dim > > > > boundary_traction_objects
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.")