JDFTx  1.7.0
NonlinearPCMeval::Dielectric Struct Reference

Helper class for dielectric portion of NonlinearPCM. More...

#include <PCM_internal.h>

Public Member Functions

 Dielectric (bool linear, double T, double Nmol, double pMol, double epsBulk, double epsInf)
 
__hostanddev__ void calcFunctions (double eps, double &frac, double &logsinch) const
 Calculate the various nonlinear functions of epsilon used in calculating the free energy and its derivatives.
 
__hostanddev__ double x_from_eps (double eps) const
 Calculate x = pMol E / T given eps.
 
__hostanddev__ double eps_from_x (double x) const
 Invert x_from_eps() using a bisection method. Note that x must be positive and finite.
 
__hostanddev__ void apply_calc (size_t i, const RadialFunctionG &dielEnergyLookup, const double *s, vector3< const double * > Dphi, double *A, vector3< double * > A_Dphi, double *A_s) const
 
void apply (size_t N, const RadialFunctionG &dielEnergyLookup, const double *s, vector3< const double * > Dphi, double *A, vector3< double * > A_Dphi, double *A_s) const
 
void apply_gpu (size_t N, const RadialFunctionG &dielEnergyLookup, const double *s, vector3< const double * > Dphi, double *A, vector3< double * > A_Dphi, double *A_s) const
 
void operator() (const RadialFunctionG &dielEnergyLookup, const ScalarField &s, const VectorField &Dphi, ScalarField &A, VectorField &A_Dphi, ScalarField &A_s) const
 

Public Attributes

bool linear
 whether dielectric is linearized
 
double Np
 
double pByT
 
double NT
 N*p, p/T and N*T where N is molecular density and p is molecular dipole.
 
double alpha
 
double X
 dipole correlation factor and chi*T/p^2 where chi is the molecular susceptibility
 

Detailed Description

Helper class for dielectric portion of NonlinearPCM.

Member Function Documentation

◆ apply_calc()

__hostanddev__ void NonlinearPCMeval::Dielectric::apply_calc ( size_t  i,
const RadialFunctionG dielEnergyLookup,
const double *  s,
vector3< const double * >  Dphi,
double *  A,
vector3< double * >  A_Dphi,
double *  A_s 
) const
inline

Apply nonlinear susceptibility and compute corresponding energy. Set (NOT accumulate) energy density in A, and susceptibility times Phi optionally in A_Dphi. Optionally also set cavity gradient in A_s.


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