OGS
OutputDataSpecification.h
Go to the documentation of this file.
1
11#pragma once
12
13#include <ostream>
14#include <set>
15#include <string>
16#include <vector>
17
18#include "BaseLib/Error.h"
19
20namespace ProcessLib
21{
23{
24 explicit PairRepeatEachSteps(int c, int e) : repeat(c), each_steps(e) {}
25
26 const int repeat;
27 const int each_steps;
28};
29
30std::ostream& operator<<(std::ostream& os, PairRepeatEachSteps const& pair);
31
34{
36 std::set<std::string>&& output_variables_,
37 std::vector<double>&& fixed_output_times_,
38 std::vector<PairRepeatEachSteps>&& repeats_each_steps_,
39 bool const output_residuals_);
40
42 std::set<std::string> output_variables;
43
45 std::vector<double> fixed_output_times;
46
48 std::vector<PairRepeatEachSteps> repeats_each_steps;
49
52
55 bool isOutputStep(int timestep, double const time) const;
56};
57
58std::ostream& operator<<(std::ostream& os, OutputDataSpecification const& o);
59
60} // namespace ProcessLib
std::ostream & operator<<(std::ostream &os, Output const &output)
Definition Output.cpp:446
Holds information about which variables to write to output files.
std::vector< PairRepeatEachSteps > repeats_each_steps
Describes after which timesteps to write output.
std::vector< double > fixed_output_times
Given times that steps have to reach.
bool output_residuals
Tells if also to output extrapolation residuals.
std::set< std::string > output_variables
All variables that shall be output.
bool isOutputStep(int timestep, double const time) const
OutputDataSpecification(std::set< std::string > &&output_variables_, std::vector< double > &&fixed_output_times_, std::vector< PairRepeatEachSteps > &&repeats_each_steps_, bool const output_residuals_)
const int repeat
Apply each_steps repeat times.
const int each_steps
Do output every each_steps timestep.