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
ModuleESolver::ESolver_LJ Class Reference

#include <esolver_lj.h>

Inheritance diagram for ModuleESolver::ESolver_LJ:
Collaboration diagram for ModuleESolver::ESolver_LJ:

Public Member Functions

 ESolver_LJ ()
 
void before_all_runners (UnitCell &ucell, const Input_para &inp) override
 initialize the energy solver by using input parameters and cell modules
 
void runner (UnitCell &cell, const int istep) override
 run energy solver
 
double cal_energy () override
 calculate total energy of a given system
 
void cal_force (UnitCell &ucell, ModuleBase::matrix &force) override
 calcualte forces for the atoms in the given cell
 
void cal_stress (UnitCell &ucell, ModuleBase::matrix &stress) override
 calcualte stress of given cell
 
void after_all_runners (UnitCell &ucell) override
 perform post processing calculations
 
- Public Member Functions inherited from ModuleESolver::ESolver
 ESolver ()
 
virtual ~ESolver ()
 
virtual void others (UnitCell &ucell, const int istep)
 

Private Member Functions

double LJ_energy (const double &d, const int &i, const int &j)
 
ModuleBase::Vector3< double > LJ_force (const ModuleBase::Vector3< double > &dr, const int &i, const int &j)
 
void LJ_virial (const ModuleBase::Vector3< double > &force, const ModuleBase::Vector3< double > &dtau)
 
void rcut_search_radius (const int &ntype, const std::vector< double > &rcut)
 
void set_c6_c12 (const int &ntype, const int &rule, const std::vector< double > &epsilon, const std::vector< double > &sigma)
 
void cal_en_shift (const int &ntype, const bool &is_shift)
 

Private Attributes

double search_radius =-1.0
 
ModuleBase::matrix lj_rcut
 
ModuleBase::matrix lj_c12
 
ModuleBase::matrix lj_c6
 
ModuleBase::matrix en_shift
 
double lj_potential =0.0
 
ModuleBase::matrix lj_force
 
ModuleBase::matrix lj_virial
 

Additional Inherited Members

- Public Attributes inherited from ModuleESolver::ESolver
bool conv_esolver = true
 
std::string classname
 

Constructor & Destructor Documentation

◆ ESolver_LJ()

ModuleESolver::ESolver_LJ::ESolver_LJ ( )
inline

Member Function Documentation

◆ after_all_runners()

void ModuleESolver::ESolver_LJ::after_all_runners ( UnitCell ucell)
overridevirtual

perform post processing calculations

Implements ModuleESolver::ESolver.

◆ before_all_runners()

void ModuleESolver::ESolver_LJ::before_all_runners ( UnitCell ucell,
const Input_para inp 
)
overridevirtual

initialize the energy solver by using input parameters and cell modules

Implements ModuleESolver::ESolver.

Here is the call graph for this function:

◆ cal_en_shift()

void ModuleESolver::ESolver_LJ::cal_en_shift ( const int &  ntype,
const bool &  is_shift 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ cal_energy()

double ModuleESolver::ESolver_LJ::cal_energy ( )
overridevirtual

calculate total energy of a given system

Implements ModuleESolver::ESolver.

◆ cal_force()

void ModuleESolver::ESolver_LJ::cal_force ( UnitCell ucell,
ModuleBase::matrix force 
)
overridevirtual

calcualte forces for the atoms in the given cell

Implements ModuleESolver::ESolver.

Here is the call graph for this function:

◆ cal_stress()

void ModuleESolver::ESolver_LJ::cal_stress ( UnitCell ucell,
ModuleBase::matrix stress 
)
overridevirtual

calcualte stress of given cell

Implements ModuleESolver::ESolver.

Here is the call graph for this function:

◆ LJ_energy()

double ModuleESolver::ESolver_LJ::LJ_energy ( const double &  d,
const int &  i,
const int &  j 
)
private
Here is the caller graph for this function:

◆ LJ_force()

ModuleBase::Vector3< double > ModuleESolver::ESolver_LJ::LJ_force ( const ModuleBase::Vector3< double > &  dr,
const int &  i,
const int &  j 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ LJ_virial()

void ModuleESolver::ESolver_LJ::LJ_virial ( const ModuleBase::Vector3< double > &  force,
const ModuleBase::Vector3< double > &  dtau 
)
private
Here is the caller graph for this function:

◆ rcut_search_radius()

void ModuleESolver::ESolver_LJ::rcut_search_radius ( const int &  ntype,
const std::vector< double > &  rcut 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ runner()

void ModuleESolver::ESolver_LJ::runner ( UnitCell cell,
const int  istep 
)
overridevirtual

run energy solver

Implements ModuleESolver::ESolver.

Here is the call graph for this function:

◆ set_c6_c12()

void ModuleESolver::ESolver_LJ::set_c6_c12 ( const int &  ntype,
const int &  rule,
const std::vector< double > &  epsilon,
const std::vector< double > &  sigma 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ en_shift

ModuleBase::matrix ModuleESolver::ESolver_LJ::en_shift
private

◆ lj_c12

ModuleBase::matrix ModuleESolver::ESolver_LJ::lj_c12
private

◆ lj_c6

ModuleBase::matrix ModuleESolver::ESolver_LJ::lj_c6
private

◆ lj_force

ModuleBase::matrix ModuleESolver::ESolver_LJ::lj_force
private

◆ lj_potential

double ModuleESolver::ESolver_LJ::lj_potential =0.0
private

◆ lj_rcut

ModuleBase::matrix ModuleESolver::ESolver_LJ::lj_rcut
private

◆ lj_virial

ModuleBase::matrix ModuleESolver::ESolver_LJ::lj_virial
private

◆ search_radius

double ModuleESolver::ESolver_LJ::search_radius =-1.0
private

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