JDFTx  1.4.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Fmix_GaussianKernel Class Reference

Gaussian Kernel interaction functional. More...

#include <Fex_LJ.h>

Inheritance diagram for Fmix_GaussianKernel:
Fmix

Public Member Functions

 Fmix_GaussianKernel (FluidMixture *, std::shared_ptr< FluidComponent > fluid1, std::shared_ptr< FluidComponent > fluid2, double Esolv, double Rsolv)
 
string getName () const
 A string identifier for this mixing functional (used in EnergyComponent label)
 
double compute (const ScalarFieldTildeArray &Ntilde, ScalarFieldTildeArray &Phi_Ntilde) const
 
double computeUniform (const std::vector< double > &N, std::vector< double > &Phi_N) const
 
- Public Member Functions inherited from Fmix
 Fmix (FluidMixture *fluidMixture)
 Initialize base and register with this fluidMixture.
 

Additional Inherited Members

- Public Attributes inherited from Fmix
const GridInfogInfo
 
const double T
 

Detailed Description

Gaussian Kernel interaction functional.

Constructor & Destructor Documentation

Fmix_GaussianKernel::Fmix_GaussianKernel ( FluidMixture ,
std::shared_ptr< FluidComponent fluid1,
std::shared_ptr< FluidComponent fluid2,
double  Esolv,
double  Rsolv 
)

Add a gaussian coupling potential between two fluids mixing parameter Esolv: depth of interaction potential in hartree mixing parameter Rsolv; width of gaussian kernel interaction potential in bohr

Member Function Documentation

double Fmix_GaussianKernel::compute ( const ScalarFieldTildeArray Ntilde,
ScalarFieldTildeArray Phi_Ntilde 
) const
virtual

Return the interaction free energy given the reciprocal space site densities and accumulate the gradient (functional derivative) w.r.t them in Phi_Ntilde Note that unlike Fex, all site densities are handed to an Fmix and it is Fmix's responsibility to pick up the correct site densities (perhaps using FluidMixture::get_offsetDensity())

Implements Fmix.

double Fmix_GaussianKernel::computeUniform ( const std::vector< double > &  N,
std::vector< double > &  Phi_N 
) const
virtual

Return the uniform fluid interaction free energy density given the site densities N and accumulate the derivative w.r.t them in Phi_N. This MUST return the result corresponding to calling compute() with a uniform scalar field. This is called several times during FluidMixture::initialize() to get the desired bulk properties Note that unlike Fex, all site densities are handed to an Fmix and it is Fmix's responsibility to pick up the correct site densities (perhaps using FluidMixture::get_offsetDensity())

Implements Fmix.


The documentation for this class was generated from the following file: