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

Implementation of the van der Waals mean field model for multiple components. More...

#include <MeanFieldModelsMulti.h>

Inheritance diagram for thermalfist::MeanFieldModelMultiVDW:
thermalfist::MeanFieldModelMultiBase

Public Member Functions

 MeanFieldModelMultiVDW (const std::vector< std::vector< double > > &a, const std::vector< std::vector< double > > &dadT=std::vector< std::vector< double > >())
 Constructor for the MeanFieldModelMultiVDW class.
 
virtual ~MeanFieldModelMultiVDW ()
 Destructor for the MeanFieldModelMultiVDW class.
 
void setAij (const std::vector< std::vector< double > > &a)
 Sets the attraction parameters between species.
 
void setdAijdT (const std::vector< std::vector< double > > &dadT)
 Sets the temperature derivatives of the attraction parameters.
 
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.
 
- Public Member Functions inherited from thermalfist::MeanFieldModelMultiBase
 MeanFieldModelMultiBase (int N)
 Constructor for the MeanFieldModelMultiBase class.
 
virtual ~MeanFieldModelMultiBase ()
 Destructor for the MeanFieldModelMultiBase class.
 
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

std::vector< std::vector< double > > m_a
 
std::vector< std::vector< double > > m_dadT
 
- Protected Attributes inherited from thermalfist::MeanFieldModelMultiBase
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

Implementation of the van der Waals mean field model for multiple components.

This class implements the van der Waals mean field model for a system with multiple particle species, where interactions between different particle species are considered.

Examples
NeutronStars-CSHRG.cpp, SusceptibilitiesBQS.cpp, and ThermodynamicsBQS.cpp.

Definition at line 138 of file MeanFieldModelsMulti.h.

Constructor & Destructor Documentation

◆ MeanFieldModelMultiVDW()

thermalfist::MeanFieldModelMultiVDW::MeanFieldModelMultiVDW ( const std::vector< std::vector< double > > & a,
const std::vector< std::vector< double > > & dadT = std::vector< std::vector<double> >() )
inline

Constructor for the MeanFieldModelMultiVDW class.

Parameters
aMatrix of attraction parameters between species.
dadTMatrix of temperature derivatives of attraction parameters (optional).

Definition at line 147 of file MeanFieldModelsMulti.h.

◆ ~MeanFieldModelMultiVDW()

virtual thermalfist::MeanFieldModelMultiVDW::~MeanFieldModelMultiVDW ( )
inlinevirtual

Destructor for the MeanFieldModelMultiVDW class.

Definition at line 163 of file MeanFieldModelsMulti.h.

Member Function Documentation

◆ ComputeComponents()

void thermalfist::MeanFieldModelMultiVDW::ComputeComponents ( )
protectedvirtual

Computes the components based on the mean field parameters.

Reimplemented from thermalfist::MeanFieldModelMultiBase.

Definition at line 61 of file MeanFieldModelsMulti.cpp.

◆ d2v()

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

Calculates the second derivative of the mean field.

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

Reimplemented from thermalfist::MeanFieldModelMultiBase.

Definition at line 38 of file MeanFieldModelsMulti.cpp.

◆ d3v()

virtual double thermalfist::MeanFieldModelMultiVDW::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 from thermalfist::MeanFieldModelMultiBase.

Definition at line 211 of file MeanFieldModelsMulti.h.

◆ d4v()

virtual double thermalfist::MeanFieldModelMultiVDW::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 from thermalfist::MeanFieldModelMultiBase.

Definition at line 222 of file MeanFieldModelsMulti.h.

◆ dv()

double thermalfist::MeanFieldModelMultiVDW::dv ( int i) const
virtual

Calculates the first derivative of the mean field.

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

Reimplemented from thermalfist::MeanFieldModelMultiBase.

Definition at line 25 of file MeanFieldModelsMulti.cpp.

◆ dvdT()

double thermalfist::MeanFieldModelMultiVDW::dvdT ( ) const
virtual

Calculates the temperature derivative of the mean field.

Returns
Temperature derivative of the mean field.

Reimplemented from thermalfist::MeanFieldModelMultiBase.

Definition at line 43 of file MeanFieldModelsMulti.cpp.

◆ setAij()

void thermalfist::MeanFieldModelMultiVDW::setAij ( const std::vector< std::vector< double > > & a)
inline

Sets the attraction parameters between species.

Parameters
aMatrix of attraction parameters between species.

Definition at line 170 of file MeanFieldModelsMulti.h.

◆ setdAijdT()

void thermalfist::MeanFieldModelMultiVDW::setdAijdT ( const std::vector< std::vector< double > > & dadT)
inline

Sets the temperature derivatives of the attraction parameters.

Parameters
dadTMatrix of temperature derivatives of attraction parameters (optional).

Definition at line 177 of file MeanFieldModelsMulti.h.

◆ v()

double thermalfist::MeanFieldModelMultiVDW::v ( ) const
virtual

Calculates the mean field value.

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

Reimplemented from thermalfist::MeanFieldModelMultiBase.

Definition at line 8 of file MeanFieldModelsMulti.cpp.

Member Data Documentation

◆ m_a

std::vector< std::vector<double> > thermalfist::MeanFieldModelMultiVDW::m_a
protected

Definition at line 235 of file MeanFieldModelsMulti.h.

◆ m_dadT

std::vector< std::vector<double> > thermalfist::MeanFieldModelMultiVDW::m_dadT
protected

Definition at line 236 of file MeanFieldModelsMulti.h.


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