ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
deepks_phialpha.h
Go to the documentation of this file.
1#ifndef DEEPKS_PHIALPHA_H
2#define DEEPKS_PHIALPHA_H
3
4#ifdef __MLALGO
5
10
11#include <torch/script.h>
12#include <torch/torch.h>
13
14namespace DeePKS_domain
15{
16// This file contains 3 subroutines:
17// 1. allocate_phialpha, which allocates memory for phialpha
18// 2. build_phialpha, which calculates the overlap
19// between atomic basis and projector alpha : <phi_mu|alpha>
20// which will be used in calculating pdm, gdmx, V_delta, F_delta;
21// 3. check_phialpha, which prints the results into .dat files
22// for checking
23
24// calculates <chi|alpha>
25void allocate_phialpha(const bool& cal_deri,
26 const UnitCell& ucell,
27 const LCAO_Orbitals& orb,
28 const Grid_Driver& GridD,
29 const Parallel_Orbitals* pv,
30 std::vector<hamilt::HContainer<double>*>& phialpha);
31
32void build_phialpha(const bool& cal_deri ,
33 const UnitCell& ucell,
34 const LCAO_Orbitals& orb,
35 const Grid_Driver& GridD,
36 const Parallel_Orbitals* pv,
37 const TwoCenterIntegrator& overlap_orb_alpha,
38 std::vector<hamilt::HContainer<double>*>& phialpha);
39
40void check_phialpha(const bool& cal_deri ,
41 const UnitCell& ucell,
42 const LCAO_Orbitals& orb,
43 const Grid_Driver& GridD,
44 const Parallel_Orbitals* pv,
45 std::vector<hamilt::HContainer<double>*>& phialpha,
46 const int rank);
47} // namespace DeePKS_domain
48
49#endif
50#endif
Definition sltk_grid_driver.h:40
Definition ORB_read.h:18
Definition parallel_orbitals.h:9
A class to compute two-center integrals.
Definition two_center_integrator.h:35
Definition unitcell.h:15
Definition hcontainer.h:144
Definition deepks_basic.h:12
void check_phialpha(const bool &cal_deri, const UnitCell &ucell, const LCAO_Orbitals &orb, const Grid_Driver &GridD, const Parallel_Orbitals *pv, std::vector< hamilt::HContainer< double > * > &phialpha, const int rank)
Definition deepks_phialpha.cpp:187
void build_phialpha(const bool &cal_deri, const UnitCell &ucell, const LCAO_Orbitals &orb, const Grid_Driver &GridD, const Parallel_Orbitals *pv, const TwoCenterIntegrator &overlap_orb_alpha, std::vector< hamilt::HContainer< double > * > &phialpha)
Definition deepks_phialpha.cpp:82
void allocate_phialpha(const bool &cal_deri, const UnitCell &ucell, const LCAO_Orbitals &orb, const Grid_Driver &GridD, const Parallel_Orbitals *pv, std::vector< hamilt::HContainer< double > * > &phialpha)
Definition deepks_phialpha.cpp:18