22#ifndef INCLUDE_FUNCTIONALITIES_PRINTFUNCTIONS_H_
23#define INCLUDE_FUNCTIONALITIES_PRINTFUNCTIONS_H_
29#include <deal.II/base/conditional_ostream.h>
30#include <deal.II/base/mpi.h>
33#include <exadg/utilities/enum_utilities.h>
37template<
typename ParameterType>
39print_parameter(dealii::ConditionalOStream
const & pcout,
40 std::string
const name,
41 ParameterType
const value);
44print_name(dealii::ConditionalOStream
const & pcout, std::string
const name);
46template<
typename ParameterType>
48print_value(dealii::ConditionalOStream
const & pcout, ParameterType
const value);
52print_value(dealii::ConditionalOStream
const & pcout,
bool const value);
56print_value(dealii::ConditionalOStream
const & pcout,
double const value);
59template<
typename ParameterType>
61print_parameter(dealii::ConditionalOStream
const & pcout,
62 std::string
const name,
63 ParameterType
const value)
65 print_name(pcout, name);
66 print_value(pcout, value);
72print_name(dealii::ConditionalOStream
const & pcout, std::string
const name)
74 unsigned int const max_length_name = 45;
76 pcout <<
" " << name <<
":" ;
77 int const remaining_spaces = max_length_name - 2 - 1 - name.length();
79 for(
int i = 0; i < remaining_spaces; ++i)
84template<
typename ParameterType>
86print_value(dealii::ConditionalOStream
const & pcout, ParameterType
const value)
88 if constexpr(Utilities::is_enum<ParameterType>())
91 pcout << value << std::endl;
97print_value(dealii::ConditionalOStream
const & pcout,
bool const value)
99 std::string value_string =
"default";
100 value_string = (value ==
true) ?
"true" :
"false";
101 print_value(pcout, value_string);
107print_value(dealii::ConditionalOStream
const & pcout,
double const value)
109 pcout << std::scientific << std::setprecision(4) << value << std::endl;
113print_horizontal_line()
115 return "________________________________________________________________________________";
119print_write_output_time(
double const time,
120 unsigned int const counter,
122 MPI_Comm
const & mpi_comm)
124 dealii::ConditionalOStream pcout(std::cout,
125 dealii::Utilities::MPI::this_mpi_process(mpi_comm) == 0);
129 <<
"OUTPUT << Write data at time t = " << std::scientific << std::setprecision(4) << time
135 <<
"OUTPUT << Write " << (counter == 0 ?
"initial" :
"solution") <<
" data" << std::endl;
std::string enum_to_string(EnumType const enum_type)
Converts and enum to a string, returning the string.
Definition enum_utilities.h:67