10 #ifndef SRC_INCLUDE_SMASH_CHEMICALPOTENTIAL_H_
11 #define SRC_INCLUDE_SMASH_CHEMICALPOTENTIAL_H_
13 #include "gsl/gsl_multiroots.h"
14 #include "gsl/gsl_vector.h"
97 double degeneracy,
double mass,
double number_density,
double temperature,
113 const gsl_vector* roots_array,
void* parameters, gsl_vector*
function);
125 unsigned int iter, gsl_multiroot_fsolver* solver);
156 double degeneracy,
double mass,
double number_density,
double temperature,
157 double statistics,
double mu_initial_guess,
double solution_precision,
176 double number_density,
double temperature,
178 double solution_precision);
A class which encapsulates a GSL algorithm for finding the effective chemical potential and supportin...
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.
Integrator integrator_
A wrapper for gsl numerical integration.
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...
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...
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 ...
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,...
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.
A C++ interface for numerical integration in one dimension with the GSL CQUAD integration functions.
Struct, root equations, and procedure for finding the effective chemical potential for a given partic...
double temperature
temperature T of the system [GeV]
double degeneracy
degeneracy g of the particle species
double number_density
number density n of the particle species [GeV^3]
double statistics
statistics quantum statistics of the particles species (+1 for Fermi, -1 for Bose,...
Integrator * integrator
wrapper for gsl numerical integration
double mass
(pole) mass m of the particle species