22 #ifndef _aspect_termination_criteria_interface_h
23 #define _aspect_termination_criteria_interface_h
35 template <
int dim>
class Simulator;
45 namespace TerminationCriteria
184 const std::string &description,
206 <<
"Could not find entry <"
208 <<
"> among the names of registered termination criteria objects.");
220 #define ASPECT_REGISTER_TERMINATION_CRITERION(classname,name,description) \
221 template class classname<2>; \
222 template class classname<3>; \
223 namespace ASPECT_REGISTER_TERMINATION_CRITERION_ ## classname \
225 aspect::internal::Plugins::RegisterHelper<aspect::TerminationCriteria::Interface<2>,classname<2>> \
226 dummy_ ## classname ## _2d (&aspect::TerminationCriteria::Manager<2>::register_termination_criterion, \
227 name, description); \
228 aspect::internal::Plugins::RegisterHelper<aspect::TerminationCriteria::Interface<3>,classname<3>> \
229 dummy_ ## classname ## _3d (&aspect::TerminationCriteria::Manager<3>::register_termination_criterion, \
230 name, description); \
virtual double check_for_last_time_step(const double time_step) const
void parse_parameters(ParameterHandler &prm) override
static void write_plugin_graph(std::ostream &output_stream)
double check_for_last_time_step(const double time_step) const
static void register_termination_criterion(const std::string &name, const std::string &description, void(*declare_parameters_function)(ParameterHandler &), std::unique_ptr< Interface< dim >>(*factory_function)())
virtual bool execute() const
DeclException1(ExcTerminationCriteriaNameNotFound, std::string,<< "Could not find entry <"<< arg1<< "> among the names of registered termination criteria objects.")
static void declare_parameters(ParameterHandler &prm)