JDFTx  1.2.0
IdealGasPsiAlpha.h
1 /*-------------------------------------------------------------------
2 Copyright 2011 Ravishankar Sundararaman
3 
4 This file is part of JDFTx.
5 
6 JDFTx is free software: you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation, either version 3 of the License, or
9 (at your option) any later version.
10 
11 JDFTx is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
15 
16 You should have received a copy of the GNU General Public License
17 along with JDFTx. If not, see <http://www.gnu.org/licenses/>.
18 -------------------------------------------------------------------*/
19 
20 #ifndef JDFTX_FLUID_IDEALGASPSIALPHA_H
21 #define JDFTX_FLUID_IDEALGASPSIALPHA_H
22 
23 #include <fluid/IdealGasPomega.h>
24 
27 {
28 public:
32 
33  void initState(const ScalarField* Vex, ScalarField* psi, double scale, double Elo, double Ehi) const;
34 
35 protected:
36  string representationName() const;
37  void initState_o(int o, const matrix3<>& rot, double scale, const ScalarField& Eo, ScalarField* psi) const;
38  void getDensities_o(int o, const matrix3<>& rot, const ScalarField* psi, ScalarField& logPomega_o) const;
39  void convertGradients_o(int o, const matrix3<>& rot, const ScalarField& Phi_logPomega_o, ScalarField* Phi_psi) const;
40 };
41 
42 #endif // JDFTX_FLUID_IDEALGASPSIALPHA_H
const TranslationOperator & trans
translation operator for orientation integral
Definition: IdealGasPomega.h:44
IdealGasPsiAlpha(const FluidMixture *, const FluidComponent *, const SO3quad &quad, const TranslationOperator &trans)
Mixture of fluids that provides the total free energy functional for minimization Constructing Fex an...
Definition: FluidMixture.h:32
Definition: IdealGasPomega.h:30
const SO3quad & quad
quadrature for orientation integral
Definition: IdealGasPomega.h:43
Abstract base class for translation operators.
Definition: TranslationOperator.h:30
Named fluid components for which bulk properties / geometries / excess functionals are available...
Definition: FluidComponent.h:27
void initState(const ScalarField *Vex, ScalarField *psi, double scale, double Elo, double Ehi) const
std::shared_ptr< ScalarFieldData > ScalarField
A smart reference-counting pointer to ScalarFieldData.
Definition: ScalarField.h:41
Quadrature for SO(3)
Definition: SO3quad.h:34
IdealGas for polyatomic molecules with the effective potential &#39;psi_alpha&#39; independent variables...
Definition: IdealGasPsiAlpha.h:26