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 NumLib
21{
22struct Time;
23}
24
25namespace ProcessLib
26{
28{
29 explicit PairRepeatEachSteps(int c, int e) : repeat(c), each_steps(e) {}
30
31 const int repeat;
32 const int each_steps;
33};
34
35std::ostream& operator<<(std::ostream& os, PairRepeatEachSteps const& pair);
36
39{
41 std::set<std::string>&& output_variables_,
42 std::vector<double>&& fixed_output_times_,
43 std::vector<PairRepeatEachSteps>&& repeats_each_steps_,
44 bool const output_residuals_);
45
47 std::set<std::string> output_variables;
48
50 std::vector<double> fixed_output_times;
51
53 std::vector<PairRepeatEachSteps> repeats_each_steps;
54
57
60 bool isOutputStep(int timestep, NumLib::Time const& time) const;
61};
62
63std::ostream& operator<<(std::ostream& os, OutputDataSpecification const& o);
64
65} // namespace ProcessLib
std::ostream & operator<<(std::ostream &os, Output const &output)
Definition Output.cpp:447
Holds information about which variables to write to output files.
bool isOutputStep(int timestep, NumLib::Time const &time) const
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.
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.