ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
deepks_orbpre.h
Go to the documentation of this file.
1#ifndef DEEPKS_ORBPRE_H
2#define DEEPKS_ORBPRE_H
3
4#ifdef __MLALGO
5
9#include "source_base/timer.h"
15
16#include <torch/script.h>
17#include <torch/torch.h>
18
19namespace DeePKS_domain
20{
21//------------------------
22// deepks_orbpre.cpp
23//------------------------
24
25// This file contains one subroutine for calculating orbital_precalc,
26// which is defind as gevdm * dm_hl * overlap * overlap
27
28template <typename TK, typename TH>
29void cal_orbital_precalc(const std::vector<TH>& dm_hl,
30 const int lmaxd,
31 const int inlmax,
32 const int nat,
33 const int nks,
34 const std::vector<int>& inl2l,
35 const std::vector<ModuleBase::Vector3<double>>& kvec_d,
36 const std::vector<hamilt::HContainer<double>*> phialpha,
37 const std::vector<torch::Tensor> gevdm,
38 const ModuleBase::IntArray* inl_index,
39 const UnitCell& ucell,
40 const LCAO_Orbitals& orb,
41 const Parallel_Orbitals& pv,
42 const Grid_Driver& GridD,
43 torch::Tensor& orbital_precalc);
44} // namespace DeePKS_domain
45#endif
46#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 parallel_orbitals.h:9
Definition unitcell.h:16
Definition hcontainer.h:144
Definition deepks_basic.h:14
void cal_orbital_precalc(const std::vector< TH > &dm_hl, const int lmaxd, const int inlmax, const int nat, const int nks, const std::vector< int > &inl2l, const std::vector< ModuleBase::Vector3< double > > &kvec_d, const std::vector< hamilt::HContainer< double > * > phialpha, const std::vector< torch::Tensor > gevdm, const ModuleBase::IntArray *inl_index, const UnitCell &ucell, const LCAO_Orbitals &orb, const Parallel_Orbitals &pv, const Grid_Driver &GridD, torch::Tensor &orbital_precalc)
Definition deepks_orbpre.cpp:20