#include <thermodynamicoutput.h>
Writes the thermodynamic quantities at a specified point versus time.
This class is a temporary solution to write thermodynamic quantities out. Calculations are called directly inside the output functions. In future it should be substituted by some more general output.
Definition at line 39 of file thermodynamicoutput.h.
Public Member Functions | |
ThermodynamicOutput (const std::filesystem::path &path, const std::string &name, const OutputParameters &out_par) | |
Construct Output param[in] path Path to output param[in] name Filename param[in] out_par Parameters of output. More... | |
~ThermodynamicOutput () | |
Default destructor. More... | |
void | at_eventstart (const std::vector< Particles > &ensembles, const int event_number) override |
writes the event header More... | |
void | at_eventend (const std::vector< Particles > &ensembles, const int event_number) override |
only flushes the output the file More... | |
void | at_intermediate_time (const std::vector< Particles > &ensembles, const std::unique_ptr< Clock > &clock, const DensityParameters &dens_param) override |
Writes thermodynamics every fixed time interval. More... | |
void | density_along_line (const char *file_name, const ParticleList &plist, const DensityParameters ¶m, DensityType dens_type, const ThreeVector &line_start, const ThreeVector &line_end, int n_points) |
Prints density along the specified line. More... | |
Public Member Functions inherited from smash::OutputInterface | |
OutputInterface (std::string name) | |
Construct output interface. More... | |
virtual | ~OutputInterface ()=0 |
Pure virtual destructor to make class abstract and prevent its instantiation. More... | |
virtual void | at_eventstart (const Particles &, const int, const EventInfo &) |
Output launched at event start after initialization, when particles are generated but not yet propagated. More... | |
virtual void | at_eventstart (const int, const ThermodynamicQuantity, const DensityType, RectangularLattice< DensityOnLattice >) |
Output launched at event start after initialization, when particles are generated but not yet propagated. More... | |
virtual void | at_eventstart (const int, const ThermodynamicQuantity, const DensityType, RectangularLattice< EnergyMomentumTensor >) |
Output launched at event start after initialization, when particles are generated but not yet propagated. More... | |
virtual void | at_eventend (const int, const ThermodynamicQuantity, const DensityType) |
Output launched at event end. More... | |
virtual void | at_eventend (const ThermodynamicQuantity) |
Output launched at event end. More... | |
virtual void | at_eventend (const Particles &, const int, const EventInfo &) |
Output launched at event end. More... | |
virtual void | at_interaction (const Action &, const double) |
Called whenever an action modified one or more particles. More... | |
virtual void | at_intermediate_time (const Particles &, const std::unique_ptr< Clock > &, const DensityParameters &, const EventInfo &) |
Output launched after every N'th time-step. More... | |
virtual void | thermodynamics_output (const ThermodynamicQuantity, const DensityType, RectangularLattice< DensityOnLattice > &) |
Output to write thermodynamics from the lattice. More... | |
virtual void | thermodynamics_output (const ThermodynamicQuantity, const DensityType, RectangularLattice< EnergyMomentumTensor > &) |
Output to write energy-momentum tensor and related quantities from the lattice. More... | |
virtual void | thermodynamics_lattice_output (RectangularLattice< DensityOnLattice > &, const double) |
Output to write thermodynamics from the lattice. More... | |
virtual void | thermodynamics_lattice_output (RectangularLattice< DensityOnLattice > &, const double, const std::vector< Particles > &, const DensityParameters &) |
Output to write thermodynamics from the lattice. More... | |
virtual void | thermodynamics_lattice_output (const ThermodynamicQuantity, RectangularLattice< EnergyMomentumTensor > &, const double) |
Output to write energy-momentum tensor and related quantities from the lattice. More... | |
virtual void | thermodynamics_output (const GrandCanThermalizer &) |
Output to write energy-momentum tensor and related quantities from the thermalizer class. More... | |
virtual void | fields_output (const std::string, const std::string, RectangularLattice< std::pair< ThreeVector, ThreeVector >> &) |
Write fields in vtk output Fields are a pair of threevectors for example electric and magnetic field. More... | |
bool | is_dilepton_output () const |
Get, whether this is the dilepton output? More... | |
bool | is_photon_output () const |
Get, whether this is the photon output? More... | |
bool | is_IC_output () const |
Get, whether this is the IC output? More... | |
const char * | to_string (const ThermodynamicQuantity tq) |
Convert thermodynamic quantities to strings. More... | |
const char * | to_string (const DensityType dens_type) |
Convert density types to strings. More... | |
Private Attributes | |
RenamingFilePtr | file_ |
Pointer to output file. More... | |
const OutputParameters | out_par_ |
Structure that holds all the information about what to printout. More... | |
Additional Inherited Members | |
Protected Attributes inherited from smash::OutputInterface | |
const bool | is_dilepton_output_ |
Is this the dilepton output? More... | |
const bool | is_photon_output_ |
Is this the photon output? More... | |
const bool | is_IC_output_ |
Is this the IC output? More... | |
smash::ThermodynamicOutput::ThermodynamicOutput | ( | const std::filesystem::path & | path, |
const std::string & | name, | ||
const OutputParameters & | out_par | ||
) |
Construct Output param[in] path Path to output param[in] name Filename param[in] out_par Parameters of output.
Definition at line 115 of file thermodynamicoutput.cc.
smash::ThermodynamicOutput::~ThermodynamicOutput | ( | ) |
|
overridevirtual |
writes the event header
[in] | ensembles | Dummy, is just here to satisfy inheritance |
[in] | event_number | Current event number, that will be written to the header |
Reimplemented from smash::OutputInterface.
Definition at line 172 of file thermodynamicoutput.cc.
|
overridevirtual |
only flushes the output the file
[in] | ensembles | Dummy, is just here to satisfy inheritance |
[in] | event_number | Dummy, is just here to satisfy inheritance |
Reimplemented from smash::OutputInterface.
Definition at line 177 of file thermodynamicoutput.cc.
|
overridevirtual |
Writes thermodynamics every fixed time interval.
For configuring the output see ASCII thermodynamics output.
[in] | ensembles | Particles, from which thermodynamic variables are computed |
[in] | clock | Clock, needed to get current time |
[in] | dens_param | set of parameters, defining smearing. For more info about smearing see ASCII thermodynamics output. |
Reimplemented from smash::OutputInterface.
Definition at line 182 of file thermodynamicoutput.cc.
void smash::ThermodynamicOutput::density_along_line | ( | const char * | file_name, |
const ParticleList & | plist, | ||
const DensityParameters & | param, | ||
DensityType | dens_type, | ||
const ThreeVector & | line_start, | ||
const ThreeVector & | line_end, | ||
int | n_points | ||
) |
Prints density along the specified line.
Useful to make 1D plots of density profiles.
[in] | file_name | name of the file to print out |
[in] | param | Parameters for density calculation |
[in] | plist | particles, from which density is computed |
[in] | dens_type | type of density |
[in] | line_start | starting point of the line |
[in] | line_end | ending point of the line |
[in] | n_points | number of points along the line, where density is printed out |
Definition at line 266 of file thermodynamicoutput.cc.
|
private |
Pointer to output file.
Definition at line 103 of file thermodynamicoutput.h.
|
private |
Structure that holds all the information about what to printout.
Definition at line 105 of file thermodynamicoutput.h.