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
8#include "source_base/timer.h"
13
14#include <torch/script.h>
15#include <torch/torch.h>
16
17namespace DeePKS_domain
18{
19// This file contains 3 subroutines:
20// 1. allocate_phialpha, which allocates memory for phialpha
21// 2. build_phialpha, which calculates the overlap
22// between atomic basis and projector alpha : <phi_mu|alpha>
23// which will be used in calculating pdm, gdmx, V_delta, F_delta;
24// 3. check_phialpha, which prints the results into .dat files
25// for checking
26
27// calculates <chi|alpha>
28void allocate_phialpha(const bool& cal_deri,
29 const UnitCell& ucell,
30 const LCAO_Orbitals& orb,
31 const Grid_Driver& GridD,
32 const Parallel_Orbitals* pv,
33 std::vector<hamilt::HContainer<double>*>& phialpha);
34
35void build_phialpha(const bool& cal_deri ,
36 const UnitCell& ucell,
37 const LCAO_Orbitals& orb,
38 const Grid_Driver& GridD,
39 const Parallel_Orbitals* pv,
40 const TwoCenterIntegrator& overlap_orb_alpha,
41 std::vector<hamilt::HContainer<double>*>& phialpha);
42
43void check_phialpha(const bool& cal_deri ,
44 const UnitCell& ucell,
45 const LCAO_Orbitals& orb,
46 const Grid_Driver& GridD,
47 const Parallel_Orbitals* pv,
48 std::vector<hamilt::HContainer<double>*>& phialpha,
49 const int rank);
50} // namespace DeePKS_domain
51
52#endif
53#endif
Definition sltk_grid_driver.h:43
Definition ORB_read.h:19
Definition parallel_orbitals.h:9
A class to compute two-center integrals.
Definition two_center_integrator.h:35
Definition unitcell.h:16
Definition hcontainer.h:144
Definition deepks_basic.h:14
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