6#include <deal.II/base/exceptions.h>
15#include <prismspf/config.h>
49 template <
typename ListType>
62 if (num_increments == 0)
71 unsigned int period = std::max(1U, num_increments / num_outputs);
72 for (
unsigned int output = 0; output <= num_increments; output += period)
88 for (
unsigned int output = 1; output <= num_outputs; output++)
90 output_list.insert(
static_cast<unsigned int>(std::round(
91 std::pow(
double(num_increments),
double(output) /
double(num_outputs)))));
105 AssertThrow(num_increments > 1,
106 dealii::ExcMessage(
"For n per decaded spaced outputs, the number of "
107 "increments must be greater than 1."));
111 for (
unsigned int iteration = 2; iteration <= num_increments; iteration++)
113 const auto decade =
static_cast<unsigned int>(std::ceil(std::log10(iteration)));
114 const auto step_size =
115 static_cast<unsigned int>(std::pow(10, decade) / num_outputs);
116 if (iteration % step_size == 0)
135 [[nodiscard]]
unsigned int
179 <<
"================================================\n"
180 <<
" Output Parameters\n"
181 <<
"================================================\n"
182 <<
"Output file type: " <<
file_type <<
"\n"
183 <<
"Output file name: " <<
file_name <<
"\n"
197PRISMS_PF_END_NAMESPACE
static dealii::ConditionalOStream & pout_summary()
Log output stream for writing a summary.log file.
Definition conditional_ostreams.cc:35
Definition conditional_ostreams.cc:20
Struct that holds output parameters.
Definition output_parameters.h:27
bool print_timing_with_output
Definition output_parameters.h:159
unsigned int patch_subdivisions
Definition output_parameters.h:152
void add_log_spacing_outputs(unsigned int num_outputs, unsigned int num_increments)
Set the user output list.
Definition output_parameters.h:82
void clear_output_list()
Set the user output list.
Definition output_parameters.h:127
unsigned int print_output_period
Definition output_parameters.h:155
void add_output_list(const ListType &list)
Set the user output list.
Definition output_parameters.h:51
std::string file_name
Definition output_parameters.h:148
void print_parameter_summary() const
Print parameters to summary.log.
Definition output_parameters.h:176
std::set< unsigned int > output_list
Definition output_parameters.h:162
bool should_output(unsigned int increment) const
Return if the increment should be outputted.
Definition output_parameters.h:166
std::string file_type
Definition output_parameters.h:145
void add_n_per_decade_outputs(unsigned int num_outputs, unsigned int num_increments)
Set the user output list.
Definition output_parameters.h:99
void validate()
Postprocess and validate parameters.
Definition output_parameters.h:172
unsigned int get_num_outputs() const
Get the number of outputs that will be made.
Definition output_parameters.h:136
void add_equal_spacing_outputs(unsigned int num_outputs, unsigned int num_increments)
Set the user output list.
Definition output_parameters.h:60
std::string directory
Definition output_parameters.h:142
const char * bool_to_string(bool boolean)
Convert bool to string.
Definition utilities.h:254