33 m_Virial = std::vector< std::vector<double> >(m_TPS->Particles().size(), std::vector<double>(m_TPS->Particles().size(), 0.));
35 ifstream fin(filename.c_str());
38 fin.getline(cc, 2000);
39 string tmp = string(cc);
43 istringstream iss(elems[0]);
44 long long pdgid1, pdgid2;
46 if (iss >> pdgid1 >> pdgid2 >> b) {
47 int ind1 = m_TPS->PdgToId(pdgid1);
48 int ind2 = m_TPS->PdgToId(pdgid2);
49 if (ind1 != -1 && ind2 != -1)
58 ofstream fout(filename.c_str());
59 fout <<
"# List of crossterms parameters to be used in the Crossterms excluded-volume HRG model"
61 fout <<
"# Only particle pairs with a non-zero eigenvolume parameter are listed here"
63 fout <<
"#" <<
" " <<
"pdg_i"
65 <<
" " <<
"b_{ij}[fm^3]"
67 for (
int i = 0; i < m_TPS->ComponentsNumber(); ++i) {
68 for (
int j = 0; j < m_TPS->ComponentsNumber(); ++j) {
70 fout <<
" " << m_TPS->Particle(i).PdgId();
71 fout <<
" " << m_TPS->Particle(j).PdgId();
83 printf(
"**WARNING** ThermalModelEVCrossterms::SetAttraction(): Trying to include attraction into ThermalModelEVCrossterms()!\n");
91 printf(
"**WARNING** ThermalModelEVCrossterms::SetMultipleSolutionsMode(): Trying to search for multiple solutions in ThermalModelEVCrossterms()! There is no need.\n");
100 for (
int i1 = 0; i1 < model->TPS()->Particles().size(); ++i1) {
101 for (
int i2 = 0; i2 < model->TPS()->Particles().size(); ++i2) {
Contains some functions to deal with excluded volumes.
Abstract base class for an HRG model implementation.
virtual void SetRepulsion(int i, int j, double b)
Same as SetVirial() but with a more clear name on what is actually does.
virtual void ReadInteractionParameters(const std::string &filename)
Reads the QvdW interaction parameters from a file.
virtual void SetAttraction(int i, int j, double a)
Set the vdW mean field attraction coefficient .
virtual void SetMultipleSolutionsMode(bool search)
No need to search for multiple soultions in EV-HRG model.
virtual void WriteInteractionParameters(const std::string &filename)
Write the QvdW interaction parameters to a file.
std::vector< std::vector< double > > m_Virial
bool m_SearchMultipleSolutions
Whether multiple solutions are considered.
std::vector< std::string > split(const std::string &s, char delim)
The main namespace where all classes and functions of the Thermal-FIST library reside.
std::vector< std::vector< double > > GetBaryonBaryonInteractionMatrix(const ThermalParticleSystem *TPS, double param)
Returns the matrix of attraction and repulsion parameters for baryon-baryon and antibaryon-antibaryon...
void SetEVHRGInteractionParameters(ThermalModelBase *model, double b)
Sets EV interactions for baryon-baryon and antibaryon-antibaryon pairs as in https://arxiv....
Contains some extra mathematical functions used in the code.