16#ifndef dealii_base_parsed_convergence_table_h
17#define dealii_base_parsed_convergence_table_h
274 template <
int dim,
int spacedim,
typename VectorType>
277 const VectorType & solution,
284 template <
int dim,
int spacedim,
typename VectorType>
288 const VectorType & solution,
366 template <
int dim,
int spacedim,
typename VectorType>
376 template <
int dim,
int spacedim,
typename VectorType>
426 std::map<std::string, std::pair<std::function<double()>,
bool>>
482template <
int dim,
int spacedim,
typename VectorType>
502template <
int dim,
int spacedim,
typename VectorType>
524template <
int dim,
int spacedim,
typename VectorType>
527 const VectorType & solution,
540template <
int dim,
int spacedim,
typename VectorType>
544 const VectorType & solution,
556 dh.get_triangulation().n_global_active_cells();
557 const unsigned int n_dofs = dh.n_dofs();
566 else if (col ==
"dofs")
583 if (weight !=
nullptr)
585 if (weight->n_components == 1)
588 f = [&](
const Point<spacedim> &p) {
return weight->value(p); };
593 for (
unsigned int i = 0; i < n_components; ++i)
595 return weight->value(p, i);
602 std::map<VectorTools::NormType, double>
errors;
612 for (
unsigned int j = 0;
j < n_components; ++
j)
620 dh.get_triangulation().n_global_active_cells());
624 for (
const auto &norm :
norms)
The ParsedConvergenceTable class.
void add_extra_column(const std::string &column_name, const std::function< double()> &custom_function, const bool compute_rate=true)
void difference(const Mapping< dim, spacedim > &mapping, const DoFHandler< dim, spacedim > &, const VectorType &, const VectorType &, const Function< spacedim > *weight=nullptr)
void difference(const DoFHandler< dim, spacedim > &, const VectorType &, const VectorType &, const Function< spacedim > *weight=nullptr)
void add_parameters(ParameterHandler &prm)
void error_from_exact(const Mapping< dim, spacedim > &mapping, const DoFHandler< dim, spacedim > &vspace, const VectorType &solution, const Function< spacedim > &exact, const Function< spacedim > *weight=nullptr)
void error_from_exact(const DoFHandler< dim, spacedim > &vspace, const VectorType &solution, const Function< spacedim > &exact, const Function< spacedim > *weight=nullptr)
std::string error_file_name
void prepare_table_for_output()
const std::vector< std::string > component_names
std::set< std::string > extra_columns
const std::vector< std::string > unique_component_names
std::vector< std::set< VectorTools::NormType > > norms_per_unique_component
const std::vector< ComponentMask > unique_component_masks
std::map< std::string, std::pair< std::function< double()>, bool > > extra_column_functions
void set_tex_format(const std::string &key, const std::string &format="c")
void add_value(const std::string &key, const T value)
void set_tex_caption(const std::string &key, const std::string &tex_caption)
void set_scientific(const std::string &key, const bool scientific)
void set_precision(const std::string &key, const unsigned int precision)
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_CLOSE
#define AssertDimension(dim1, dim2)
static ::ExceptionBase & ExcDimensionMismatch(std::size_t arg1, std::size_t arg2)
#define AssertThrow(cond, exc)
const Mapping< dim, spacedim > & get_default_linear_mapping(const Triangulation< dim, spacedim > &triangulation)
double norm(const FEValuesBase< dim > &fe, const ArrayView< const std::vector< Tensor< 1, dim > > > &Du)
unsigned int n_active_cells(const internal::TriangulationImplementation::NumberCache< 1 > &c)