DFT-FE 1.1.0-pre
Density Functional Theory With Finite-Elements
|
Calculates dispersion correction to energy, force and stress. More...
#include <dftd.h>
Public Member Functions | |
dispersionCorrection (const MPI_Comm &mpi_comm_parent, const MPI_Comm &mpi_comm_domain, const MPI_Comm &interpool_comm, const MPI_Comm &interBandGroupComm, const dftParameters &dftParams) | |
Constructor. | |
void | computeDispresionCorrection (const std::vector< std::vector< double > > &atomLocations, const std::vector< std::vector< double > > &d_domainBoundingVectors) |
double | getEnergyCorrection () const |
double | getForceCorrection (int atomNo, int dim) const |
double | getStressCorrection (int dim1, int dim2) const |
Private Member Functions | |
void | initDispersionCorrection (const std::vector< std::vector< double > > &atomLocations, const std::vector< std::vector< double > > &d_domainBoundingVectors) |
void | computeDFTDCorrection () |
Private Attributes | |
int | d_natoms |
double | d_energyDispersion |
std::vector< double > | d_forceDispersion |
std::array< double, 9 > | d_stressDispersion |
std::vector< double > | d_atomCoordinates |
std::vector< int > | d_atomicNumbers |
std::array< double, 9 > | d_latticeVectors |
const MPI_Comm | mpi_communicator_global |
const MPI_Comm | mpi_communicator_domain |
const MPI_Comm | interpoolcomm |
const MPI_Comm | interBandGroupComm |
const dftParameters & | d_dftParams |
Calculates dispersion correction to energy, force and stress.
dftfe::dispersionCorrection::dispersionCorrection | ( | const MPI_Comm & | mpi_comm_parent, |
const MPI_Comm & | mpi_comm_domain, | ||
const MPI_Comm & | interpool_comm, | ||
const MPI_Comm & | interBandGroupComm, | ||
const dftParameters & | dftParams ) |
Constructor.
|
private |
void dftfe::dispersionCorrection::computeDispresionCorrection | ( | const std::vector< std::vector< double > > & | atomLocations, |
const std::vector< std::vector< double > > & | d_domainBoundingVectors ) |
Wrapper function for various dispersion corrections to energy, force and stress.
atomLocations | |
d_domainBoundingVectors |
double dftfe::dispersionCorrection::getEnergyCorrection | ( | ) | const |
double dftfe::dispersionCorrection::getForceCorrection | ( | int | atomNo, |
int | dim ) const |
double dftfe::dispersionCorrection::getStressCorrection | ( | int | dim1, |
int | dim2 ) const |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |