8#ifndef EXCLUDEDVOLUMEMODELS_H
9#define EXCLUDEDVOLUMEMODELS_H
32 virtual double EtaMax()
const {
return -1.; }
33 virtual double f(
double eta)
const {
return 1.; }
34 virtual double df(
int n,
double eta)
const {
return (n == 0) ? 1. : 0.; }
35 virtual double etasol(
double etatil)
const {
return etatil; }
50 virtual double EtaMax()
const {
return 0.25; }
51 virtual double f(
double eta)
const {
return 1. - 4 * eta; }
52 virtual double df(
int n,
double eta)
const {
59 virtual double etasol(
double etatil)
const {
return etatil / (1. + 4. * etatil); }
72 virtual double EtaMax()
const {
return 1.; }
73 virtual double f(
double eta)
const {
74 return exp(-(4. - 3. * eta) * eta / (1. - eta) / (1. - eta));
76 double d1f(
double eta)
const {
77 return -
f(eta) * 2. * (2. - eta) / pow(1. - eta, 3);
79 double d2f(
double eta)
const {
80 return f(eta) * 2. * (3. + eta * (4. + eta * (-7. + 2. * eta))) / pow(1. - eta, 6);
82 double d3f(
double eta)
const {
83 return f(eta) * 4. * (5. + eta * (-24. + eta * (12. + eta * (17. + 3. * eta * (-5. + eta))))) / pow(1. - eta, 9);
85 double d4f(
double eta)
const {
86 double tret = 2. * eta;
87 tret += -13.; tret *= eta;
88 tret += 22.; tret *= 6. * eta;
89 tret += 85.; tret *= eta;
90 tret += -440.; tret *= eta;
91 tret += 396.; tret *= eta;
92 tret += -104.; tret *= eta;
93 tret += 1.; tret *= 4.;
94 return f(eta) * tret / pow((1. - eta), 12);
96 virtual double df(
int n,
double eta)
const;
113 virtual double EtaMax()
const {
return 1.e9; }
114 virtual double f(
double eta)
const {
115 return exp(-4. * eta);
117 virtual double df(
int n,
double eta)
const {
124 return mult * pow(4., n) *
f(eta);
141 virtual double EtaMax()
const {
return 1.e9; }
142 virtual double f(
double eta)
const {
143 return exp(-4. * eta - 8. * eta * eta);
145 double d1f(
double eta)
const {
146 return -
f(eta) * 4. * (1. + 4. * eta);
148 double d2f(
double eta)
const {
149 return f(eta) * 128. * eta * (1. + 2. * eta);
151 double d3f(
double eta)
const {
152 return -
f(eta) * 128. * (-1. + 8. * eta * eta * (3. + 4. * eta));
154 double d4f(
double eta)
const {
155 return f(eta) * 512. * (-1. + 16. * eta * (-1. + 8. * eta * eta * (1. + eta)));
157 virtual double df(
int n,
double eta)
const;
virtual ~ExcludedVolumeModelBase()
ExcludedVolumeModelBase()
virtual double df(int n, double eta) const
virtual double f(double eta) const
virtual double EtaMax() const
virtual double etasol(double etatil) const
virtual double etasolBinarySearch(double etatil) const
virtual double f(double eta) const
virtual double etasol(double etatil) const
virtual ~ExcludedVolumeModelCS()
virtual double df(int n, double eta) const
double d4f(double eta) const
virtual double EtaMax() const
double d3f(double eta) const
double d2f(double eta) const
double d1f(double eta) const
virtual double EtaMax() const
virtual double df(int n, double eta) const
double d1f(double eta) const
double d4f(double eta) const
virtual double etasol(double etatil) const
double d2f(double eta) const
double d3f(double eta) const
virtual double f(double eta) const
virtual ~ExcludedVolumeModelTVM()
virtual double f(double eta) const
virtual double etasol(double etatil) const
virtual ~ExcludedVolumeModelVDW()
virtual double df(int n, double eta) const
virtual double EtaMax() const
virtual double df(int n, double eta) const
virtual double f(double eta) const
virtual double EtaMax() const
virtual double etasol(double etatil) const
virtual ~ExcludedVolumeModelVirial()
ExcludedVolumeModelVirial()
The main namespace where all classes and functions of the Thermal-FIST library reside.