ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | List of all members
Grid Class Reference

#include <sltk_grid.h>

Inheritance diagram for Grid:
Collaboration diagram for Grid:

Public Member Functions

 Grid ()
 
 Grid (const int &test_grid_in)
 
virtual ~Grid ()
 
Gridoperator= (Grid &&)=default
 
void init (std::ofstream &ofs, const UnitCell &ucell, const double radius_in, const bool boundary=true)
 
void getBox (int &bx, int &by, int &bz, const double &x, const double &y, const double &z)
 
void clear_atoms ()
 
void clear_adj_info ()
 
int getGlayerX () const
 
int getGlayerY () const
 
int getGlayerZ () const
 
int getGlayerX_minus () const
 
int getGlayerY_minus () const
 
int getGlayerZ_minus () const
 
void initGrid (const int fftdim, const int ndata, const std::string *cell, const double *a, const torch::Device device, double *volume)
 

Public Attributes

bool pbc =false
 
double sradius2 =0.0
 
double sradius =0.0
 
double x_min =0.0
 
double y_min =0.0
 
double z_min =0.0
 
double x_max =0.0
 
double y_max =0.0
 
double z_max =0.0
 
double box_edge_length =0.0
 
int box_nx =0
 
int box_ny =0
 
int box_nz =0
 
std::vector< std::vector< std::vector< AtomMap > > > atoms_in_box
 
std::vector< std::vector< std::vector< FAtom * > > > all_adj_info
 
std::vector< std::vector< torch::Tensor > > fft_grid
 
std::vector< torch::Tensor > fft_gg
 

Private Member Functions

void setMemberVariables (std::ofstream &ofs_in, const UnitCell &ucell)
 
void Construct_Adjacent (const UnitCell &ucell)
 
void Construct_Adjacent_near_box (const FAtom &fatom)
 
void Construct_Adjacent_final (const FAtom &fatom1, FAtom *fatom2)
 
void Check_Expand_Condition (const UnitCell &ucell)
 
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)
 
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)
 
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)
 
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)
 

Private Attributes

int test_grid
 
int glayerX =0
 
int glayerX_minus =0
 
int glayerY =0
 
int glayerY_minus =0
 
int glayerZ =0
 
int glayerZ_minus =0
 

Constructor & Destructor Documentation

◆ Grid() [1/2]

Grid::Grid ( )
inline
Here is the caller graph for this function:

◆ Grid() [2/2]

Grid::Grid ( const int &  test_grid_in)
Here is the call graph for this function:

◆ ~Grid()

Grid::~Grid ( )
virtual
Here is the call graph for this function:
Here is the caller graph for this function:

Member Function Documentation

◆ Check_Expand_Condition()

void Grid::Check_Expand_Condition ( const UnitCell ucell)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ clear_adj_info()

void Grid::clear_adj_info ( )
inline

◆ clear_atoms()

void Grid::clear_atoms ( )
inline
Here is the caller graph for this function:

◆ Construct_Adjacent()

void Grid::Construct_Adjacent ( const UnitCell ucell)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ Construct_Adjacent_final()

void Grid::Construct_Adjacent_final ( const FAtom fatom1,
FAtom fatom2 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ Construct_Adjacent_near_box()

void Grid::Construct_Adjacent_near_box ( const FAtom fatom)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getBox()

void Grid::getBox ( int &  bx,
int &  by,
int &  bz,
const double &  x,
const double &  y,
const double &  z 
)
inline
Here is the caller graph for this function:

◆ getGlayerX()

int Grid::getGlayerX ( ) const
inline
Here is the caller graph for this function:

◆ getGlayerX_minus()

int Grid::getGlayerX_minus ( ) const
inline
Here is the caller graph for this function:

◆ getGlayerY()

int Grid::getGlayerY ( ) const
inline
Here is the caller graph for this function:

◆ getGlayerY_minus()

int Grid::getGlayerY_minus ( ) const
inline
Here is the caller graph for this function:

◆ getGlayerZ()

int Grid::getGlayerZ ( ) const
inline
Here is the caller graph for this function:

◆ getGlayerZ_minus()

int Grid::getGlayerZ_minus ( ) const
inline
Here is the caller graph for this function:

◆ init()

void Grid::init ( std::ofstream &  ofs,
const UnitCell ucell,
const double  radius_in,
const bool  boundary = true 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ initBccRecipGrid()

void Grid::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 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ initFccRecipGrid()

void Grid::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 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ initGrid()

void Grid::initGrid ( const int  fftdim,
const int  ndata,
const std::string *  cell,
const double *  a,
const torch::Device  device,
double *  volume 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ initGrid_()

void Grid::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 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ initScRecipGrid()

void Grid::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 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator=()

Grid & Grid::operator= ( Grid &&  )
default
Here is the call graph for this function:

◆ setMemberVariables()

void Grid::setMemberVariables ( std::ofstream &  ofs_in,
const UnitCell ucell 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ all_adj_info

std::vector<std::vector< std::vector<FAtom *> > > Grid::all_adj_info

◆ atoms_in_box

std::vector<std::vector<std::vector<AtomMap> > > Grid::atoms_in_box

◆ box_edge_length

double Grid::box_edge_length =0.0

◆ box_nx

int Grid::box_nx =0

◆ box_ny

int Grid::box_ny =0

◆ box_nz

int Grid::box_nz =0

◆ fft_gg

std::vector<torch::Tensor> Grid::fft_gg

◆ fft_grid

std::vector<std::vector<torch::Tensor> > Grid::fft_grid

◆ glayerX

int Grid::glayerX =0
private

◆ glayerX_minus

int Grid::glayerX_minus =0
private

◆ glayerY

int Grid::glayerY =0
private

◆ glayerY_minus

int Grid::glayerY_minus =0
private

◆ glayerZ

int Grid::glayerZ =0
private

◆ glayerZ_minus

int Grid::glayerZ_minus =0
private

◆ pbc

bool Grid::pbc =false

◆ sradius

double Grid::sradius =0.0

◆ sradius2

double Grid::sradius2 =0.0

◆ test_grid

int Grid::test_grid
private

◆ x_max

double Grid::x_max =0.0

◆ x_min

double Grid::x_min =0.0

◆ y_max

double Grid::y_max =0.0

◆ y_min

double Grid::y_min =0.0

◆ z_max

double Grid::z_max =0.0

◆ z_min

double Grid::z_min =0.0

The documentation for this class was generated from the following files: