Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Jetscape::FluidDynamics Class Reference

#include <JETSCAPE/blob/main/src/framework/FluidDynamics.h>

+ Inheritance diagram for Jetscape::FluidDynamics:
+ Collaboration diagram for Jetscape::FluidDynamics:

Public Member Functions

 FluidDynamics ()
 
virtual ~FluidDynamics ()
 
virtual void Init ()
 
virtual void Exec ()
 
virtual void Clear ()
 
ParameterGetParameterList ()
 
virtual void CollectHeader (weak_ptr< JetScapeWriter > w)
 
virtual double GetEventPlaneAngle ()
 
virtual void GetTemperature (double t, double x, double y, double z, double &mT)
 
virtual void GetHydroCell (double t, double x, double y, double z, std::unique_ptr< FluidCellInfo > &fCell)
 
virtual void InitializeHydro (Parameter parameter_list)
 
virtual void EvolveHydro ()
 
int GetHydroStatus () const
 
void StoreHydroEvolutionHistory (std::unique_ptr< FluidCellInfo > &fluid_cell_info_ptr)
 
void clear_up_evolution_data ()
 
void GetHydroStartTime (double &tau0)
 
Jetscape::real GetHydroEndTime () const
 
Jetscape::real GetHydroFreezeOutTemperature () const
 
virtual void GetHydroInfo (Jetscape::real t, Jetscape::real x, Jetscape::real y, Jetscape::real z, std::unique_ptr< FluidCellInfo > &fluid_cell_info_ptr)
 
void PrintFluidCellInformation (FluidCellInfo *fluid_cell_info_ptr)
 
void FindAConstantTemperatureSurface (Jetscape::real T_sw, std::vector< SurfaceCellInfo > &surface_cells)
 
virtual Jetscape::real GetEnergyDensity (Jetscape::real time, Jetscape::real x, Jetscape::real y, Jetscape::real z)
 
virtual Jetscape::real GetEntropyDensity (Jetscape::real time, Jetscape::real x, Jetscape::real y, Jetscape::real z)
 
virtual Jetscape::real GetTemperature (Jetscape::real time, Jetscape::real x, Jetscape::real y, Jetscape::real z)
 
virtual Jetscape::real GetQgpFraction (Jetscape::real time, Jetscape::real x, Jetscape::real y, Jetscape::real z)
 
virtual void add_a_liquefier (std::shared_ptr< LiquefierBase > new_liquefier)
 
void get_source_term (Jetscape::real tau, Jetscape::real x, Jetscape::real y, Jetscape::real eta, std::array< Jetscape::real, 4 > jmu) const
 
virtual void UpdateEnergyDeposit (int t, double edop)
 slots for "jet" signals (future)
 
virtual void GetEnergyDensity (int t, double &edensity)
 slots for "jet" signals (future)
 
const EvolutionHistoryget_bulk_info () const
 
- Public Member Functions inherited from Jetscape::JetScapeModuleBase
 JetScapeModuleBase ()
 
 JetScapeModuleBase (string m_name)
 
virtual ~JetScapeModuleBase ()
 
void SetXMLMainFileName (string m_name)
 
string GetXMLMainFileName ()
 
void SetXMLUserFileName (string m_name)
 
string GetXMLUserFileName ()
 
shared_ptr< std::mt19937 > GetMt19937Generator ()
 
tinyxml2::XMLElementGetXMLElement (std::initializer_list< const char * > path, bool isRequired=true)
 
std::string GetXMLElementText (std::initializer_list< const char * > path, bool isRequired=true)
 
int GetXMLElementInt (std::initializer_list< const char * > path, bool isRequired=true)
 
double GetXMLElementDouble (std::initializer_list< const char * > path, bool isRequired=true)
 
- Public Member Functions inherited from Jetscape::JetScapeTask
 JetScapeTask ()
 
virtual ~JetScapeTask ()
 
virtual void Finish ()
 
virtual void ExecuteTasks ()
 
virtual void ExecuteTask ()
 
virtual void InitTask ()
 
virtual void InitTasks ()
 
virtual void ClearTasks ()
 
virtual void ClearTask ()
 
virtual void FinishTask ()
 
virtual void FinishTasks ()
 
virtual void WriteTasks (weak_ptr< JetScapeWriter > w)
 
virtual void WriteTask (weak_ptr< JetScapeWriter > w)
 
virtual void CollectHeaders (weak_ptr< JetScapeWriter > w)
 
virtual void Add (shared_ptr< JetScapeTask > m_tasks)
 
virtual const int GetMyTaskNumber () const
 
const vector< shared_ptr
< JetScapeTask > > 
GetTaskList () const
 
shared_ptr< JetScapeTaskGetTaskAt (int i)
 
void EraseTaskLast ()
 
void EraseTaskAt (int i)
 
void ResizeTaskList (int i)
 
void ClearTaskList ()
 
int GetNumberOfTasks ()
 
const bool GetActive () const
 
void SetActive (bool m_active_exec)
 
void SetId (string m_id)
 
const string GetId () const
 
const shared_ptr
< JetScapeModuleMutex
GetMutex () const
 
void SetMutex (shared_ptr< JetScapeModuleMutex > m_mutex)
 
- Public Member Functions inherited from sigslot::has_slots< sigslot::multi_threaded_local >
 has_slots ()
 
 has_slots (const has_slots &hs)
 
void signal_connect (_signal_base< sigslot::multi_threaded_local > *sender)
 
void signal_disconnect (_signal_base< sigslot::multi_threaded_local > *sender)
 
virtual ~has_slots ()
 
void disconnect_all ()
 

Protected Attributes

Jetscape::real hydro_tau_0
 
Jetscape::real hydro_tau_max
 
Jetscape::real hydro_freeze_out_temperature
 
HydroStatus hydro_status
 
std::shared_ptr< InitialStateini
 
std::shared_ptr
< PreequilibriumDynamics
pre_eq_ptr
 
double eta
 
bool boost_invariant_
 
Parameter parameter_list
 
EvolutionHistory bulk_info
 
std::weak_ptr< LiquefierBaseliquefier_ptr
 

Additional Inherited Members

- Static Public Member Functions inherited from Jetscape::JetScapeModuleBase
static int GetCurrentEvent ()
 
static void IncrementCurrentEvent ()
 

Detailed Description

Definition at line 49 of file FluidDynamics.h.

View newest version in sPHENIX GitHub at line 49 of file FluidDynamics.h

Constructor & Destructor Documentation

Jetscape::FluidDynamics::FluidDynamics ( )

Default constructor. task ID as "FluidDynamics", eta is initialized to -99.99.

Definition at line 31 of file FluidDynamics.cc.

View newest version in sPHENIX GitHub at line 31 of file FluidDynamics.cc

References eta, SetId(), and VERBOSE.

+ Here is the call graph for this function:

Jetscape::FluidDynamics::~FluidDynamics ( )
virtual

Default destructor.

Definition at line 38 of file FluidDynamics.cc.

View newest version in sPHENIX GitHub at line 38 of file FluidDynamics.cc

References VERBOSE.

Member Function Documentation

virtual void Jetscape::FluidDynamics::add_a_liquefier ( std::shared_ptr< LiquefierBase new_liquefier)
inlinevirtual
     @return 3-component (vx,vy,vz) fluid velocity at point (t or tau, x, y, z or eta).
Parameters
timeTime or tau coordinate.
xSpace coordinate.
ySpace coordinate.
zSpace or eta coordinate.
Returns
4-component fluid velocity at point (t or tau, x, y, zor eta).
Parameters
timeTime or tau coordinate.
xSpace coordinate.
ySpace coordinate.
zSpace or eta coordinate.
Returns
Net baryon density at point (t or tau, x, y, z or eta).
Parameters
timeTime or tau coordinate.
xSpace coordinate.
ySpace coordinate.
zSpace or eta coordinate.
Returns
Net charge density at point (t or tau, x, y, z or eta).
Parameters
timeTime or tau coordinate.
xSpace coordinate.
ySpace coordinate.
zSpace or eta coordinate.

Reimplemented in MpiMusic.

Definition at line 285 of file FluidDynamics.h.

View newest version in sPHENIX GitHub at line 285 of file FluidDynamics.h

References liquefier_ptr.

void Jetscape::FluidDynamics::Clear ( void  )
virtual

A virtual function to define a default Clear() function for a JetScapeModuleBase. It can be overridden by different modules/tasks.

Reimplemented from Jetscape::JetScapeModuleBase.

Definition at line 81 of file FluidDynamics.cc.

View newest version in sPHENIX GitHub at line 81 of file FluidDynamics.cc

References Jetscape::weak_ptr_is_uninitialized().

+ Here is the call graph for this function:

void Jetscape::FluidDynamics::clear_up_evolution_data ( )
inline

Definition at line 154 of file FluidDynamics.h.

View newest version in sPHENIX GitHub at line 154 of file FluidDynamics.h

References bulk_info, and Jetscape::EvolutionHistory::clear_up_evolution_data().

+ Here is the call graph for this function:

void Jetscape::FluidDynamics::CollectHeader ( weak_ptr< JetScapeWriter w)
virtual

Collect header information for writer modules

Parameters
wis a pointer of type JetScapeWrite class.

Reimplemented from Jetscape::JetScapeTask.

Definition at line 88 of file FluidDynamics.cc.

View newest version in sPHENIX GitHub at line 88 of file FluidDynamics.cc

References f.

virtual void Jetscape::FluidDynamics::EvolveHydro ( )
inlinevirtual

Default function to evolve the hydrodynamics. It can be overridden by different modules.

Reimplemented in MpiMusic, HydroFromFile, GubserHydro, Brick, and CLVisc.

Definition at line 144 of file FluidDynamics.h.

View newest version in sPHENIX GitHub at line 144 of file FluidDynamics.h

void Jetscape::FluidDynamics::Exec ( )
virtual

Calls EvolveHydro(); This explicit call can be used for actual execution of hydrodynamic evolution defined in the modules such as Brick, MpiMusic, or OSU-HYDRO if attached as a polymorphic class. It also execute the tasks within the current module.

See Also
Read about polymorphism in C++.

Reimplemented from Jetscape::JetScapeModuleBase.

Definition at line 68 of file FluidDynamics.cc.

View newest version in sPHENIX GitHub at line 68 of file FluidDynamics.cc

References VERBOSE.

void Jetscape::FluidDynamics::FindAConstantTemperatureSurface ( Jetscape::real  T_sw,
std::vector< SurfaceCellInfo > &  surface_cells 
)
Returns
Default function to get the hypersurface for Cooper-Frye or recombination model. It can overridden by different modules.

Definition at line 96 of file FluidDynamics.cc.

View newest version in sPHENIX GitHub at line 96 of file FluidDynamics.cc

References SurfaceFinder::Find_full_hypersurface(), and JSINFO.

+ Here is the call graph for this function:

const EvolutionHistory& Jetscape::FluidDynamics::get_bulk_info ( ) const
inline

Definition at line 299 of file FluidDynamics.h.

View newest version in sPHENIX GitHub at line 299 of file FluidDynamics.h

References bulk_info.

void Jetscape::FluidDynamics::get_source_term ( Jetscape::real  tau,
Jetscape::real  x,
Jetscape::real  y,
Jetscape::real  eta,
std::array< Jetscape::real, 4 >  jmu 
) const

Definition at line 151 of file FluidDynamics.cc.

View newest version in sPHENIX GitHub at line 151 of file FluidDynamics.cc

Jetscape::real Jetscape::FluidDynamics::GetEnergyDensity ( Jetscape::real  time,
Jetscape::real  x,
Jetscape::real  y,
Jetscape::real  z 
)
virtual
Returns
Energy density at point (t or tau, x, y, z or eta)
Parameters
timeTime or tau coordinate.
xSpace coordinate.
ySpace coordinate.
zSpace or eta coordinate.

Definition at line 107 of file FluidDynamics.cc.

View newest version in sPHENIX GitHub at line 107 of file FluidDynamics.cc

virtual void Jetscape::FluidDynamics::GetEnergyDensity ( int  t,
double edensity 
)
inlinevirtual

slots for "jet" signals (future)

Definition at line 296 of file FluidDynamics.h.

View newest version in sPHENIX GitHub at line 296 of file FluidDynamics.h

Jetscape::real Jetscape::FluidDynamics::GetEntropyDensity ( Jetscape::real  time,
Jetscape::real  x,
Jetscape::real  y,
Jetscape::real  z 
)
virtual
Returns
Entropy density at point (t or tau, x, y, z or eta)
Parameters
timeTime or tau coordinate.
xSpace coordinate.
ySpace coordinate.
zSpace or eta coordinate.

Definition at line 119 of file FluidDynamics.cc.

View newest version in sPHENIX GitHub at line 119 of file FluidDynamics.cc

virtual double Jetscape::FluidDynamics::GetEventPlaneAngle ( )
inlinevirtual

Generated event plane angle To be overwritten by implementations that have such information.

Reimplemented in HydroFromFile.

Definition at line 110 of file FluidDynamics.h.

View newest version in sPHENIX GitHub at line 110 of file FluidDynamics.h

virtual void Jetscape::FluidDynamics::GetHydroCell ( double  t,
double  x,
double  y,
double  z,
std::unique_ptr< FluidCellInfo > &  fCell 
)
inlinevirtual

It calls GetHydroInfo(t,x,y,z,fCell) to retrieve the properties of the fluid cell at location (t or tau,x,y,z or eta). It can be overridden by modules attached to the FluidDynamics class.

Parameters
ttau or t coordinate.
xspace x coordinate.
yspace y coordinate.
zrapidity eta or space z coordinate.
fCellA pointer of type FluidCellInfo class.

Definition at line 131 of file FluidDynamics.h.

View newest version in sPHENIX GitHub at line 131 of file FluidDynamics.h

References GetHydroInfo().

+ Here is the call graph for this function:

Jetscape::real Jetscape::FluidDynamics::GetHydroEndTime ( ) const
inline
Returns
End time (or tau) for hydrodynamic evolution.

Definition at line 162 of file FluidDynamics.h.

View newest version in sPHENIX GitHub at line 162 of file FluidDynamics.h

References hydro_tau_max.

Jetscape::real Jetscape::FluidDynamics::GetHydroFreezeOutTemperature ( ) const
inline
Returns
Freeze-out temperature.

Definition at line 165 of file FluidDynamics.h.

View newest version in sPHENIX GitHub at line 165 of file FluidDynamics.h

References hydro_freeze_out_temperature.

virtual void Jetscape::FluidDynamics::GetHydroInfo ( Jetscape::real  t,
Jetscape::real  x,
Jetscape::real  y,
Jetscape::real  z,
std::unique_ptr< FluidCellInfo > &  fluid_cell_info_ptr 
)
inlinevirtual

Retrieves the hydro information at a given space-time point. It throws a InvalidSpaceTimeRange message when (t or tau, x, y, z or eta) is out of the evolution history range.

Parameters
timeTime or tau coordinate.
xSpace coordinate.
ySpace coordinate.
zSpace or eta coordinate.
fluid_cell_info_ptrA pointer to the FluidCellInfo class.

Reimplemented in MpiMusic, HydroFromFile, GubserHydro, Brick, and CLVisc.

Definition at line 179 of file FluidDynamics.h.

View newest version in sPHENIX GitHub at line 179 of file FluidDynamics.h

