39 Output(std::unique_ptr<OutputFormat>&& output_format,
40 bool const output_nonlinear_iteration_results,
42 std::vector<std::string>&& mesh_names_for_output,
43 std::vector<std::unique_ptr<MeshLib::Mesh>>
const& meshes);
57 std::string
const& property_name,
65 std::vector<GlobalVector*>
const& xs)
const;
73 std::vector<GlobalVector*>
const& xs)
const;
81 std::vector<GlobalVector*>
const& xs)
const;
86 const int process_id,
int const timestep,
88 std::vector<GlobalVector*>
const& xs)
const;
109 int const timestep,
const double t,
int const iteration,
110 std::vector<std::reference_wrapper<const MeshLib::Mesh>>
const& meshes)
114 std::string
const& submesh_output_name,
Process const& process,
116 std::vector<GlobalVector*>
const& xs)
const;
132 std::reference_wrapper<std::vector<std::unique_ptr<MeshLib::Mesh>>
const>
135 std::set<std::pair<std::string, MeshLib::MeshItemType>>
140 std::vector<Output>
const& outputs);
std::set< std::pair< std::string, MeshLib::MeshItemType > > _do_not_project_from_bulk_mesh_to_submeshes
std::reference_wrapper< std::vector< std::unique_ptr< MeshLib::Mesh > > const > _meshes
std::vector< std::string > _mesh_names_for_output
void doOutputAlways(Process const &process, const int process_id, int const timestep, const NumLib::Time &t, int const iteration, std::vector< GlobalVector * > const &xs) const
Output & operator=(Output &&src)=default
friend std::ostream & operator<<(std::ostream &os, Output const &output)
Output(Output &&other)=default
Output(Output const &other)=delete
void doNotProjectFromBulkMeshToSubmeshes(std::string const &property_name, MeshLib::MeshItemType const mesh_item_type)
OutputDataSpecification _output_data_specification
std::vector< std::reference_wrapper< Process const > > _output_processes
MeshLib::Mesh const & prepareSubmesh(std::string const &submesh_output_name, Process const &process, const int process_id, NumLib::Time const &t, std::vector< GlobalVector * > const &xs) const
void doOutputLastTimestep(Process const &process, const int process_id, int const timestep, const NumLib::Time &t, int const iteration, std::vector< GlobalVector * > const &xs) const
void doOutputNonlinearIteration(Process const &process, const int process_id, int const timestep, const NumLib::Time &t, const int iteration, std::vector< GlobalVector * > const &xs) const
void doOutput(Process const &process, const int process_id, int const timestep, const NumLib::Time &t, int const iteration, std::vector< GlobalVector * > const &xs) const
Output & operator=(Output const &src)=delete
Output(std::unique_ptr< OutputFormat > &&output_format, bool const output_nonlinear_iteration_results, OutputDataSpecification &&output_data_specification, std::vector< std::string > &&mesh_names_for_output, std::vector< std::unique_ptr< MeshLib::Mesh > > const &meshes)
bool isOutputProcess(int const process_id, Process const &process) const
std::unique_ptr< OutputFormat > _output_format
void outputMeshes(int const timestep, const double t, int const iteration, std::vector< std::reference_wrapper< const MeshLib::Mesh > > const &meshes) const
void addProcess(ProcessLib::Process const &process)
TODO doc. Opens a PVD file for each process.
bool _output_nonlinear_iteration_results
std::vector< std::string > getFileNamesForOutput() const
bool isOutputStep(int const timestep, NumLib::Time const &t) const
Tells if output will be written at the specified timestep/time.
std::vector< double > const & getFixedOutputTimes() const
std::vector< double > calculateUniqueFixedTimesForAllOutputs(std::vector< Output > const &outputs)
Holds information about which variables to write to output files.
std::vector< double > fixed_output_times
Given times that steps have to reach.