10 #ifndef SRC_INCLUDE_SMASH_VTKOUTPUT_H_
11 #define SRC_INCLUDE_SMASH_VTKOUTPUT_H_
38 VtkOutput(
const std::filesystem::path &path,
const std::string &name,
74 const std::unique_ptr<Clock> &clock,
112 const std::string name1,
const std::string name2,
129 std::string
make_filename(
const std::string &description,
int counter);
147 template <
typename T>
149 const std::string &description);
159 template <
typename T,
typename F>
161 const std::string &varname, F &&
function);
171 template <
typename T,
typename F>
173 const std::string &varname, F &&
function);
A class to pre-calculate and store parameters relevant for density calculation.
The GrandCanThermalizer class implements the following functionality:
Abstraction of generic output.
The Particles class abstracts the storage and manipulation of particles.
A container class to hold all the arrays on the lattice and access them.
SMASH output in a paraview format, intended for simple visualization.
void write_vtk_scalar(std::ofstream &file, RectangularLattice< T > &lat, const std::string &varname, F &&function)
Write a VTK scalar.
void at_eventend(const Particles &particles, const int event_number, const EventInfo &event) override
Writes the final particle information list of an event to the VTK output.
int vtk_density_output_counter_
Number of density lattice vtk output in current event.
void fields_output(const std::string name1, const std::string name2, RectangularLattice< std::pair< ThreeVector, ThreeVector >> &lat) override
Write fields in vtk output Fields are a pair of threevectors for example electric and magnetic field.
bool is_fields_output_
Is the VTK output an output for fields.
int vtk_output_counter_
Number of vtk output in current event.
void write(const Particles &particles)
Write the given particles to the output.
int vtk_fluidization_counter_
Number of fluidization output.
int current_event_
Event number.
VtkOutput(const std::filesystem::path &path, const std::string &name, const OutputParameters &out_par)
Create a new VTK output.
void write_vtk_header(std::ofstream &file, RectangularLattice< T > &lat, const std::string &description)
Write the VTK header.
int vtk_fields_output_counter_
Number of fields output in current event.
void write_vtk_vector(std::ofstream &file, RectangularLattice< T > &lat, const std::string &varname, F &&function)
Write a VTK vector.
std::string make_varname(const ThermodynamicQuantity tq, const DensityType dens_type)
Make a variable name given quantity and density type.
bool is_thermodynamics_output_
Is the VTK output a thermodynamics output.
int vtk_tmn_landau_output_counter_
Number of Landau frame energy-momentum tensor vtk output in current event.
void at_intermediate_time(const Particles &particles, const std::unique_ptr< Clock > &clock, const DensityParameters &dens_param, const EventInfo &event) override
Writes out all current particles.
void thermodynamics_output(const ThermodynamicQuantity tq, const DensityType dt, RectangularLattice< DensityOnLattice > &lattice) override
Prints the density lattice in VTK format on a grid.
int vtk_v_landau_output_counter_
Number of Landau rest frame velocity vtk output in current event.
void at_eventstart(const Particles &particles, const int event_number, const EventInfo &event) override
Writes the initial particle information list of an event to the VTK output.
const std::filesystem::path base_path_
filesystem path for output
std::string make_filename(const std::string &description, int counter)
Make a file name given a description and a counter.
int vtk_tmn_output_counter_
Number of energy-momentum tensor lattice vtk output in current event.
ThermodynamicQuantity
Represents thermodynamic quantities that can be printed out See user guide description for more infor...
DensityType
Allows to choose which kind of density to calculate.
Structure to contain custom data for output.
Helper structure for Experiment to hold output options and parameters.