22#ifndef INCLUDE_EXADG_UTILITIES_PRINT_GENERAL_INFOS_H_
23#define INCLUDE_EXADG_UTILITIES_PRINT_GENERAL_INFOS_H_
26#include <deal.II/base/conditional_ostream.h>
27#include <deal.II/base/utilities.h>
28#include <deal.II/distributed/tria_base.h>
29#include <deal.II/fe/mapping_q.h>
32#include <exadg/grid/grid.h>
33#include <exadg/utilities/print_functions.h>
38print_exadg_header(dealii::ConditionalOStream
const & pcout);
42print_MPI_info(dealii::ConditionalOStream
const & pcout, MPI_Comm
const & mpi_comm);
44template<
typename Number>
45inline std::string get_type(Number)
47 return "unknown type";
64print_dealii_info(dealii::ConditionalOStream
const & pcout);
68print_exadg_info(dealii::ConditionalOStream
const & pcout);
70template<
typename Number>
72print_matrixfree_info(dealii::ConditionalOStream
const & pcout)
74 unsigned int const n_vect_doubles = dealii::VectorizedArray<Number>::size();
75 unsigned int const n_vect_bits = 8 *
sizeof(Number) * n_vect_doubles;
76 std::string
const vect_level = dealii::Utilities::System::get_current_vectorization_level();
77 std::string
const type = get_type(Number());
81 <<
"MatrixFree info:" << std::endl
83 <<
" vectorization level = " << DEAL_II_COMPILER_VECTORIZATION_LEVEL
85 <<
" Vectorization over "
86 << n_vect_doubles <<
" " << type <<
" = " << n_vect_bits <<
" bits (" << vect_level <<
")"
93print_grid_info(dealii::ConditionalOStream
const & pcout,
Grid<dim> const & grid)
96 <<
"Generating grid for " << dim <<
"-dimensional problem:" << std::endl
99 print_parameter(pcout,
"Max. number of refinements", grid.triangulation->n_global_levels() - 1);
100 print_parameter(pcout,
"Number of cells", grid.triangulation->n_global_active_cells());
103template<
typename Number>
105print_general_info(dealii::ConditionalOStream
const & pcout,
106 MPI_Comm
const & mpi_comm,
109 print_exadg_header(pcout);
113 print_exadg_info(pcout);
114 print_dealii_info(pcout);
115 print_matrixfree_info<Number>(pcout);
118 print_MPI_info(pcout, mpi_comm);