23 #ifndef _aspect_prescribed_stokes_solution_interface_h 24 #define _aspect_prescribed_stokes_solution_interface_h 28 #include <deal.II/base/point.h> 29 #include <deal.II/base/parameter_handler.h> 31 #include <deal.II/base/function.h> 41 namespace PrescribedStokesSolution
64 void stokes_solution (
const Point<dim> &p, Vector<double> &value)
const = 0;
89 const std::string &description,
90 void (*declare_parameters_function) (ParameterHandler &),
104 std::unique_ptr<Interface<dim>>
141 #define ASPECT_REGISTER_PRESCRIBED_STOKES_SOLUTION(classname,name,description) \ 142 template class classname<2>; \ 143 template class classname<3>; \ 144 namespace ASPECT_REGISTER_PRESCRIBED_STOKES_SOLUTION_ ## classname \ 146 aspect::internal::Plugins::RegisterHelper<aspect::PrescribedStokesSolution::Interface<2>,classname<2>> \ 147 dummy_ ## classname ## _2d (&aspect::PrescribedStokesSolution::register_prescribed_stokes_solution_model<2>, \ 148 name, description); \ 149 aspect::internal::Plugins::RegisterHelper<aspect::PrescribedStokesSolution::Interface<3>,classname<3>> \ 150 dummy_ ## classname ## _3d (&aspect::PrescribedStokesSolution::register_prescribed_stokes_solution_model<3>, \ 151 name, description); \
void register_prescribed_stokes_solution_model(const std::string &name, const std::string &description, void(*declare_parameters_function)(ParameterHandler &), std::unique_ptr< Interface< dim >>(*factory_function)())
virtual void stokes_solution(const Point< dim > &p, Vector< double > &value) const =0
std::unique_ptr< Interface< dim > > create_prescribed_stokes_solution(ParameterHandler &prm)
void write_plugin_graph(std::ostream &output_stream)
static void declare_parameters(ParameterHandler &prm)