include/meltpooldg/utilities/journal.hpp Source File

Developer Documentation: include/meltpooldg/utilities/journal.hpp Source File
Developer Documentation
journal.hpp
Go to the documentation of this file.
1#pragma once
2#include <deal.II/base/table_handler.h>
3
5
6#include <functional>
7#include <iomanip>
8
10{
11 // maximum character width of terminal text
12 static constexpr int max_text_width = 100;
13
20 inline void
22 {
23 pcout << "+" << std::string(max_text_width - 2, '-') << "+" << std::endl;
24 }
25
39 void
40 print_line(const ConditionalOStream &pcout,
41 const std::string &text = "",
42 const std::string &operation_name = "",
43 const unsigned int extra_size = 0);
44
48 void
50 const std::string &text = "",
51 const std::string &operation_name = "",
52 const unsigned int extra_size = 0);
53
83 void
85 const std::string &title,
86 const dealii::TableHandler &table);
87
95 inline void
96 print_header(const ConditionalOStream &pcout, const std::string &header)
97 {
99 print_line(pcout, std::string(0.5 * (max_text_width - header.size()), ' ') + header);
101 }
102
108 inline void
110 {
112 print_line(pcout, " end of simulation");
114 }
115
121 inline void
123 {
125 print_line(pcout, std::string(48, ' ') + "MeltPoolDG");
127 }
128
140 template <typename number>
141 void
143 const number norm_value,
144 const std::string &norm_id,
145 const std::string &operation_name,
146 const unsigned int precision = 6,
147 const std::string &norm_suffix = "L2",
148 const unsigned int extra_size = 0);
149
163 template <typename number>
164 void
166 const std::function<number()> &compute_norm,
167 const std::string &norm_id,
168 const std::string &operation_name,
169 const unsigned int precision = 6,
170 const std::string &norm_suffix = "L2",
171 const unsigned int extra_size = 0);
172} // namespace MeltPoolDG::Journal
Definition conditional_ostream.hpp:7
Definition journal.hpp:10
void print_decoration_line(const ConditionalOStream &pcout)
Definition journal.hpp:21
void print_formatted_norm(const ConditionalOStream &pcout, const number norm_value, const std::string &norm_id, const std::string &operation_name, const unsigned int precision=6, const std::string &norm_suffix="L2", const unsigned int extra_size=0)
Definition journal.cpp:119
void print_table(const ConditionalOStream &pcout, const std::string &title, const dealii::TableHandler &table)
Print a multi-line preconfigured table inside a single bordered box with a title row.
Definition journal.cpp:49
static constexpr int max_text_width
Definition journal.hpp:12
void print_start(const ConditionalOStream &pcout)
Definition journal.hpp:122
void print_line(const ConditionalOStream &pcout, const std::string &text="", const std::string &operation_name="", const unsigned int extra_size=0)
Definition journal.cpp:21
void print_line_with_decoration(const ConditionalOStream &pcout, const std::string &text="", const std::string &operation_name="", const unsigned int extra_size=0)
Definition journal.cpp:34
void print_header(const ConditionalOStream &pcout, const std::string &header)
Prints a formatted header consisting of a centered text surrounded by decorative lines above and belo...
Definition journal.hpp:96
void print_end(const ConditionalOStream &pcout)
Definition journal.hpp:109