IdealGas for monoatomic molecules (i.e. no orientation integral)
More...
#include <IdealGasMonoatomic.h>
|
| IdealGasMonoatomic (const FluidMixture *, const FluidComponent *) |
| Initialize and associate with excess functional fex (and its fluid mixture)
|
|
void | initState (const ScalarField *Vex, ScalarField *psi, double scale, double Elo, double Ehi) const |
|
void | getDensities (const ScalarField *psi, ScalarField *N, vector3<> &P0) const |
| Given the independent variables indep, compute the site densities N and G=0 component of polarization density P.
|
|
double | compute (const ScalarField *psi, const ScalarField *N, ScalarField *Phi_N, const double Nscale, double &Phi_Nscale) const |
|
void | convertGradients (const ScalarField *psi, const ScalarField *N, const ScalarField *Phi_N, const vector3<> &Phi_P0, ScalarField *Phi_psi, const double Nscale) const |
|
| IdealGas (int nIndep, const FluidMixture *, const FluidComponent *) |
| Initialize and register to be used with excess functional fex in its fluidMixture.
|
|
double | get_Nbulk () |
|
void | overrideBulk (double Nbulk, double mu) |
| Override the values for bulk density and chemical potential set by fluidMixture::initialize()
|
|
|
const int | nIndep |
| Number of scalar fields used as independent variables.
|
|
const Molecule & | molecule |
| Associated molecule geometry.
|
|
const GridInfo & | gInfo |
| grid specifications
|
|
const double | T |
| temperature
|
|
ScalarFieldArray | V |
| external site potentials
|
|
double | Nbulk |
| equilibirum density of this molecule in the bulk mixture
|
|
double | mu |
| chemical potential for this molecule
|
|
double | corrPrefac |
| prefactor for dipolar rotational correlations
|
|
IdealGas for monoatomic molecules (i.e. no orientation integral)
◆ compute()
Return the ideal gas free energy PhiNI = T Int N - T S + (V-mu).N (where S is implementation dependent) and accumulate the gradients w.r.t the site densities Nscale is the factor by which the site densities/moments were scaled after getDensities() in order to implement fixed N / charge neutrality. Accumulate explicit gradients of PhiNI w.r.t Nscale in Phi_Nscale; the implicit dependence through N is handled by FluidMixture.
Implements IdealGas.
◆ convertGradients()
Compute Phi_indep, the total gradients w.r.t indep, given th egradients of the entire functional w.r.t site densities, Phi_N, and polarization density G=0 Phi_P0. Nscale will be the same as in compute()
Implements IdealGas.
◆ initState()
void IdealGasMonoatomic::initState |
( |
const ScalarField * |
Vex, |
|
|
ScalarField * |
indep, |
|
|
double |
scale, |
|
|
double |
Elo, |
|
|
double |
Ehi |
|
) |
| const |
|
virtual |
Create an initial guess for the indep, in presence of V and the extra potential Vex The initial guess is typically taken to be scale times what would generate the equilibrium ideal gas density upto caps Elo and Ehi on the molecule energy configurations considered. This would also be a good place to logPrintf useful statistics about the potential for debugging
Implements IdealGas.
The documentation for this class was generated from the following file:
- fluid/IdealGasMonoatomic.h