22 #ifndef _aspect_boundary_heat_flux_interface_h 23 #define _aspect_boundary_heat_flux_interface_h 36 namespace BoundaryHeatFlux
53 virtual ~Interface() =
default;
93 std::vector<Tensor<1,dim>>
94 heat_flux (
const types::boundary_id boundary_indicator,
95 const MaterialModel::MaterialModelInputs<dim> &material_model_inputs,
96 const MaterialModel::MaterialModelOutputs<dim> &material_model_outputs,
97 const std::vector<Tensor<1,dim>> &normal_vectors)
const = 0;
117 parse_parameters (ParameterHandler &prm);
139 const std::string &description,
140 void (*declare_parameters_function) (ParameterHandler &),
141 std::unique_ptr<Interface<dim>> (*factory_function) ());
154 std::unique_ptr<Interface<dim>>
190 #define ASPECT_REGISTER_BOUNDARY_HEAT_FLUX_MODEL(classname, name, description) \ 191 template class classname<2>; \ 192 template class classname<3>; \ 193 namespace ASPECT_REGISTER_BOUNDARY_HEAT_FLUX_MODEL_ ## classname \ 195 aspect::internal::Plugins::RegisterHelper<aspect::BoundaryHeatFlux::Interface<2>,classname<2>> \ 196 dummy_ ## classname ## _2d (&aspect::BoundaryHeatFlux::register_boundary_heat_flux<2>, \ 197 name, description); \ 198 aspect::internal::Plugins::RegisterHelper<aspect::BoundaryHeatFlux::Interface<3>,classname<3>> \ 199 dummy_ ## classname ## _3d (&aspect::BoundaryHeatFlux::register_boundary_heat_flux<3>, \ 200 name, description); \
std::unique_ptr< Interface< dim > > create_boundary_heat_flux(ParameterHandler &prm)
void write_plugin_graph(std::ostream &output_stream)
void declare_parameters(ParameterHandler &prm)
void register_boundary_heat_flux(const std::string &name, const std::string &description, void(*declare_parameters_function)(ParameterHandler &), std::unique_ptr< Interface< dim >>(*factory_function)())