Thermal-FIST 1.5
Package for hadron resonance gas model applications
Loading...
Searching...
No Matches
thermalfist::MeanFieldModelMultiBase Class Reference

Base class for multi-component mean field models. More...

#include <MeanFieldModelsMulti.h>

Inheritance diagram for thermalfist::MeanFieldModelMultiBase:
thermalfist::MeanFieldModelChargeDensityDependent thermalfist::MeanFieldModelComponents thermalfist::MeanFieldModelMultiVDW

Public Member Functions

 MeanFieldModelMultiBase (int N)
 Constructor for the MeanFieldModelMultiBase class.
 
virtual ~MeanFieldModelMultiBase ()
 Destructor for the MeanFieldModelMultiBase class.
 
virtual double v () const
 Calculates the mean field value.
 
virtual double dv (int i) const
 Calculates the first derivative of the mean field.
 
virtual double d2v (int i, int j) const
 Calculates the second derivative of the mean field.
 
virtual double d3v (int i, int j, int k) const
 Calculates the third derivative of the mean field.
 
virtual double d4v (int i, int j, int k, int l) const
 Calculates the fourth derivative of the mean field.
 
virtual double dvdT () const
 Calculates the temperature derivative of the mean field.
 
virtual void SetDensities (const std::vector< double > &n)
 Sets the densities of particle species.
 
virtual const std::vector< int > & ComponentIndices () const
 Gets the component indices.
 
virtual const std::vector< int > & ComponentIndicesFrom () const
 Gets the component indices from.
 
virtual const int ComponentsNumber () const
 Gets the number of components.
 

Protected Member Functions

virtual void ComputeComponents ()
 Computes the components based on the mean field parameters.
 

Protected Attributes

int m_N
 
std::vector< double > m_densities
 
std::vector< int > m_components
 
std::vector< int > m_componentsFrom
 
int m_componentsNumber
 
std::vector< double > m_densities_components
 

Detailed Description

Base class for multi-component mean field models.

This class serves as the base for all multi-component mean field models, providing the interface for calculating the mean field effects in a system with multiple particle species. By default, it implements the ideal gas case with no mean field.

Definition at line 25 of file MeanFieldModelsMulti.h.

Constructor & Destructor Documentation

◆ MeanFieldModelMultiBase()

thermalfist::MeanFieldModelMultiBase::MeanFieldModelMultiBase ( int N)
inline

Constructor for the MeanFieldModelMultiBase class.

Parameters
NNumber of particle species in the system.

Definition at line 32 of file MeanFieldModelsMulti.h.

◆ ~MeanFieldModelMultiBase()

virtual thermalfist::MeanFieldModelMultiBase::~MeanFieldModelMultiBase ( )
inlinevirtual

Destructor for the MeanFieldModelMultiBase class.

Definition at line 37 of file MeanFieldModelsMulti.h.

Member Function Documentation

◆ ComponentIndices()

virtual const std::vector< int > & thermalfist::MeanFieldModelMultiBase::ComponentIndices ( ) const
inlinevirtual

Gets the component indices.

Returns
Vector of component indices.

Definition at line 103 of file MeanFieldModelsMulti.h.

◆ ComponentIndicesFrom()

virtual const std::vector< int > & thermalfist::MeanFieldModelMultiBase::ComponentIndicesFrom ( ) const
inlinevirtual

Gets the component indices from.

Returns
Vector of component indices from.

Definition at line 110 of file MeanFieldModelsMulti.h.

◆ ComponentsNumber()

virtual const int thermalfist::MeanFieldModelMultiBase::ComponentsNumber ( ) const
inlinevirtual

Gets the number of components.

Returns
Number of components.

Definition at line 117 of file MeanFieldModelsMulti.h.

◆ ComputeComponents()

void thermalfist::MeanFieldModelMultiBase::ComputeComponents ( )
protectedvirtual

Computes the components based on the mean field parameters.

Reimplemented in thermalfist::MeanFieldModelChargeDensityDependent, thermalfist::MeanFieldModelComponents, and thermalfist::MeanFieldModelMultiVDW.

Definition at line 242 of file MeanFieldModelsMulti.cpp.

◆ d2v()

virtual double thermalfist::MeanFieldModelMultiBase::d2v ( int i,
int j ) const
inlinevirtual

Calculates the second derivative of the mean field.

Parameters
iFirst species index.
jSecond species index.
Returns
Second derivative of the mean field.

Reimplemented in thermalfist::MeanFieldModelChargeDensityDependent, thermalfist::MeanFieldModelComponents, and thermalfist::MeanFieldModelMultiVDW.

Definition at line 61 of file MeanFieldModelsMulti.h.

◆ d3v()

virtual double thermalfist::MeanFieldModelMultiBase::d3v ( int i,
int j,
int k ) const
inlinevirtual

Calculates the third derivative of the mean field.

Parameters
iFirst species index.
jSecond species index.
kThird species index.
Returns
Third derivative of the mean field.

Reimplemented in thermalfist::MeanFieldModelChargeDensityDependent, thermalfist::MeanFieldModelComponents, and thermalfist::MeanFieldModelMultiVDW.

Definition at line 71 of file MeanFieldModelsMulti.h.

◆ d4v()

virtual double thermalfist::MeanFieldModelMultiBase::d4v ( int i,
int j,
int k,
int l ) const
inlinevirtual

Calculates the fourth derivative of the mean field.

Parameters
iFirst species index.
jSecond species index.
kThird species index.
lFourth species index.
Returns
Fourth derivative of the mean field.

Reimplemented in thermalfist::MeanFieldModelChargeDensityDependent, thermalfist::MeanFieldModelComponents, and thermalfist::MeanFieldModelMultiVDW.

Definition at line 82 of file MeanFieldModelsMulti.h.

◆ dv()

virtual double thermalfist::MeanFieldModelMultiBase::dv ( int i) const
inlinevirtual

Calculates the first derivative of the mean field.

Parameters
iSpecies index.
Returns
First derivative of the mean field.

Reimplemented in thermalfist::MeanFieldModelChargeDensityDependent, thermalfist::MeanFieldModelComponents, and thermalfist::MeanFieldModelMultiVDW.

Definition at line 52 of file MeanFieldModelsMulti.h.

◆ dvdT()

virtual double thermalfist::MeanFieldModelMultiBase::dvdT ( ) const
inlinevirtual

Calculates the temperature derivative of the mean field.

Returns
Temperature derivative of the mean field.

Reimplemented in thermalfist::MeanFieldModelChargeDensityDependent, thermalfist::MeanFieldModelComponents, and thermalfist::MeanFieldModelMultiVDW.

Definition at line 89 of file MeanFieldModelsMulti.h.

◆ SetDensities()

void thermalfist::MeanFieldModelMultiBase::SetDensities ( const std::vector< double > & n)
virtual

Sets the densities of particle species.

Parameters
nVector of densities.

Reimplemented in thermalfist::MeanFieldModelChargeDensityDependent.

Definition at line 233 of file MeanFieldModelsMulti.cpp.

◆ v()

virtual double thermalfist::MeanFieldModelMultiBase::v ( ) const
inlinevirtual

Calculates the mean field value.

Returns
Mean field value in units of GeV/fm^3.

Reimplemented in thermalfist::MeanFieldModelChargeDensityDependent, thermalfist::MeanFieldModelComponents, and thermalfist::MeanFieldModelMultiVDW.

Definition at line 44 of file MeanFieldModelsMulti.h.

Member Data Documentation

◆ m_components

std::vector<int> thermalfist::MeanFieldModelMultiBase::m_components
protected

Definition at line 125 of file MeanFieldModelsMulti.h.

◆ m_componentsFrom

std::vector<int> thermalfist::MeanFieldModelMultiBase::m_componentsFrom
protected

Definition at line 126 of file MeanFieldModelsMulti.h.

◆ m_componentsNumber

int thermalfist::MeanFieldModelMultiBase::m_componentsNumber
protected

Definition at line 127 of file MeanFieldModelsMulti.h.

◆ m_densities

std::vector<double> thermalfist::MeanFieldModelMultiBase::m_densities
protected

Definition at line 124 of file MeanFieldModelsMulti.h.

◆ m_densities_components

std::vector<double> thermalfist::MeanFieldModelMultiBase::m_densities_components
protected

Definition at line 128 of file MeanFieldModelsMulti.h.

◆ m_N

int thermalfist::MeanFieldModelMultiBase::m_N
protected

Definition at line 123 of file MeanFieldModelsMulti.h.


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