ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
Public Member Functions | Private Member Functions | Private Attributes | List of all members
vdw::Vdwd3 Class Reference

#include <vdwd3.h>

Inheritance diagram for vdw::Vdwd3:
Collaboration diagram for vdw::Vdwd3:

Public Member Functions

 Vdwd3 (const UnitCell &unit_in)
 
 ~Vdwd3 ()=default
 
Vdwd3Parametersparameter ()
 
const Vdwd3Parametersparameter () const
 
- Public Member Functions inherited from vdw::Vdw
 Vdw (const UnitCell &unit_in)
 
virtual ~Vdw ()=default
 
double get_energy (bool cal=true)
 
const std::vector< ModuleBase::Vector3< double > > & get_force (bool cal=true)
 
const ModuleBase::Matrix3get_stress (bool cal=true)
 

Private Member Functions

void cal_energy () override
 
void cal_force () override
 
void cal_stress () override
 
void init ()
 
void set_criteria (double rthr, const std::vector< ModuleBase::Vector3< double > > &lat, std::vector< double > &tau_max)
 
std::vector< double > atom_kind ()
 
void get_c6 (int iat, int jat, double nci, double ncj, double &c6)
 
void pbc_ncoord (std::vector< double > &cn)
 
void pbc_three_body (const std::vector< int > &iz, const std::vector< ModuleBase::Vector3< double > > &lat, const std::vector< ModuleBase::Vector3< double > > &xyz, const std::vector< int > &rep_cn, const std::vector< double > &cc6ab, double &eabc)
 
void pbc_gdisp (std::vector< ModuleBase::Vector3< double > > &g, ModuleBase::matrix &smearing_sigma)
 
void get_dc6_dcnij (int mxci, int mxcj, double cni, double cnj, int izi, int izj, int iat, int jat, double &c6check, double &dc6i, double &dc6j)
 
int lin (int i1, int i2)
 

Private Attributes

Vdwd3Parameters para_
 
std::vector< ModuleBase::Vector3< double > > lat_
 
std::vector< int > iz_
 
std::vector< ModuleBase::Vector3< double > > xyz_
 
std::vector< int > rep_vdw_
 
std::vector< int > rep_cn_
 

Additional Inherited Members

- Protected Attributes inherited from vdw::Vdw
const UnitCellucell_
 
double energy_ = 0
 
std::vector< ModuleBase::Vector3< double > > force_
 
ModuleBase::Matrix3 stress_
 

Constructor & Destructor Documentation

◆ Vdwd3()

vdw::Vdwd3::Vdwd3 ( const UnitCell unit_in)
inline

◆ ~Vdwd3()

vdw::Vdwd3::~Vdwd3 ( )
default

Member Function Documentation

◆ atom_kind()

std::vector< double > vdw::Vdwd3::atom_kind ( )
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ cal_energy()

void vdw::Vdwd3::cal_energy ( )
overrideprivatevirtual

Implements vdw::Vdw.

Here is the call graph for this function:

◆ cal_force()

void vdw::Vdwd3::cal_force ( )
overrideprivatevirtual

Implements vdw::Vdw.

Here is the call graph for this function:

◆ cal_stress()

void vdw::Vdwd3::cal_stress ( )
overrideprivatevirtual

Implements vdw::Vdw.

Here is the call graph for this function:

◆ get_c6()

void vdw::Vdwd3::get_c6 ( int  iat,
int  jat,
double  nci,
double  ncj,
double &  c6 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_dc6_dcnij()

void vdw::Vdwd3::get_dc6_dcnij ( int  mxci,
int  mxcj,
double  cni,
double  cnj,
int  izi,
int  izj,
int  iat,
int  jat,
double &  c6check,
double &  dc6i,
double &  dc6j 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ init()

void vdw::Vdwd3::init ( )
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ lin()

int vdw::Vdwd3::lin ( int  i1,
int  i2 
)
inlineprivate
Here is the caller graph for this function:

◆ parameter() [1/2]

Vdwd3Parameters & vdw::Vdwd3::parameter ( )
inline
Here is the caller graph for this function:

◆ parameter() [2/2]

const Vdwd3Parameters & vdw::Vdwd3::parameter ( ) const
inline

◆ pbc_gdisp()

void vdw::Vdwd3::pbc_gdisp ( std::vector< ModuleBase::Vector3< double > > &  g,
ModuleBase::matrix smearing_sigma 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ pbc_ncoord()

void vdw::Vdwd3::pbc_ncoord ( std::vector< double > &  cn)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ pbc_three_body()

void vdw::Vdwd3::pbc_three_body ( const std::vector< int > &  iz,
const std::vector< ModuleBase::Vector3< double > > &  lat,
const std::vector< ModuleBase::Vector3< double > > &  xyz,
const std::vector< int > &  rep_cn,
const std::vector< double > &  cc6ab,
double &  eabc 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ set_criteria()

void vdw::Vdwd3::set_criteria ( double  rthr,
const std::vector< ModuleBase::Vector3< double > > &  lat,
std::vector< double > &  tau_max 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ iz_

std::vector<int> vdw::Vdwd3::iz_
private

◆ lat_

std::vector<ModuleBase::Vector3<double> > vdw::Vdwd3::lat_
private

◆ para_

Vdwd3Parameters vdw::Vdwd3::para_
private

◆ rep_cn_

std::vector<int> vdw::Vdwd3::rep_cn_
private

◆ rep_vdw_

std::vector<int> vdw::Vdwd3::rep_vdw_
private

◆ xyz_

std::vector<ModuleBase::Vector3<double> > vdw::Vdwd3::xyz_
private

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