ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
grid.h
Go to the documentation of this file.
1#ifndef GRID_H
2#define GRID_H
3
4#include <torch/torch.h>
5
6class Grid
7{
8 public:
9 void initGrid(const int fftdim,
10 const int ndata,
11 const std::string *cell,
12 const double *a,
13 const torch::Device device,
14 double *volume);
15
16 // fft grid
17 std::vector<std::vector<torch::Tensor>> fft_grid; // ntrain*3*fftdim*fftdim*fftdim
18 std::vector<torch::Tensor> fft_gg;
19
20 private:
21 void initGrid_(const int fftdim,
22 const int ndata,
23 const std::string *cell,
24 const double *a,
25 const torch::Device device,
26 double *volume,
27 std::vector<std::vector<torch::Tensor>> &grid,
28 std::vector<torch::Tensor> &gg);
29 void initScRecipGrid(const int fftdim,
30 const double a,
31 const int index,
32 const torch::Device device,
33 double *volume,
34 std::vector<std::vector<torch::Tensor>> &grid,
35 std::vector<torch::Tensor> &gg);
36 void initFccRecipGrid(const int fftdim,
37 const double a,
38 const int index,
39 const torch::Device device,
40 double *volume,
41 std::vector<std::vector<torch::Tensor>> &grid,
42 std::vector<torch::Tensor> &gg);
43 void initBccRecipGrid(const int fftdim,
44 const double a,
45 const int index,
46 const torch::Device device,
47 double *volume,
48 std::vector<std::vector<torch::Tensor>> &grid,
49 std::vector<torch::Tensor> &gg);
50};
51#endif
void initGrid(const int fftdim, const int ndata, const std::string *cell, const double *a, const torch::Device device, double *volume)
Definition grid.cpp:3
void initScRecipGrid(const int fftdim, const double a, const int index, const torch::Device device, double *volume, std::vector< std::vector< torch::Tensor > > &grid, std::vector< torch::Tensor > &gg)
Definition grid.cpp:44
std::vector< std::vector< torch::Tensor > > fft_grid
Definition grid.h:17
void initBccRecipGrid(const int fftdim, const double a, const int index, const torch::Device device, double *volume, std::vector< std::vector< torch::Tensor > > &grid, std::vector< torch::Tensor > &gg)
Definition grid.cpp:79
void initFccRecipGrid(const int fftdim, const double a, const int index, const torch::Device device, double *volume, std::vector< std::vector< torch::Tensor > > &grid, std::vector< torch::Tensor > &gg)
Definition grid.cpp:58
std::vector< torch::Tensor > fft_gg
Definition grid.h:18
void initGrid_(const int fftdim, const int ndata, const std::string *cell, const double *a, const torch::Device device, double *volume, std::vector< std::vector< torch::Tensor > > &grid, std::vector< torch::Tensor > &gg)
Definition grid.cpp:14
Definition batch.h:6