Class Dune::XT::Common::ConvergenceStudy¶
-
class Dune::XT::Common::ConvergenceStudy¶
Base class for convergence studies that refine a discretization and report experimental orders of convergence.
Method Dune::XT::Common::ConvergenceStudy::num_refinements¶
-
int Dune::XT::Common::ConvergenceStudy::num_refinements() const¶
The number of refinements to carry out. discretiztion_info() and compute() will be called for 0 <= refinement_level <= num_refinements.
Method Dune::XT::Common::ConvergenceStudy::targets¶
-
int Dune::XT::Common::ConvergenceStudy::targets() const¶
The identifiers of the targets with respect to which the EOCs will be computed.
Note
This must not be empty!
Note
Target ids are shortened to length 4 in EOC column headers. This is usually something like “h” or “dt”.
Method Dune::XT::Common::ConvergenceStudy::norms¶
-
int Dune::XT::Common::ConvergenceStudy::norms() const¶
Error norms of which the EOCs will be computed.
Method Dune::XT::Common::ConvergenceStudy::estimates¶
-
int Dune::XT::Common::ConvergenceStudy::estimates() const¶
A posteriori error estimates (and corresponding norms) of which the EOCs will be computed.
Method Dune::XT::Common::ConvergenceStudy::quantities¶
-
int Dune::XT::Common::ConvergenceStudy::quantities() const¶
Quantities to be displayed.
Method Dune::XT::Common::ConvergenceStudy::discretization_info_title¶
-
virtual std::string Dune::XT::Common::ConvergenceStudy::discretization_info_title() const = 0¶
Header to be printed in the column which displays discretization_info().
Method Dune::XT::Common::ConvergenceStudy::discretization_info¶
-
virtual std::string Dune::XT::Common::ConvergenceStudy::discretization_info(const int refinement_level) = 0¶
Statistics about the discretization, in addition to targets().
Note
This is the first called on a new level and can be used to set the internal current refinemen_level. This is usually somthing like the number of DoFs or grid elements
Method Dune::XT::Common::ConvergenceStudy::compute¶
-
int Dune::XT::Common::ConvergenceStudy::compute(const int refinement_level, const int &actual_norms, const int &actual_estimates, const int &actual_quantities)¶
Carries out the actual computations on this refinement_level. This usually solves the problem and computes various statistics, which are expected to be of the form
Method Dune::XT::Common::ConvergenceStudy::expected_rate¶
-
virtual double Dune::XT::Common::ConvergenceStudy::expected_rate(const std::string &type, const std::string &id) const¶
The expected rates of convergence, merely to be used to color the EOCs.
Method Dune::XT::Common::ConvergenceStudy::filter¶
-
int Dune::XT::Common::ConvergenceStudy::filter(const int &vec, const int &only_these) const¶
No documentation provided.
Method Dune::XT::Common::ConvergenceStudy::lfill¶
-
std::string Dune::XT::Common::ConvergenceStudy::lfill(const std::string &id, const int len) const¶
No documentation provided.
Method Dune::XT::Common::ConvergenceStudy::cfill¶
-
std::string Dune::XT::Common::ConvergenceStudy::cfill(const std::string &id, const int len) const¶
No documentation provided.
Method Dune::XT::Common::ConvergenceStudy::extract¶
-
double Dune::XT::Common::ConvergenceStudy::extract(const int &level_data, const std::string &type, const std::string &id) const¶
Method Dune::XT::Common::ConvergenceStudy::extract¶
-
double Dune::XT::Common::ConvergenceStudy::extract(const int) const¶
No documentation provided.
Method Dune::XT::Common::ConvergenceStudy::print_eoc¶
-
void Dune::XT::Common::ConvergenceStudy::print_eoc(std::ostream &out, const int len, const int) const¶
No documentation provided.
Method Dune::XT::Common::ConvergenceStudy::wrap_quantity_id¶
-
std::array<std::string, 3> Dune::XT::Common::ConvergenceStudy::wrap_quantity_id(const std::string &id, const int column_width) const¶
No documentation provided.
Method Dune::XT::Common::ConvergenceStudy::print_norm_eocs¶
-
void Dune::XT::Common::ConvergenceStudy::print_norm_eocs(std::ostream &out, const int eoc_column_width, const int) const¶
No documentation provided.
Method Dune::XT::Common::ConvergenceStudy::run¶
-
int Dune::XT::Common::ConvergenceStudy::run(const int &only_these = {}, std::ostream &out = std::cout)¶
Runs the study and displays a table with all targets, norms, estimates and quantities given by the study (if only_these is empty) or only those which are contained in only_these (else).
:returns: data with data[foo][bar][level] where 0 <= level <= num_refinements(), “foo” is one of {“target”, “norm”, “estimate”, “quantity”} and bar is one of targets(), norms(), estimates() or quantities() (intersected with only_these), respectively.
Destructor Dune::XT::Common::ConvergenceStudy::~ConvergenceStudy¶
-
virtual Dune::XT::Common::ConvergenceStudy::~ConvergenceStudy() = default¶
No documentation provided.