LORENE
|
Base class for temperature-dependent equations of state (abstract class). More...
#include <hoteos.h>
Public Member Functions | |
virtual | ~Hot_eos () |
Destructor. | |
const string & | get_name () const |
Returns the hot EOS name. | |
void | set_name (const char *) |
Sets the hot EOS name. | |
virtual bool | operator== (const Hot_eos &) const =0 |
Comparison operator (egality) | |
virtual bool | operator!= (const Hot_eos &) const =0 |
Comparison operator (difference) | |
virtual int | identify () const =0 |
Returns a number to identify the sub-classe of Hot_eos the object belongs to. | |
virtual void | sauve (FILE *) const |
Save in a file. | |
virtual const Eos & | new_cold_Eos () const =0 |
Returns the corresponding cold Eos . | |
virtual double | nbar_Hs_p (double ent, double sb) const =0 |
Computes the baryon density from the log-enthalpy and entropy per baryon (virtual function implemented in the derived classes). | |
Scalar | nbar_Hs (const Scalar &ent, const Scalar &sb, int nzet, int l_min=0) const |
Computes the baryon density field from the log-enthalpy field and entropy per baryon. | |
virtual double | ener_Hs_p (double ent, double sb) const =0 |
Computes the total energy density from the log-enthalpy and entropy per baryon (virtual function implemented in the derived classes). | |
Scalar | ener_Hs (const Scalar &ent, const Scalar &sb, int nzet, int l_min=0) const |
Computes the total energy density from the log-enthalpy and entropy per baryon. | |
virtual double | press_Hs_p (double ent, double sb) const =0 |
Computes the pressure from the log-enthalpy and entropy per baryon (virtual function implemented in the derived classes). | |
Scalar | press_Hs (const Scalar &ent, const Scalar &sb, int nzet, int l_min=0) const |
Computes the pressure from the log-enthalpy and entropy per baryon. | |
virtual double | temp_Hs_p (double ent, double sb) const =0 |
Computes the temperature from the log-enthalpy and entropy per baryon (virtual function implemented in the derived classes). | |
Scalar | temp_Hs (const Scalar &ent, const Scalar &sb, int nzet, int l_min=0) const |
Computes the temperature field from the log-enthalpy field and entropy per baryon. | |
Static Public Member Functions | |
static Hot_eos * | hoteos_from_file (FILE *) |
Construction of an EOS from a binary file. | |
static Hot_eos * | hoteos_from_file (ifstream &) |
Construction of a hot EOS from a formatted file. | |
Protected Member Functions | |
Hot_eos () | |
Standard constructor. | |
Hot_eos (const string &) | |
Standard constructor from a name (string) | |
Hot_eos (const char *) | |
Standard constructor from a name (char*) | |
Hot_eos (const Hot_eos &) | |
Copy constructor. | |
Hot_eos (FILE *) | |
Constructor from a binary file (created by the function sauve(FILE*) ). | |
Hot_eos (ifstream &) | |
Constructor from a formatted file. | |
virtual void | del_deriv () const |
Deletes all the derived quantities. | |
void | set_der_0x0 () const |
Sets to 0x0 all the pointers on derived quantities. | |
virtual ostream & | operator>> (ostream &) const =0 |
Operator >> | |
void | calcule (const Scalar &thermo1, const Scalar &thermo2, int nzet, int l_min, double(Hot_eos::*fait)(double, double) const, Scalar &resu) const |
General computational method for Scalar 's. | |
Protected Attributes | |
string | name |
EOS name. | |
Eos * | p_cold_eos |
Corresponding cold Eos. | |
Friends | |
ostream & | operator<< (ostream &, const Hot_eos &) |
Display. | |
Base class for temperature-dependent equations of state (abstract class).
()
|
protected |
Standard constructor from a name (string)
Definition at line 60 of file hoteos.C.
References set_der_0x0().
Standard constructor from a name (char*)
Definition at line 64 of file hoteos.C.
References set_der_0x0().
|
protected |
Constructor from a binary file (created by the function sauve(FILE*)
).
This constructor is protected because any hot EOS construction from a binary file must be done via the function Hot_eos::hoteos_from_file(FILE*)
.
Definition at line 76 of file hoteos.C.
References set_der_0x0(), and set_name().
|
protected |
Constructor from a formatted file.
This constructor is protected because any hot EOS construction from a formatted file must be done via the function Hot_eos::hoteos_from_file(ifstream&)
.
Definition at line 90 of file hoteos.C.
References set_der_0x0(), and set_name().
|
virtual |
|
protected |
General computational method for Scalar
's.
thermo1 | [input] first thermodynamical quantity (for instance the enthalpy field) from which the thermodynamical quantity resu is to be computed. |
thermo2 | [input] second thermodynamical quantity (for instance the entropy field) from which the thermodynamical quantity resu is to be computed. |
nzet | [input] number of domains where resu is to be computed. |
l_min | [input] index of the innermost domain is which resu is to be computed [default value: 0]; resu is computed only in domains whose indices are in [l_min,l_min+nzet-1] . In the other domains, it is set to zero. |
fait | [input] pointer on the member function of class Hot_eos which performs the pointwise calculation. |
resu | [output] result of the computation. |
|
protectedvirtual |
Deletes all the derived quantities.
Definition at line 109 of file hoteos.C.
References p_cold_eos, and set_der_0x0().
Scalar Lorene::Hot_eos::ener_Hs | ( | const Scalar & | ent, |
const Scalar & | sb, | ||
int | nzet, | ||
int | l_min = 0 |
||
) | const |
Computes the total energy density from the log-enthalpy and entropy per baryon.
ent | [input, unit: ![]() ![]() ![]() |
sb | [input, unit: ![]() ![]() |
nzet | number of domains where the energy density is to be computed. |
l_min | index of the innermost domain is which the energy density is to be computed [default value: 0]; the energy density is computed only in domains whose indices are in [l_min,l_min+nzet-1] . In the other domains, it is set to zero. |
Definition at line 252 of file hoteos.C.
References Lorene::Tensor::get_mp().
Computes the total energy density from the log-enthalpy and entropy per baryon (virtual function implemented in the derived classes).
ent | [input, unit: ![]() ![]() ![]() |
sb | [input, unit: ![]() ![]() |
Implemented in Lorene::Ideal_gas, and Lorene::Hoteos_tabul.
Construction of an EOS from a binary file.
The file must have been created by the function sauve(FILE*)
.
Definition at line 67 of file hoteos_from_file.C.
References Lorene::fread_be().
Construction of a hot EOS from a formatted file.
The fist line of the file must start by the EOS number, according to the following conventions:
Ideal_gas
).Ideal_gas_norel
).The second line in the file should contain a name given by the user to the EOS. The following lines should contain the EOS parameters (one parameter per line), in the same order than in the class declaration.
Definition at line 104 of file hoteos_from_file.C.
Returns a number to identify the sub-classe of Hot_eos
the object belongs to.
Implemented in Lorene::Ideal_gas, and Lorene::Hoteos_tabul.
Scalar Lorene::Hot_eos::nbar_Hs | ( | const Scalar & | ent, |
const Scalar & | sb, | ||
int | nzet, | ||
int | l_min = 0 |
||
) | const |
Computes the baryon density field from the log-enthalpy field and entropy per baryon.
ent | [input, unit: ![]() ![]() ![]() |
sb | [input, unit: ![]() ![]() |
nzet | number of domains where the baryon density is to be computed. |
l_min | index of the innermost domain is which the baryon density is to be computed [default value: 0]; the baryon density is computed only in domains whose indices are in [l_min,l_min+nzet-1] . In the other domains, it is set to zero. |
Definition at line 236 of file hoteos.C.
References Lorene::Tensor::get_mp().
Computes the baryon density from the log-enthalpy and entropy per baryon (virtual function implemented in the derived classes).
ent | [input, unit: ![]() ![]() ![]() |
sb | [input, unit: ![]() ![]() |
Implemented in Lorene::Ideal_gas, and Lorene::Hoteos_tabul.
Returns the corresponding cold Eos
.
Implemented in Lorene::Ideal_gas, and Lorene::Hoteos_tabul.
Comparison operator (difference)
Implemented in Lorene::Ideal_gas, and Lorene::Hoteos_tabul.
Comparison operator (egality)
Implemented in Lorene::Ideal_gas, and Lorene::Hoteos_tabul.
Operator >>
Implemented in Lorene::Ideal_gas, and Lorene::Hoteos_tabul.
Scalar Lorene::Hot_eos::press_Hs | ( | const Scalar & | ent, |
const Scalar & | sb, | ||
int | nzet, | ||
int | l_min = 0 |
||
) | const |
Computes the pressure from the log-enthalpy and entropy per baryon.
ent | [input, unit: ![]() ![]() ![]() |
sb | [input, unit: ![]() ![]() |
nzet | number of domains where the pressure is to be computed. |
l_min | index of the innermost domain is which the pressure is to be computed [default value: 0]; the pressure is computed only in domains whose indices are in [l_min,l_min+nzet-1] . In the other domains, it is set to zero. |
Definition at line 266 of file hoteos.C.
References Lorene::Tensor::get_mp().
Computes the pressure from the log-enthalpy and entropy per baryon (virtual function implemented in the derived classes).
ent | [input, unit: ![]() ![]() ![]() |
sb | [input, unit: ![]() ![]() |
Implemented in Lorene::Ideal_gas, and Lorene::Hoteos_tabul.
Save in a file.
Reimplemented in Lorene::Ideal_gas, and Lorene::Hoteos_tabul.
Definition at line 129 of file hoteos.C.
References Lorene::fwrite_be(), identify(), and name.
|
protected |
Sets to 0x0
all the pointers on derived quantities.
Definition at line 114 of file hoteos.C.
References p_cold_eos.
Scalar Lorene::Hot_eos::temp_Hs | ( | const Scalar & | ent, |
const Scalar & | sb, | ||
int | nzet, | ||
int | l_min = 0 |
||
) | const |
Computes the temperature field from the log-enthalpy field and entropy per baryon.
ent | [input, unit: ![]() ![]() ![]() |
sb | [input, unit: ![]() ![]() |
nzet | number of domains where the baryon density is to be computed. |
l_min | index of the innermost domain is which the baryon density is to be computed [default value: 0]; the baryon density is computed only in domains whose indices are in [l_min,l_min+nzet-1] . In the other domains, it is set to zero. |
Definition at line 280 of file hoteos.C.
References Lorene::Tensor::get_mp().
Computes the temperature from the log-enthalpy and entropy per baryon (virtual function implemented in the derived classes).
ent | [input, unit: ![]() ![]() ![]() |
sb | [input, unit: ![]() ![]() |
Implemented in Lorene::Ideal_gas, and Lorene::Hoteos_tabul.
|
mutableprotected |