References bulk_info, Jetscape::EvolutionHistory::CheckInRange(), Jetscape::EvolutionHistory::data, eta, Jetscape::FINISHED, hydro_status, tau, and Jetscape::EvolutionHistory::tau_eta_is_tz.

Referenced by GetHydroCell().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void Jetscape::FluidDynamics::GetHydroStartTime ( double tau0)
inline
Returns
Start time (or tau) for hydrodynamic evolution.

Definition at line 158 of file FluidDynamics.h.

View newest version in sPHENIX GitHub at line 158 of file FluidDynamics.h

References hydro_tau_0.

int Jetscape::FluidDynamics::GetHydroStatus ( ) const
inline
Returns
Status of the hydrodynamics (NOT_START, INITIALIZED, EVOLVING, FINISHED, ERROR).

Definition at line 147 of file FluidDynamics.h.

View newest version in sPHENIX GitHub at line 147 of file FluidDynamics.h

References hydro_status.

Parameter& Jetscape::FluidDynamics::GetParameterList ( )
inline
Returns
parameter_list A pointer to the class Parameter which contains a file name for the fluid dynamics task.
See Also
Implementation of the class Parameter.

Definition at line 100 of file FluidDynamics.h.

View newest version in sPHENIX GitHub at line 100 of file FluidDynamics.h

References parameter_list.

Referenced by Brick::InitTask().

+ Here is the caller graph for this function:

Jetscape::real Jetscape::FluidDynamics::GetQgpFraction ( Jetscape::real  time,
Jetscape::real  x,
Jetscape::real  y,
Jetscape::real  z 
)
virtual
Returns
Fraction of quark gluon plasma assuming medium is in QGP+HRG phase at point (t or tau, x, y, z or eta).
Parameters
timeTime or tau coordinate.
xSpace coordinate.
ySpace coordinate.
zSpace or eta coordinate.

Definition at line 142 of file FluidDynamics.cc.

View newest version in sPHENIX GitHub at line 142 of file FluidDynamics.cc

virtual void Jetscape::FluidDynamics::GetTemperature ( double  t,
double  x,
double  y,
double  z,
double mT 
)
inlinevirtual

It stores the temperature of the fluid cell at location (t or tau,x,y,z or eta) into an input variable "mT". It can be overridden by modules attached to the FluidDynamics class.

Parameters
ttau or t coordinate.
xspace x coordinate.
yspace y coordinate.
zrapidity eta or space z coordinate.
mTtemperature.

Definition at line 119 of file FluidDynamics.h.

View newest version in sPHENIX GitHub at line 119 of file FluidDynamics.h

Jetscape::real Jetscape::FluidDynamics::GetTemperature ( Jetscape::real  time,
Jetscape::real  x,
Jetscape::real  y,
Jetscape::real  z 
)
virtual
Returns
Temperature at point (t or tau, x, y, z or eta)
Parameters
timeTime or tau coordinate.
xSpace coordinate.
ySpace coordinate.
zSpace or eta coordinate.

Definition at line 131 of file FluidDynamics.cc.

View newest version in sPHENIX GitHub at line 131 of file FluidDynamics.cc

void Jetscape::FluidDynamics::Init ( )
virtual

Reads the input parameters from the XML file under the tag <Hydro>. Uses JetScapeSingnalManager Instance to retrive the Initial State Physics information. Calls InitializeHydro(parameter_list) and InitTask(); This explicit call can be used for actual initialization of modules such as Brick, MpiMusic, or OSU-HYDRO if attached as a polymorphic class. It also initializes the tasks within the current module.

See Also
Read about polymorphism in C++.

Reimplemented from Jetscape::JetScapeModuleBase.

Definition at line 43 of file FluidDynamics.cc.

View newest version in sPHENIX GitHub at line 43 of file FluidDynamics.cc

References Init(), JSINFO, JSWARN, and VERBOSE.

+ Here is the call graph for this function:

virtual void Jetscape::FluidDynamics::InitializeHydro ( Parameter  parameter_list)
inlinevirtual

Default function to initialize the hydrodynamics. It can be overridden by different modules.

Parameters
parameter_listAn object of the class Parameter.

Reimplemented in MpiMusic, HydroFromFile, CLVisc, GubserHydro, and Brick.

Definition at line 141 of file FluidDynamics.h.

View newest version in sPHENIX GitHub at line 141 of file FluidDynamics.h

void Jetscape::FluidDynamics::PrintFluidCellInformation ( FluidCellInfo fluid_cell_info_ptr)
void Jetscape::FluidDynamics::StoreHydroEvolutionHistory ( std::unique_ptr< FluidCellInfo > &  fluid_cell_info_ptr)
inline

Definition at line 149 of file FluidDynamics.h.

View newest version in sPHENIX GitHub at line 149 of file FluidDynamics.h

References bulk_info, and Jetscape::EvolutionHistory::data.

void Jetscape::FluidDynamics::UpdateEnergyDeposit ( int  t,
double  edop 
)
virtual

slots for "jet" signals (future)

Definition at line 186 of file FluidDynamics.cc.

View newest version in sPHENIX GitHub at line 186 of file FluidDynamics.cc

References JSDEBUG, and MAGENTA.

Member Data Documentation

bool Jetscape::FluidDynamics::boost_invariant_
protected

Definition at line 65 of file FluidDynamics.h.

View newest version in sPHENIX GitHub at line 65 of file FluidDynamics.h

EvolutionHistory Jetscape::FluidDynamics::bulk_info
protected

Stores the evolution history.

Definition at line 72 of file FluidDynamics.h.

View newest version in sPHENIX GitHub at line 72 of file FluidDynamics.h

Referenced by clear_up_evolution_data(), get_bulk_info(), GetHydroInfo(), and StoreHydroEvolutionHistory().

double Jetscape::FluidDynamics::eta
protected

Definition at line 64 of file FluidDynamics.h.

View newest version in sPHENIX GitHub at line 64 of file FluidDynamics.h

Referenced by GetHydroInfo().

Jetscape::real Jetscape::FluidDynamics::hydro_freeze_out_temperature
protected

Definition at line 54 of file FluidDynamics.h.

View newest version in sPHENIX GitHub at line 54 of file FluidDynamics.h

Referenced by GetHydroFreezeOutTemperature().

HydroStatus Jetscape::FluidDynamics::hydro_status
protected
Jetscape::real Jetscape::FluidDynamics::hydro_tau_0
protected

Definition at line 52 of file FluidDynamics.h.

View newest version in sPHENIX GitHub at line 52 of file FluidDynamics.h

Referenced by GetHydroStartTime(), and Brick::InitTask().

Jetscape::real Jetscape::FluidDynamics::hydro_tau_max
protected

Definition at line 52 of file FluidDynamics.h.

View newest version in sPHENIX GitHub at line 52 of file FluidDynamics.h

Referenced by GetHydroEndTime().

std::shared_ptr<InitialState> Jetscape::FluidDynamics::ini
protected

A pointer of type InitialState class.

Definition at line 61 of file FluidDynamics.h.

View newest version in sPHENIX GitHub at line 61 of file FluidDynamics.h

Referenced by Brick::EvolveHydro().

std::weak_ptr<LiquefierBase> Jetscape::FluidDynamics::liquefier_ptr
protected

Definition at line 74 of file FluidDynamics.h.

View newest version in sPHENIX GitHub at line 74 of file FluidDynamics.h

Referenced by add_a_liquefier().

Parameter Jetscape::FluidDynamics::parameter_list
protected

Definition at line 66 of file FluidDynamics.h.

View newest version in sPHENIX GitHub at line 66 of file FluidDynamics.h

Referenced by GetParameterList().

std::shared_ptr<PreequilibriumDynamics> Jetscape::FluidDynamics::pre_eq_ptr
protected

Definition at line 62 of file FluidDynamics.h.

View newest version in sPHENIX GitHub at line 62 of file FluidDynamics.h


The documentation for this class was generated from the following files: