Version: SMASH-2.0
chemicalpotential.h
Go to the documentation of this file.
1 /*
2  *
3  * Copyright (c) 2020-
4  * SMASH Team
5  *
6  * GNU General Public License (GPLv3 or later)
7  *
8  */
9 
10 #ifndef SRC_INCLUDE_SMASH_CHEMICALPOTENTIAL_H_
11 #define SRC_INCLUDE_SMASH_CHEMICALPOTENTIAL_H_
12 
13 #include <gsl/gsl_multiroots.h>
14 #include <gsl/gsl_vector.h>
15 
16 #include <smash/integrate.h>
17 
18 namespace smash {
19 
25  public:
39  static double density_one_species(double degeneracy, double mass,
40  double temperature,
42  double statistics, Integrator* integrator);
43 
61  double degeneracy;
62 
64  double mass;
65 
68 
70  double temperature;
71 
76  double statistics;
77 
80  };
81 
97  double degeneracy, double mass, double number_density, double temperature,
98  double effective_chemical_potential, double statistics,
99  Integrator* integrator);
100 
113  const gsl_vector* roots_array, void* parameters, gsl_vector* function);
114 
125  unsigned int iter, gsl_multiroot_fsolver* solver);
126 
156  double degeneracy, double mass, double number_density, double temperature,
157  double statistics, double mu_initial_guess, double solution_precision,
158  Integrator* integrator, double* effective_chemical_potential);
159 
175  double effective_chemical_potential(double degeneracy, double mass,
176  double number_density, double temperature,
177  double statistics,
178  double solution_precision);
179 
180  private:
185 };
186 
187 } // namespace smash
188 
189 #endif // SRC_INCLUDE_SMASH_CHEMICALPOTENTIAL_H_
smash::ChemicalPotentialSolver::integrator_
Integrator integrator_
A wrapper for gsl numerical integration.
Definition: chemicalpotential.h:184
smash
Definition: action.h:24
smash::ChemicalPotentialSolver::ParametersForChemPotSolver::degeneracy
double degeneracy
degeneracy g of the particle species
Definition: chemicalpotential.h:61
smash::ChemicalPotentialSolver::effective_chemical_potential
double effective_chemical_potential(double degeneracy, double mass, double number_density, double temperature, double statistics, double solution_precision)
Convenience wrapper for finding the effective chemical potential for a given particle species and per...
Definition: chemicalpotential.cc:179
smash::ChemicalPotentialSolver::density_one_species
static double density_one_species(double degeneracy, double mass, double temperature, double effective_chemical_potential, double statistics, Integrator *integrator)
Vector number density of one particle species, obtained through integrating the Juttner distribution ...
Definition: chemicalpotential.cc:29
smash::ChemicalPotentialSolver::ParametersForChemPotSolver::mass
double mass
(pole) mass m of the particle species
Definition: chemicalpotential.h:64
smash::ChemicalPotentialSolver::root_equation_effective_chemical_potential_for_GSL
static int root_equation_effective_chemical_potential_for_GSL(const gsl_vector *roots_array, void *parameters, gsl_vector *function)
Root equation for finding the value of the effective chemical potential for one particle species,...
Definition: chemicalpotential.cc:60
smash::ChemicalPotentialSolver::print_state_effective_chemical_potential
static void print_state_effective_chemical_potential(unsigned int iter, gsl_multiroot_fsolver *solver)
A GSL utility which allows for printing out the status of the solver during the root finding procedur...
Definition: chemicalpotential.cc:82
smash::Integrator
A C++ interface for numerical integration in one dimension with the GSL CQUAD integration functions.
Definition: integrate.h:106
smash::ChemicalPotentialSolver::ParametersForChemPotSolver::integrator
Integrator * integrator
wrapper for gsl numerical integration
Definition: chemicalpotential.h:79
smash::ChemicalPotentialSolver::root_equation_effective_chemical_potential
static double root_equation_effective_chemical_potential(double degeneracy, double mass, double number_density, double temperature, double effective_chemical_potential, double statistics, Integrator *integrator)
Root equation for finding the value of the effective chemical potential for one particle species.
Definition: chemicalpotential.cc:49
smash::ChemicalPotentialSolver::ParametersForChemPotSolver::statistics
double statistics
statistics quantum statistics of the particles species (+1 for Fermi, -1 for Bose,...
Definition: chemicalpotential.h:76
smash::ChemicalPotentialSolver::ParametersForChemPotSolver::temperature
double temperature
temperature T of the system [GeV]
Definition: chemicalpotential.h:70
smash::ChemicalPotentialSolver::find_effective_chemical_potential
static int find_effective_chemical_potential(double degeneracy, double mass, double number_density, double temperature, double statistics, double mu_initial_guess, double solution_precision, Integrator *integrator, double *effective_chemical_potential)
A GSL root solver for finding the effective chemical potential.
Definition: chemicalpotential.cc:91
smash::ChemicalPotentialSolver
A class which encapsulates a GSL algorithm for finding the effective chemical potential and supportin...
Definition: chemicalpotential.h:24
smash::ChemicalPotentialSolver::ParametersForChemPotSolver::number_density
double number_density
number density n of the particle species [GeV^3]
Definition: chemicalpotential.h:67
integrate.h
smash::ChemicalPotentialSolver::ParametersForChemPotSolver
Struct, root equations, and procedure for finding the effective chemical potential for a given partic...
Definition: chemicalpotential.h:59