Loading [MathJax]/extensions/tex2jax.js
Thermal-FIST 1.5
Package for hadron resonance gas model applications
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Modules Pages
IdealGasFunctions.h
Go to the documentation of this file.
1/*
2 * Thermal-FIST package
3 *
4 * Copyright (c) 2017-2019 Volodymyr Vovchenko
5 *
6 * GNU General Public License (GPLv3 or later)
7 */
8#ifndef IDEALGASFUNCTIONS_H
9#define IDEALGASFUNCTIONS_H
10
20
21namespace thermalfist {
22
34 };
42
44 extern bool calculationHadBECIssue;
45
48 double B;
49 int lmax;
50 double degSpin;
51 double Q;
53 int in_lmax = 100,
54 double in_degSpin = 1.,
55 double in_Q = 0.) :
56 B(in_B), lmax(in_lmax), degSpin(in_degSpin), Q(in_Q)
57 { }
58 };
59
60
61
68
78 double BoltzmannDensity(double T, double mu, double m, double deg,
79 const IdealGasFunctionsExtraConfig& extraConfig = IdealGasFunctionsExtraConfig());
80
90 double BoltzmannPressure(double T, double mu, double m, double deg,
91 const IdealGasFunctionsExtraConfig& extraConfig = IdealGasFunctionsExtraConfig());
92
102 double BoltzmannEnergyDensity(double T, double mu, double m, double deg,
103 const IdealGasFunctionsExtraConfig& extraConfig = IdealGasFunctionsExtraConfig());
104
114 double BoltzmannEntropyDensity(double T, double mu, double m, double deg,
115 const IdealGasFunctionsExtraConfig& extraConfig = IdealGasFunctionsExtraConfig());
116
126 double BoltzmannScalarDensity(double T, double mu, double m, double deg,
127 const IdealGasFunctionsExtraConfig& extraConfig = IdealGasFunctionsExtraConfig()); // TODO: Check if the scalar density formula and implementation are correct
128
140 double BoltzmannTdndmu(int N, double T, double mu, double m, double deg,
141 const IdealGasFunctionsExtraConfig& extraConfig = IdealGasFunctionsExtraConfig());
142
156 double BoltzmannChiN(int N, double T, double mu, double m, double deg,
157 const IdealGasFunctionsExtraConfig& extraConfig = IdealGasFunctionsExtraConfig());
158
172 double BoltzmannChiNDimensionfull(int N, double T, double mu, double m, double deg,
173 const IdealGasFunctionsExtraConfig& extraConfig = IdealGasFunctionsExtraConfig());
174
185 double BoltzmannMagnetization(double T, double mu, double m, double deg,
186 const IdealGasFunctionsExtraConfig& extraConfig = IdealGasFunctionsExtraConfig());
187
197 double QuantumClusterExpansionDensity(int statistics, double T, double mu, double m, double deg, int order = 1,
198 const IdealGasFunctionsExtraConfig& extraConfig = IdealGasFunctionsExtraConfig());
199
209 double QuantumClusterExpansionPressure(int statistics, double T, double mu, double m, double deg, int order = 1,
210 const IdealGasFunctionsExtraConfig& extraConfig = IdealGasFunctionsExtraConfig());
211
221 double QuantumClusterExpansionEnergyDensity(int statistics, double T, double mu, double m, double deg, int order = 1,
222 const IdealGasFunctionsExtraConfig& extraConfig = IdealGasFunctionsExtraConfig()); // TODO: Check for correctness
223
233 double QuantumClusterExpansionEntropyDensity(int statistics, double T, double mu, double m, double deg, int order = 1,
234 const IdealGasFunctionsExtraConfig& extraConfig = IdealGasFunctionsExtraConfig());
235
245 double QuantumClusterExpansionScalarDensity(int statistics, double T, double mu, double m, double deg, int order = 1,
246 const IdealGasFunctionsExtraConfig& extraConfig = IdealGasFunctionsExtraConfig()); // TODO: Check for correctness
247
259 double QuantumClusterExpansionTdndmu(int N, int statistics, double T, double mu, double m, double deg, int order = 1,
260 const IdealGasFunctionsExtraConfig& extraConfig = IdealGasFunctionsExtraConfig());
261
275 double QuantumClusterExpansionChiN(int N, int statistics, double T, double mu, double m, double deg, int order = 1,
276 const IdealGasFunctionsExtraConfig& extraConfig = IdealGasFunctionsExtraConfig());
277
291 double QuantumClusterExpansionChiNDimensionfull(int N, int statistics, double T, double mu, double m, double deg, int order = 1,
292 const IdealGasFunctionsExtraConfig& extraConfig = IdealGasFunctionsExtraConfig());
293
294
295
305 double QuantumClusterExpansionMagnetization(int statistics, double T, double mu, double m, double deg, int order = 1,
306 const IdealGasFunctionsExtraConfig& extraConfig = IdealGasFunctionsExtraConfig());
307
317 double QuantumNumericalIntegrationDensity(int statistics, double T, double mu, double m, double deg,
318 const IdealGasFunctionsExtraConfig& extraConfig = IdealGasFunctionsExtraConfig());
319
329 double QuantumNumericalIntegrationPressure(int statistics, double T, double mu, double m, double deg,
330 const IdealGasFunctionsExtraConfig& extraConfig = IdealGasFunctionsExtraConfig());
331
341 double QuantumNumericalIntegrationEnergyDensity(int statistics, double T, double mu, double m, double deg,
342 const IdealGasFunctionsExtraConfig& extraConfig = IdealGasFunctionsExtraConfig());
343
353 double QuantumNumericalIntegrationEntropyDensity(int statistics, double T, double mu, double m, double deg,
354 const IdealGasFunctionsExtraConfig& extraConfig = IdealGasFunctionsExtraConfig());
355
365 double QuantumNumericalIntegrationScalarDensity(int statistics, double T, double mu, double m, double deg,
366 const IdealGasFunctionsExtraConfig& extraConfig = IdealGasFunctionsExtraConfig()); // TODO: Check for correctness
367
377 double QuantumNumericalIntegrationMagnetization(int statistics, double T, double mu, double m, double deg,
378 const IdealGasFunctionsExtraConfig& extraConfig = IdealGasFunctionsExtraConfig());
379
380 double QuantumNumericalIntegrationT1dn1dmu1(int statistics, double T, double mu, double m, double deg,
381 const IdealGasFunctionsExtraConfig& extraConfig = IdealGasFunctionsExtraConfig());
382 double QuantumNumericalIntegrationT2dn2dmu2(int statistics, double T, double mu, double m, double deg,
383 const IdealGasFunctionsExtraConfig& extraConfig = IdealGasFunctionsExtraConfig());
384 double QuantumNumericalIntegrationT3dn3dmu3(int statistics, double T, double mu, double m, double deg,
385 const IdealGasFunctionsExtraConfig& extraConfig = IdealGasFunctionsExtraConfig());
386 double QuantumNumericalIntegrationTdndmu(int N, int statistics, double T, double mu, double m, double deg,
387 const IdealGasFunctionsExtraConfig& extraConfig = IdealGasFunctionsExtraConfig());
388
402 double QuantumNumericalIntegrationChiN(int N, int statistics, double T, double mu, double m, double deg,
403 const IdealGasFunctionsExtraConfig& extraConfig = IdealGasFunctionsExtraConfig());
404
418 double QuantumNumericalIntegrationChiNDimensionfull(int N, int statistics, double T, double mu, double m, double deg,
419 const IdealGasFunctionsExtraConfig& extraConfig = IdealGasFunctionsExtraConfig());
420
430 double psi(double x);
431
440 double psi2(double x);
441
452 double FermiNumericalIntegrationLargeMuDensity(double T, double mu, double m, double deg,
453 const IdealGasFunctionsExtraConfig& extraConfig = IdealGasFunctionsExtraConfig());
454
465 double FermiNumericalIntegrationLargeMuPressure(double T, double mu, double m, double deg,
466 const IdealGasFunctionsExtraConfig& extraConfig = IdealGasFunctionsExtraConfig());
467
478 double FermiNumericalIntegrationLargeMuEnergyDensity(double T, double mu, double m, double deg,
479 const IdealGasFunctionsExtraConfig& extraConfig = IdealGasFunctionsExtraConfig());
480
491 double FermiNumericalIntegrationLargeMuEntropyDensity(double T, double mu, double m, double deg,
492 const IdealGasFunctionsExtraConfig& extraConfig = IdealGasFunctionsExtraConfig());
493
504 double FermiNumericalIntegrationLargeMuScalarDensity(double T, double mu, double m, double deg,
505 const IdealGasFunctionsExtraConfig& extraConfig = IdealGasFunctionsExtraConfig()); // TODO: Check for correctness
506
507
508 double FermiNumericalIntegrationLargeMuMagnetization(double T, double mu, double m, double deg,
509 const IdealGasFunctionsExtraConfig& extraConfig = IdealGasFunctionsExtraConfig()); // TODO: Check for correctness
510
511 double FermiNumericalIntegrationLargeMuT1dn1dmu1(double T, double mu, double m, double deg,
512 const IdealGasFunctionsExtraConfig& extraConfig = IdealGasFunctionsExtraConfig());
513 double FermiNumericalIntegrationLargeMuT2dn2dmu2(double T, double mu, double m, double deg,
514 const IdealGasFunctionsExtraConfig& extraConfig = IdealGasFunctionsExtraConfig());
515 double FermiNumericalIntegrationLargeMuT3dn3dmu3(double T, double mu, double m, double deg,
516 const IdealGasFunctionsExtraConfig& extraConfig = IdealGasFunctionsExtraConfig());
517 double FermiNumericalIntegrationLargeMuTdndmu(int N, double T, double mu, double m, double deg,
518 const IdealGasFunctionsExtraConfig& extraConfig = IdealGasFunctionsExtraConfig());
519
534 double FermiNumericalIntegrationLargeMuChiN(int N, double T, double mu, double m, double deg,
535 const IdealGasFunctionsExtraConfig& extraConfig = IdealGasFunctionsExtraConfig());
536
551 double FermiNumericalIntegrationLargeMuChiNDimensionfull(int N, double T, double mu, double m, double deg,
552 const IdealGasFunctionsExtraConfig& extraConfig = IdealGasFunctionsExtraConfig());
553
554
563 double FermiZeroTDensity(double mu, double m, double deg,
564 const IdealGasFunctionsExtraConfig& extraConfig = IdealGasFunctionsExtraConfig());
565
574 double FermiZeroTPressure(double mu, double m, double deg,
575 const IdealGasFunctionsExtraConfig& extraConfig = IdealGasFunctionsExtraConfig());
576
585 double FermiZeroTEnergyDensity(double mu, double m, double deg,
586 const IdealGasFunctionsExtraConfig& extraConfig = IdealGasFunctionsExtraConfig());
587
596 double FermiZeroTEntropyDensity(double mu, double m, double deg,
597 const IdealGasFunctionsExtraConfig& extraConfig = IdealGasFunctionsExtraConfig());
598
608 double FermiZeroTScalarDensity(double mu, double m, double deg,
609 const IdealGasFunctionsExtraConfig& extraConfig = IdealGasFunctionsExtraConfig()); // TODO: Check for correctness
610
611 double FermiZeroTMagnetization(double mu, double m, double deg,
612 const IdealGasFunctionsExtraConfig& extraConfig = IdealGasFunctionsExtraConfig()); // TODO: Check for correctness
613
614
615 double FermiZeroTdn1dmu1(double mu, double m, double deg,
616 const IdealGasFunctionsExtraConfig& extraConfig = IdealGasFunctionsExtraConfig());
617 double FermiZeroTdn2dmu2(double mu, double m, double deg,
618 const IdealGasFunctionsExtraConfig& extraConfig = IdealGasFunctionsExtraConfig());
619 double FermiZeroTdn3dmu3(double mu, double m, double deg,
620 const IdealGasFunctionsExtraConfig& extraConfig = IdealGasFunctionsExtraConfig());
621 double FermiZeroTdndmu(int N, double mu, double m, double deg,
622 const IdealGasFunctionsExtraConfig& extraConfig = IdealGasFunctionsExtraConfig());
623
636 double FermiZeroTChiN(int N, double mu, double m, double deg,
637 const IdealGasFunctionsExtraConfig& extraConfig = IdealGasFunctionsExtraConfig());
638
652 double FermiZeroTChiNDimensionfull(int N, double mu, double m, double deg,
653 const IdealGasFunctionsExtraConfig& extraConfig = IdealGasFunctionsExtraConfig());
654
671 double IdealGasQuantity(Quantity quantity, QStatsCalculationType calctype, int statistics, double T, double mu, double m, double deg, int order = 1,
672 const IdealGasFunctionsExtraConfig& extraConfig = IdealGasFunctionsExtraConfig());
673
675
684 double BoltzmanndndT(double T, double mu, double m, double deg,
685 const IdealGasFunctionsExtraConfig& extraConfig = IdealGasFunctionsExtraConfig());
686
696 double Boltzmannd2ndT2(double T, double mu, double m, double deg,
697 const IdealGasFunctionsExtraConfig& extraConfig = IdealGasFunctionsExtraConfig());
698
708 double BoltzmanndedT(double T, double mu, double m, double deg,
709 const IdealGasFunctionsExtraConfig& extraConfig = IdealGasFunctionsExtraConfig());
710
720 double Boltzmanndedmu(double T, double mu, double m, double deg,
721 const IdealGasFunctionsExtraConfig& extraConfig = IdealGasFunctionsExtraConfig());
722
732 double Boltzmanndchi2dT(double T, double mu, double m, double deg,
733 const IdealGasFunctionsExtraConfig& extraConfig = IdealGasFunctionsExtraConfig());
734
735 // Cluster expansion
745 double QuantumClusterExpansiondndT(int statistics, double T, double mu, double m, double deg, int order = 1,
746 const IdealGasFunctionsExtraConfig& extraConfig = IdealGasFunctionsExtraConfig());
747
757 double QuantumClusterExpansiond2ndT2(int statistics, double T, double mu, double m, double deg, int order = 1,
758 const IdealGasFunctionsExtraConfig& extraConfig = IdealGasFunctionsExtraConfig());
759
769 double QuantumClusterExpansiondedT(int statistics, double T, double mu, double m, double deg, int order = 1,
770 const IdealGasFunctionsExtraConfig& extraConfig = IdealGasFunctionsExtraConfig());
771
781 double QuantumClusterExpansiondedmu(int statistics, double T, double mu, double m, double deg, int order = 1,
782 const IdealGasFunctionsExtraConfig& extraConfig = IdealGasFunctionsExtraConfig());
783
793 double QuantumClusterExpansiondchi2dT(int statistics, double T, double mu, double m, double deg, int order = 1,
794 const IdealGasFunctionsExtraConfig& extraConfig = IdealGasFunctionsExtraConfig());
795
796
806 double QuantumNumericalIntegrationdndT(int statistics, double T, double mu, double m, double deg,
807 const IdealGasFunctionsExtraConfig& extraConfig = IdealGasFunctionsExtraConfig());
808
818 double QuantumNumericalIntegrationd2ndT2(int statistics, double T, double mu, double m, double deg,
819 const IdealGasFunctionsExtraConfig& extraConfig = IdealGasFunctionsExtraConfig());
820
830 double QuantumNumericalIntegrationdedT(int statistics, double T, double mu, double m, double deg,
831 const IdealGasFunctionsExtraConfig& extraConfig = IdealGasFunctionsExtraConfig());
832
842 double QuantumNumericalIntegrationdedmu(int statistics, double T, double mu, double m, double deg,
843 const IdealGasFunctionsExtraConfig& extraConfig = IdealGasFunctionsExtraConfig());
844
854 double QuantumNumericalIntegrationdchi2dT(int statistics, double T, double mu, double m, double deg,
855 const IdealGasFunctionsExtraConfig& extraConfig = IdealGasFunctionsExtraConfig());
856
866 double FermiNumericalIntegrationLargeMudndT(double T, double mu, double m, double deg,
867 const IdealGasFunctionsExtraConfig& extraConfig = IdealGasFunctionsExtraConfig());
868
878 double FermiNumericalIntegrationLargeMud2ndT2(double T, double mu, double m, double deg,
879 const IdealGasFunctionsExtraConfig& extraConfig = IdealGasFunctionsExtraConfig());
880
890 double FermiNumericalIntegrationLargeMudedT(double T, double mu, double m, double deg,
891 const IdealGasFunctionsExtraConfig& extraConfig = IdealGasFunctionsExtraConfig());
892
902 double FermiNumericalIntegrationLargeMudedmu(double T, double mu, double m, double deg,
903 const IdealGasFunctionsExtraConfig& extraConfig = IdealGasFunctionsExtraConfig());
904
914 double FermiNumericalIntegrationLargeMudchi2dT(double T, double mu, double m, double deg,
915 const IdealGasFunctionsExtraConfig& extraConfig = IdealGasFunctionsExtraConfig());
916 }
917
922 public:
925
926 virtual double Quantity(IdealGasFunctions::Quantity quantity, double T, double mu) = 0;
927 virtual double EffectiveMass() const { return -1.; }
928 virtual bool IsBECPhase() const { return false; }
929 virtual double BECFraction() const { return 0.; }
930 };
931
932} // namespace thermalfist
933
934#endif // IDEALGASFUNCTIONS_H
virtual double Quantity(IdealGasFunctions::Quantity quantity, double T, double mu)=0
virtual double EffectiveMass() const
virtual double BECFraction() const
Contains implementation of the thermodynamic functions corresponding to an ideal gas of particles in ...
double FermiNumericalIntegrationLargeMuChiNDimensionfull(int N, double T, double mu, double m, double deg, const IdealGasFunctionsExtraConfig &extraConfig=IdealGasFunctionsExtraConfig())
Computes the n-th order dimensionfull susceptibility for a Fermi-Dirac ideal gas at mu > m.
double FermiNumericalIntegrationLargeMudndT(double T, double mu, double m, double deg, const IdealGasFunctionsExtraConfig &extraConfig=IdealGasFunctionsExtraConfig())
Computes the derivative of particle number density wrt T at constant mu for a Maxwell-Boltzmann gas.
double FermiNumericalIntegrationLargeMud2ndT2(double T, double mu, double m, double deg, const IdealGasFunctionsExtraConfig &extraConfig=IdealGasFunctionsExtraConfig())
Computes the second derivative of particle number density wrt T at constant mu for a Maxwell-Boltzman...
double FermiZeroTChiN(int N, double mu, double m, double deg, const IdealGasFunctionsExtraConfig &extraConfig=IdealGasFunctionsExtraConfig())
Computes the n-th order susceptibility for a Fermi-Dirac ideal gas at zero temperature.
double FermiNumericalIntegrationLargeMuScalarDensity(double T, double mu, double m, double deg, const IdealGasFunctionsExtraConfig &extraConfig=IdealGasFunctionsExtraConfig())
Computes the scalar density of a Fermi-Dirac ideal gas at mu > m.
double FermiZeroTdn3dmu3(double mu, double m, double deg, const IdealGasFunctionsExtraConfig &extraConfig=IdealGasFunctionsExtraConfig())
double FermiNumericalIntegrationLargeMuDensity(double T, double mu, double m, double deg, const IdealGasFunctionsExtraConfig &extraConfig=IdealGasFunctionsExtraConfig())
Computes the particle number density of a Fermi-Dirac ideal gas at mu > m.
double QuantumClusterExpansionEntropyDensity(int statistics, double T, double mu, double m, double deg, int order=1, const IdealGasFunctionsExtraConfig &extraConfig=IdealGasFunctionsExtraConfig())
Computes the entropy density of a quantum ideal gas using cluster expansion.
double QuantumClusterExpansiondedT(int statistics, double T, double mu, double m, double deg, int order=1, const IdealGasFunctionsExtraConfig &extraConfig=IdealGasFunctionsExtraConfig())
Computes the derivative of energy density wrt T at constant mu for a Maxwell-Boltzmann gas.
double FermiNumericalIntegrationLargeMuPressure(double T, double mu, double m, double deg, const IdealGasFunctionsExtraConfig &extraConfig=IdealGasFunctionsExtraConfig())
Computes the pressure of a Fermi-Dirac ideal gas at mu > m.
double BoltzmannTdndmu(int N, double T, double mu, double m, double deg, const IdealGasFunctionsExtraConfig &extraConfig=IdealGasFunctionsExtraConfig())
Computes the chemical potential derivative of density for a Maxwell-Boltzmann gas.
double QuantumNumericalIntegrationMagnetization(int statistics, double T, double mu, double m, double deg, const IdealGasFunctionsExtraConfig &extraConfig=IdealGasFunctionsExtraConfig())
Computes the magnetization of a quantum ideal gas using 32-point Gauss-Laguerre quadratures.
double FermiZeroTdn2dmu2(double mu, double m, double deg, const IdealGasFunctionsExtraConfig &extraConfig=IdealGasFunctionsExtraConfig())
double QuantumClusterExpansionMagnetization(int statistics, double T, double mu, double m, double deg, int order=1, const IdealGasFunctionsExtraConfig &extraConfig=IdealGasFunctionsExtraConfig())
Computes the thermal part of the magnetization of a Maxwell-Boltzmann gas, m_B = dP/dB.
double QuantumNumericalIntegrationChiN(int N, int statistics, double T, double mu, double m, double deg, const IdealGasFunctionsExtraConfig &extraConfig=IdealGasFunctionsExtraConfig())
Computes the n-th order dimensionless susceptibility for a quantum ideal gas using 32-point Gauss-Lag...
double QuantumClusterExpansionChiNDimensionfull(int N, int statistics, double T, double mu, double m, double deg, int order=1, const IdealGasFunctionsExtraConfig &extraConfig=IdealGasFunctionsExtraConfig())
Computes the n-th order dimensionfull susceptibility for a quantum ideal gas using cluster expansion.
double FermiNumericalIntegrationLargeMuTdndmu(int N, double T, double mu, double m, double deg, const IdealGasFunctionsExtraConfig &extraConfig=IdealGasFunctionsExtraConfig())
double psi(double x)
Auxiliary function.
QStatsCalculationType
Identifies whether quantum statistics are to be computed using the cluster expansion or numerical int...
double BoltzmannDensity(double T, double mu, double m, double deg, const IdealGasFunctionsExtraConfig &extraConfig=IdealGasFunctionsExtraConfig())
Computes the particle number density of a Maxwell-Boltzmann gas.
double BoltzmanndedT(double T, double mu, double m, double deg, const IdealGasFunctionsExtraConfig &extraConfig=IdealGasFunctionsExtraConfig())
Computes the derivative of energy density wrt T at constant mu for a Maxwell-Boltzmann gas.
double QuantumNumericalIntegrationdedmu(int statistics, double T, double mu, double m, double deg, const IdealGasFunctionsExtraConfig &extraConfig=IdealGasFunctionsExtraConfig())
Computes the derivative of energy density wrt mu at constant T for a Maxwell-Boltzmann gas.
double BoltzmannChiNDimensionfull(int N, double T, double mu, double m, double deg, const IdealGasFunctionsExtraConfig &extraConfig=IdealGasFunctionsExtraConfig())
Computes the n-th order dimensionfull susceptibility for a Maxwell-Boltzmann gas.
double FermiZeroTEntropyDensity(double mu, double m, double deg, const IdealGasFunctionsExtraConfig &extraConfig=IdealGasFunctionsExtraConfig())
Computes the entropy density of a Fermi-Dirac ideal gas at zero temperature.
double FermiNumericalIntegrationLargeMudedmu(double T, double mu, double m, double deg, const IdealGasFunctionsExtraConfig &extraConfig=IdealGasFunctionsExtraConfig())
Computes the derivative of energy density wrt mu at constant T for a Maxwell-Boltzmann gas.
double FermiNumericalIntegrationLargeMuT3dn3dmu3(double T, double mu, double m, double deg, const IdealGasFunctionsExtraConfig &extraConfig=IdealGasFunctionsExtraConfig())
double IdealGasQuantity(Quantity quantity, QStatsCalculationType calctype, int statistics, double T, double mu, double m, double deg, int order=1, const IdealGasFunctionsExtraConfig &extraConfig=IdealGasFunctionsExtraConfig())
Calculation of a generic ideal gas function.
double QuantumClusterExpansionScalarDensity(int statistics, double T, double mu, double m, double deg, int order=1, const IdealGasFunctionsExtraConfig &extraConfig=IdealGasFunctionsExtraConfig())
Computes the scalar density of a quantum ideal gas using cluster expansion.
bool calculationHadBECIssue
Whether \mu > m Bose-Einstein condensation issue was encountered for a Bose gas.
double BoltzmannEntropyDensity(double T, double mu, double m, double deg, const IdealGasFunctionsExtraConfig &extraConfig=IdealGasFunctionsExtraConfig())
Computes the entropy density of a Maxwell-Boltzmann gas.
double QuantumNumericalIntegrationdndT(int statistics, double T, double mu, double m, double deg, const IdealGasFunctionsExtraConfig &extraConfig=IdealGasFunctionsExtraConfig())
Computes the derivative of particle number density wrt T at constant mu for a Maxwell-Boltzmann gas.
double QuantumNumericalIntegrationScalarDensity(int statistics, double T, double mu, double m, double deg, const IdealGasFunctionsExtraConfig &extraConfig=IdealGasFunctionsExtraConfig())
Computes the scalar density of a quantum ideal gas using 32-point Gauss-Laguerre quadratures.
double FermiNumericalIntegrationLargeMudchi2dT(double T, double mu, double m, double deg, const IdealGasFunctionsExtraConfig &extraConfig=IdealGasFunctionsExtraConfig())
Computes the derivative of the susceptibility wrt T at constant mu for a Maxwell-Boltzmann gas.
double FermiZeroTEnergyDensity(double mu, double m, double deg, const IdealGasFunctionsExtraConfig &extraConfig=IdealGasFunctionsExtraConfig())
Computes the energy density of a Fermi-Dirac ideal gas at zero temperature.
double FermiNumericalIntegrationLargeMuMagnetization(double T, double mu, double m, double deg, const IdealGasFunctionsExtraConfig &extraConfig=IdealGasFunctionsExtraConfig())
double FermiNumericalIntegrationLargeMuChiN(int N, double T, double mu, double m, double deg, const IdealGasFunctionsExtraConfig &extraConfig=IdealGasFunctionsExtraConfig())
Computes the n-th order dimensionless susceptibility for a Fermi-Dirac ideal gas at mu > m.
double Boltzmanndchi2dT(double T, double mu, double m, double deg, const IdealGasFunctionsExtraConfig &extraConfig=IdealGasFunctionsExtraConfig())
Computes the derivative of the susceptibility wrt T at constant mu for a Maxwell-Boltzmann gas.
double QuantumNumericalIntegrationT3dn3dmu3(int statistics, double T, double mu, double m, double deg, const IdealGasFunctionsExtraConfig &extraConfig=IdealGasFunctionsExtraConfig())
double FermiNumericalIntegrationLargeMuT1dn1dmu1(double T, double mu, double m, double deg, const IdealGasFunctionsExtraConfig &extraConfig=IdealGasFunctionsExtraConfig())
double Boltzmanndedmu(double T, double mu, double m, double deg, const IdealGasFunctionsExtraConfig &extraConfig=IdealGasFunctionsExtraConfig())
Computes the derivative of energy density wrt mu at constant T for a Maxwell-Boltzmann gas.
double psi2(double x)
Auxiliary function.
double QuantumClusterExpansiondedmu(int statistics, double T, double mu, double m, double deg, int order=1, const IdealGasFunctionsExtraConfig &extraConfig=IdealGasFunctionsExtraConfig())
Computes the derivative of energy density wrt mu at constant T for a Maxwell-Boltzmann gas.
double FermiNumericalIntegrationLargeMuT2dn2dmu2(double T, double mu, double m, double deg, const IdealGasFunctionsExtraConfig &extraConfig=IdealGasFunctionsExtraConfig())
double FermiZeroTMagnetization(double mu, double m, double deg, const IdealGasFunctionsExtraConfig &extraConfig=IdealGasFunctionsExtraConfig())
double QuantumNumericalIntegrationdchi2dT(int statistics, double T, double mu, double m, double deg, const IdealGasFunctionsExtraConfig &extraConfig=IdealGasFunctionsExtraConfig())
Computes the derivative of the susceptibility wrt T at constant mu for a Maxwell-Boltzmann gas.
double QuantumNumericalIntegrationTdndmu(int N, int statistics, double T, double mu, double m, double deg, const IdealGasFunctionsExtraConfig &extraConfig=IdealGasFunctionsExtraConfig())
double FermiZeroTScalarDensity(double mu, double m, double deg, const IdealGasFunctionsExtraConfig &extraConfig=IdealGasFunctionsExtraConfig())
Computes the scalar density of a Fermi-Dirac ideal gas at zero temperature.
double QuantumNumericalIntegrationEnergyDensity(int statistics, double T, double mu, double m, double deg, const IdealGasFunctionsExtraConfig &extraConfig=IdealGasFunctionsExtraConfig())
Computes the energy density of a quantum ideal gas using 32-point Gauss-Laguerre quadratures.
double QuantumClusterExpansionChiN(int N, int statistics, double T, double mu, double m, double deg, int order=1, const IdealGasFunctionsExtraConfig &extraConfig=IdealGasFunctionsExtraConfig())
Computes the n-th order dimensionless susceptibility for a quantum ideal gas using cluster expansion.
double Boltzmannd2ndT2(double T, double mu, double m, double deg, const IdealGasFunctionsExtraConfig &extraConfig=IdealGasFunctionsExtraConfig())
Computes the 2nd derivative of particle number density wrt T at constant mu for a Maxwell-Boltzmann g...
double FermiNumericalIntegrationLargeMudedT(double T, double mu, double m, double deg, const IdealGasFunctionsExtraConfig &extraConfig=IdealGasFunctionsExtraConfig())
Computes the derivative of energy density wrt T at constant mu for a Maxwell-Boltzmann gas.
double QuantumClusterExpansiond2ndT2(int statistics, double T, double mu, double m, double deg, int order=1, const IdealGasFunctionsExtraConfig &extraConfig=IdealGasFunctionsExtraConfig())
Computes the 2nd derivative of particle number density wrt T at constant mu for a Maxwell-Boltzmann g...
double FermiNumericalIntegrationLargeMuEnergyDensity(double T, double mu, double m, double deg, const IdealGasFunctionsExtraConfig &extraConfig=IdealGasFunctionsExtraConfig())
Computes the energy density of a Fermi-Dirac ideal gas at mu > m.
double BoltzmannScalarDensity(double T, double mu, double m, double deg, const IdealGasFunctionsExtraConfig &extraConfig=IdealGasFunctionsExtraConfig())
Computes the scalar density of a Maxwell-Boltzmann gas.
double QuantumClusterExpansionDensity(int statistics, double T, double mu, double m, double deg, int order=1, const IdealGasFunctionsExtraConfig &extraConfig=IdealGasFunctionsExtraConfig())
Computes the particle number density of a quantum ideal gas using cluster expansion.
double BoltzmannMagnetization(double T, double mu, double m, double deg, const IdealGasFunctionsExtraConfig &extraConfig=IdealGasFunctionsExtraConfig())
Computes the thermal part of the magnetization of a Maxwell-Boltzmann gas, m_B = dP/dB.
double BoltzmannChiN(int N, double T, double mu, double m, double deg, const IdealGasFunctionsExtraConfig &extraConfig=IdealGasFunctionsExtraConfig())
Computes the n-th order dimensionless susceptibility for a Maxwell-Boltzmann gas.
double QuantumNumericalIntegrationT2dn2dmu2(int statistics, double T, double mu, double m, double deg, const IdealGasFunctionsExtraConfig &extraConfig=IdealGasFunctionsExtraConfig())
double QuantumClusterExpansionEnergyDensity(int statistics, double T, double mu, double m, double deg, int order=1, const IdealGasFunctionsExtraConfig &extraConfig=IdealGasFunctionsExtraConfig())
Computes the energy density of a quantum ideal gas using cluster expansion.
double FermiZeroTdn1dmu1(double mu, double m, double deg, const IdealGasFunctionsExtraConfig &extraConfig=IdealGasFunctionsExtraConfig())
double FermiZeroTPressure(double mu, double m, double deg, const IdealGasFunctionsExtraConfig &extraConfig=IdealGasFunctionsExtraConfig())
Computes the pressure of a Fermi-Dirac ideal gas at zero temperature.
double BoltzmannPressure(double T, double mu, double m, double deg, const IdealGasFunctionsExtraConfig &extraConfig=IdealGasFunctionsExtraConfig())
Computes the pressure of a Maxwell-Boltzmann gas.
double QuantumClusterExpansionPressure(int statistics, double T, double mu, double m, double deg, int order=1, const IdealGasFunctionsExtraConfig &extraConfig=IdealGasFunctionsExtraConfig())
Computes the pressure of a quantum ideal gas using cluster expansion.
double QuantumNumericalIntegrationEntropyDensity(int statistics, double T, double mu, double m, double deg, const IdealGasFunctionsExtraConfig &extraConfig=IdealGasFunctionsExtraConfig())
Computes the entropy density of a quantum ideal gas using 32-point Gauss-Laguerre quadratures.
Quantity
Identifies the thermodynamic function.
double QuantumNumericalIntegrationd2ndT2(int statistics, double T, double mu, double m, double deg, const IdealGasFunctionsExtraConfig &extraConfig=IdealGasFunctionsExtraConfig())
Computes the 2nd derivative of particle number density wrt T at constant mu for a Maxwell-Boltzmann g...
double QuantumNumericalIntegrationT1dn1dmu1(int statistics, double T, double mu, double m, double deg, const IdealGasFunctionsExtraConfig &extraConfig=IdealGasFunctionsExtraConfig())
double BoltzmanndndT(double T, double mu, double m, double deg, const IdealGasFunctionsExtraConfig &extraConfig=IdealGasFunctionsExtraConfig())
Temperature derivatives.
double QuantumNumericalIntegrationDensity(int statistics, double T, double mu, double m, double deg, const IdealGasFunctionsExtraConfig &extraConfig=IdealGasFunctionsExtraConfig())
Computes the particle number density of a quantum ideal gas using 32-point Gauss-Laguerre quadratures...
double QuantumClusterExpansiondndT(int statistics, double T, double mu, double m, double deg, int order=1, const IdealGasFunctionsExtraConfig &extraConfig=IdealGasFunctionsExtraConfig())
Computes the derivative of particle number density wrt T at constant mu for a Maxwell-Boltzmann gas.
double QuantumNumericalIntegrationdedT(int statistics, double T, double mu, double m, double deg, const IdealGasFunctionsExtraConfig &extraConfig=IdealGasFunctionsExtraConfig())
Computes the derivative of energy density wrt T at constant mu for a Maxwell-Boltzmann gas.
double FermiZeroTdndmu(int N, double mu, double m, double deg, const IdealGasFunctionsExtraConfig &extraConfig=IdealGasFunctionsExtraConfig())
double FermiNumericalIntegrationLargeMuEntropyDensity(double T, double mu, double m, double deg, const IdealGasFunctionsExtraConfig &extraConfig=IdealGasFunctionsExtraConfig())
Computes the entropy density of a Fermi-Dirac ideal gas at mu > m.
double QuantumClusterExpansiondchi2dT(int statistics, double T, double mu, double m, double deg, int order=1, const IdealGasFunctionsExtraConfig &extraConfig=IdealGasFunctionsExtraConfig())
Computes the derivative of the susceptibility wrt T at constant mu for a Maxwell-Boltzmann gas.
double QuantumNumericalIntegrationChiNDimensionfull(int N, int statistics, double T, double mu, double m, double deg, const IdealGasFunctionsExtraConfig &extraConfig=IdealGasFunctionsExtraConfig())
Computes the n-th order dimensionfull susceptibility for a quantum ideal gas using 32-point Gauss-Lag...
double QuantumClusterExpansionTdndmu(int N, int statistics, double T, double mu, double m, double deg, int order=1, const IdealGasFunctionsExtraConfig &extraConfig=IdealGasFunctionsExtraConfig())
Computes the chemical potential derivative of density for a quantum ideal gas using cluster expansion...
double FermiZeroTDensity(double mu, double m, double deg, const IdealGasFunctionsExtraConfig &extraConfig=IdealGasFunctionsExtraConfig())
Computes the particle number density of a Fermi-Dirac ideal gas at zero temperature.
double QuantumNumericalIntegrationPressure(int statistics, double T, double mu, double m, double deg, const IdealGasFunctionsExtraConfig &extraConfig=IdealGasFunctionsExtraConfig())
Computes the pressure of a quantum ideal gas using 32-point Gauss-Laguerre quadratures.
double FermiZeroTChiNDimensionfull(int N, double mu, double m, double deg, const IdealGasFunctionsExtraConfig &extraConfig=IdealGasFunctionsExtraConfig())
Computes the n-th order susceptibility scaled by T^n for a Fermi-Dirac ideal gas at zero temperature.
double BoltzmannEnergyDensity(double T, double mu, double m, double deg, const IdealGasFunctionsExtraConfig &extraConfig=IdealGasFunctionsExtraConfig())
Computes the energy density of a Maxwell-Boltzmann gas.
The main namespace where all classes and functions of the Thermal-FIST library reside.
Definition CosmicEoS.h:9
IdealGasFunctionsExtraConfig(const MagneticFieldConfiguration &in_MagneticField=MagneticFieldConfiguration())
MagneticFieldConfiguration MagneticField
Magnetic field configuration.
MagneticFieldConfiguration(double in_B=0., int in_lmax=100, double in_degSpin=1., double in_Q=0.)