ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
deepks_force.h
Go to the documentation of this file.
1#ifndef DEEPKS_FORCE_H
2#define DEEPKS_FORCE_H
3
4#ifdef __MLALGO
5
9#include "source_base/timer.h"
14
15namespace DeePKS_domain
16{
17//------------------------
18// deepks_force.cpp
19//------------------------
20
21// This file contains subroutines for calculating F_delta,
22// which is defind as sum_mu,nu rho_mu,nu d/dX (<chi_mu|alpha>V(D)<alpha|chi_nu>)
23
24// There are 1 subroutine in this file:
25// 1. cal_f_delta, which is used for F_delta calculation
26
27template <typename TK>
29 const UnitCell& ucell,
30 const LCAO_Orbitals& orb,
31 const Grid_Driver& GridD,
32 const Parallel_Orbitals& pv,
33 const int nks,
34 const std::vector<ModuleBase::Vector3<double>>& kvec_d,
35 std::vector<hamilt::HContainer<double>*> phialpha,
36 double** gedm,
37 ModuleBase::IntArray* inl_index,
38 ModuleBase::matrix& f_delta,
39 const bool isstress,
40 ModuleBase::matrix& svnl_dalpha);
41} // namespace DeePKS_domain
42
43#endif
44#endif
Definition sltk_grid_driver.h:43
Definition ORB_read.h:19
Integer array.
Definition intarray.h:20
3 elements vector
Definition vector3.h:22
Definition matrix.h:19
Definition parallel_orbitals.h:9
Definition unitcell.h:16
Definition hcontainer.h:144
Definition deepks_basic.h:14
void cal_f_delta(const hamilt::HContainer< double > *dmr, const UnitCell &ucell, const LCAO_Orbitals &orb, const Grid_Driver &GridD, const Parallel_Orbitals &pv, const int nks, const std::vector< ModuleBase::Vector3< double > > &kvec_d, std::vector< hamilt::HContainer< double > * > phialpha, double **gedm, ModuleBase::IntArray *inl_index, ModuleBase::matrix &f_delta, const bool isstress, ModuleBase::matrix &svnl_dalpha)
Definition deepks_force.cpp:14