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),
52 print(dealii::ConditionalOStream & pcout,
bool unsteady)
54 print_parameter(pcout,
"Error calculation", unsteady ==
true and analytical_solution);
55 if(unsteady ==
true and time_control_data.is_active)
57 print(pcout, unsteady, time_control_data);
58 print_parameter(pcout,
"Calculate relative errors", calculate_relative_errors);
59 print_parameter(pcout,
"Calculate H1-seminorm error", calculate_H1_seminorm_error);
60 print_parameter(pcout,
"Write errors to file", write_errors_to_file);
61 if(write_errors_to_file)
62 print_parameter(pcout,
"Directory", directory);
63 print_parameter(pcout,
"Name", name);
67 std::shared_ptr<dealii::Function<dim>> analytical_solution;
71 bool calculate_relative_errors;
75 bool calculate_H1_seminorm_error;
81 bool write_errors_to_file;
84 bool spatially_weight_error;
86 std::shared_ptr<dealii::Function<dim>> weight;
89 std::string directory;
97 typedef dealii::LinearAlgebra::distributed::Vector<Number> VectorType;
99 ErrorCalculator(MPI_Comm
const & comm);
102 setup(dealii::DoFHandler<dim>
const & dof_handler,
103 dealii::Mapping<dim>
const & mapping,
107 evaluate(VectorType
const & solution,
double const time,
bool const unsteady);
113 do_evaluate(VectorType
const & solution_vector,
double const time);
115 MPI_Comm
const mpi_comm;
117 bool clear_files_L2, clear_files_H1_seminorm;
119 dealii::SmartPointer<dealii::DoFHandler<dim>
const> dof_handler;
120 dealii::SmartPointer<dealii::Mapping<dim>
const> mapping;