JDFTx  1.2.0
MixedFMT.h
Go to the documentation of this file.
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_MIXEDFMT_H
21 #define JDFTX_FLUID_MIXEDFMT_H
22 
23 #include <core/Operators.h>
24 
27 
28 
35 double PhiFMT(const ScalarField& n0, const ScalarField& n1, const ScalarField& n2,
36  const ScalarFieldTilde& n3tilde, const ScalarFieldTilde& n1vTilde, const ScalarFieldTilde& n2mTilde,
37  ScalarField& grad_n0, ScalarField& grad_n1, ScalarField& grad_n2,
38  ScalarFieldTilde& grad_n3tilde, ScalarFieldTilde& grad_n1vTilde, ScalarFieldTilde& grad_n2mTilde);
39 
42 double phiFMTuniform(double n0, double n1, double n2, double n3,
43  double& grad_n0, double& grad_n1, double& grad_n2, double& grad_n3);
44 
45 
53 double PhiBond(double Rhm, double scale, const ScalarField& n0mol, const ScalarField& n2, const ScalarFieldTilde& n3tilde,
54  ScalarField& grad_n0mol, ScalarField& grad_n2, ScalarFieldTilde& grad_n3tilde);
55 
58 double phiBondUniform(double Rhm, double scale, double n0mol, double n2, double n3,
59  double& grad_n0mol, double& grad_n2, double& grad_n3);
60 
61 #endif // JDFTX_FLUID_MIXEDFMT_H
double PhiFMT(const ScalarField &n0, const ScalarField &n1, const ScalarField &n2, const ScalarFieldTilde &n3tilde, const ScalarFieldTilde &n1vTilde, const ScalarFieldTilde &n2mTilde, ScalarField &grad_n0, ScalarField &grad_n1, ScalarField &grad_n2, ScalarFieldTilde &grad_n3tilde, ScalarFieldTilde &grad_n1vTilde, ScalarFieldTilde &grad_n2mTilde)
std::shared_ptr< ScalarFieldTildeData > ScalarFieldTilde
A smart reference-counting pointer to ScalarFieldTildeData.
Definition: ScalarField.h:45
double phiFMTuniform(double n0, double n1, double n2, double n3, double &grad_n0, double &grad_n1, double &grad_n2, double &grad_n3)
double PhiBond(double Rhm, double scale, const ScalarField &n0mol, const ScalarField &n2, const ScalarFieldTilde &n3tilde, ScalarField &grad_n0mol, ScalarField &grad_n2, ScalarFieldTilde &grad_n3tilde)
double phiBondUniform(double Rhm, double scale, double n0mol, double n2, double n3, double &grad_n0mol, double &grad_n2, double &grad_n3)
std::shared_ptr< ScalarFieldData > ScalarField
A smart reference-counting pointer to ScalarFieldData.
Definition: ScalarField.h:41
Operators on ScalarField&#39;s and ScalarFieldTilde&#39;s.