38struct ErrorCalculationData
40 ErrorCalculationData()
41 : calculate_relative_errors(
true),
42 calculate_H1_seminorm_error(
false),
43 write_errors_to_file(
false),
44 spatially_weight_error(
false),
46 additional_quadrature_points(3),
53 print(dealii::ConditionalOStream & pcout,
bool unsteady)
55 print_parameter(pcout,
"Error calculation", unsteady ==
true and analytical_solution);
56 if(unsteady ==
true and time_control_data.is_active)
58 print(pcout, unsteady, time_control_data);
59 print_parameter(pcout,
"Calculate relative errors", calculate_relative_errors);
60 print_parameter(pcout,
"Calculate H1-seminorm error", calculate_H1_seminorm_error);
61 print_parameter(pcout,
"Write errors to file", write_errors_to_file);
62 if(write_errors_to_file)
63 print_parameter(pcout,
"Directory", directory);
64 print_parameter(pcout,
"Name", name);
68 std::shared_ptr<dealii::Function<dim>> analytical_solution;
72 bool calculate_relative_errors;
76 bool calculate_H1_seminorm_error;
82 bool write_errors_to_file;
85 bool spatially_weight_error;
87 std::shared_ptr<dealii::Function<dim>> weight;
89 unsigned int additional_quadrature_points;
92 std::string directory;
100 typedef dealii::LinearAlgebra::distributed::Vector<Number> VectorType;
102 ErrorCalculator(MPI_Comm
const & comm);
105 setup(dealii::DoFHandler<dim>
const & dof_handler,
106 dealii::Mapping<dim>
const & mapping,
110 evaluate(VectorType
const & solution,
double const time,
bool const unsteady);
116 do_evaluate(VectorType
const & solution_vector,
double const time);
118 MPI_Comm
const mpi_comm;
120 bool clear_files_L2, clear_files_H1_seminorm;
122 dealii::ObserverPointer<dealii::DoFHandler<dim>
const> dof_handler;
123 dealii::ObserverPointer<dealii::Mapping<dim>
const> mapping;