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_Technique Class Reference

#include <grid_technique.h>

Inheritance diagram for Grid_Technique:
Collaboration diagram for Grid_Technique:

Public Member Functions

 Grid_Technique ()
 
 ~Grid_Technique ()
 
Grid_Techniqueoperator= (Grid_Technique &&rhs)=default
 move operator for the next ESolver to directly use its infomation
 
bool get_init_malloced () const
 
void set_pbc_grid (const int &ncx_in, const int &ncy_in, const int &ncz_in, const int &bx_in, const int &by_in, const int &bz_in, const int &nbx_in, const int &nby_in, const int &nbz_in, const int &nbxx_in, const int &nbzp_start_in, const int &nbzp_in, const int &ny, const int &nplane, const int &startz_current, const UnitCell &ucell, const Grid_Driver &gd, const double &dr_uniform, const std::vector< double > &rcuts, const std::vector< std::vector< double > > &psi_u, const std::vector< std::vector< double > > &dpsi_u, const std::vector< std::vector< double > > &d2psi_u, const int &num_stream)
 
const std::vector< int > * get_ijr_info () const
 
int cal_RindexAtom (const int &u1, const int &u2, const int &u3, const int &iat2) const
 
int find_offset (const int id1, const int id2, const int iat1, const int iat2) const
 
- Public Member Functions inherited from Grid_MeshBall
 Grid_MeshBall ()
 
 ~Grid_MeshBall ()
 
Grid_MeshBalloperator= (Grid_MeshBall &&rhs)=default
 move operator for the next ESolver to directly use its infomation
 
- Public Member Functions inherited from Grid_BigCell
 Grid_BigCell ()
 
 ~Grid_BigCell ()
 
Grid_BigCelloperator= (Grid_BigCell &&rhs)=default
 move operator for the next ESolver to directly use its infomation
 
- Public Member Functions inherited from Grid_MeshCell
 Grid_MeshCell ()
 
 ~Grid_MeshCell ()
 
- Public Member Functions inherited from Grid_MeshK
 Grid_MeshK ()
 
 ~Grid_MeshK ()
 
int cal_Rindex (const int &u1, const int &u2, const int &u3) const
 
ModuleBase::Vector3< int > get_ucell_coords (const int &Rindex) const
 
Grid_MeshKoperator= (Grid_MeshK &&rhs)=default
 move operator for the next ESolver to directly use its infomation
 

Public Attributes

std::vector< int > how_many_atoms
 
int max_atom =0
 
int total_atoms_on_grid =0
 
std::vector< int > start_ind
 
std::vector< int > bcell_start
 
std::vector< int > which_atom
 
std::vector< int > which_bigcell
 
std::vector< int > which_unitcell
 
int lnat =0
 
int lgd =0
 
std::vector< bool > in_this_processor
 
std::vector< int > trace_iat
 
std::vector< int > trace_lo
 
int nnrg = 0
 
const UnitCellucell =nullptr
 
const LCAO_Orbitalsorb =nullptr
 
int nwmax =0
 
int nr_max =0
 
int ntype =0
 
double dr_uniform ={0.0}
 
std::vector< double > rcuts
 
std::vector< std::vector< double > > psi_u
 
std::vector< std::vector< double > > dpsi_u
 
std::vector< std::vector< double > > d2psi_u
 
bool init_malloced =false
 
- Public Attributes inherited from Grid_MeshBall
std::vector< std::vector< double > > meshball_positions
 
- Public Attributes inherited from Grid_BigCell
int nat =0
 
std::vector< std::vector< double > > tau_in_bigcell
 
- Public Attributes inherited from Grid_MeshCell
int ncx
 
int ncy
 
int ncz
 
int ncxyz
 
int bx =1
 
int by =1
 
int bz =1
 
int bxyz =1
 
int nbx
 
int nby
 
int nbz
 
int nbxyz
 
int nbxx
 
int nbzp_start
 
int nbzp
 
std::vector< std::vector< double > > meshcell_pos
 

Private Member Functions

void cal_max_box_index ()
 
void init_atoms_on_grid (const int &ny, const int &nplane, const UnitCell &ucell)
 
void init_atoms_on_grid2 (const int *index2normal, const UnitCell &ucell)
 
void init_ijr_and_nnrg (const UnitCell &ucell, const Grid_Driver &gd)
 
void cal_grid_integration_index ()
 
void cal_trace_lo (const UnitCell &ucell)
 
void check_bigcell (int *ind_bigcell, char *bigcell_on_processor)
 
void get_startind (const int &ny, const int &nplane)
 

Private Attributes

std::vector< int > ijr_info
 

Additional Inherited Members

- Protected Member Functions inherited from Grid_MeshBall
void init_meshball (void)
 
- Protected Member Functions inherited from Grid_BigCell
void grid_expansion_index (bool f2normal, int *target) const
 
void init_big_latvec (const UnitCell &ucell)
 
void init_tau_in_bigcell (const UnitCell &ucell)
 
void init_grid_expansion (const UnitCell &ucell, double *rcut)
 
- Protected Member Functions inherited from Grid_MeshCell
Grid_MeshCelloperator= (Grid_MeshCell &&rhs)=default
 move operator for the next ESolver to directly use its infomation
 
void set_grid_dim (const int &ncx_in, const int &ncy_in, const int &ncz_in, const int &bx_in, const int &by_in, const int &bz_in, const int &nbx_in, const int &nby_in, const int &nbz_in, const int &nbxx_in, const int &nbzp_start_in, const int &nbzp_in)
 
void init_latvec (const UnitCell &ucell)
 
void init_meshcell_pos ()
 
- Protected Member Functions inherited from Grid_MeshK
void cal_extended_cell (const int &dxe, const int &dye, const int &dze, const int &nbx, const int &nby, const int &nbz)
 
- Protected Attributes inherited from Grid_MeshBall
int meshball_ncells =0
 
std::vector< int > index_ball
 
- Protected Attributes inherited from Grid_BigCell
double orbital_rmax
 
int dxe
 
int dye
 
int dze
 
int nxe
 
int nye
 
int nze
 
int nxyze
 
std::vector< int > index_atom
 
std::vector< double > bigcell_vec1
 
std::vector< double > bigcell_vec2
 
std::vector< double > bigcell_vec3
 
ModuleBase::Matrix3 bigcell_latvec0
 
ModuleBase::Matrix3 bigcell_GT
 
- Protected Attributes inherited from Grid_MeshCell
std::vector< double > meshcell_vec1
 
std::vector< double > meshcell_vec2
 
std::vector< double > meshcell_vec3
 

Constructor & Destructor Documentation

◆ Grid_Technique()

Grid_Technique::Grid_Technique ( )

◆ ~Grid_Technique()

Grid_Technique::~Grid_Technique ( )

Member Function Documentation

◆ cal_grid_integration_index()

void Grid_Technique::cal_grid_integration_index ( )
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ cal_max_box_index()

void Grid_Technique::cal_max_box_index ( )
private

◆ cal_RindexAtom()

int Grid_Technique::cal_RindexAtom ( const int &  u1,
const int &  u2,
const int &  u3,
const int &  iat2 
) const

number of elements(basis-pairs) in this processon on all adjacent atoms-pairs(Grid division)

◆ cal_trace_lo()

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

◆ check_bigcell()

void Grid_Technique::check_bigcell ( int *  ind_bigcell,
char *  bigcell_on_processor 
)
private
Here is the caller graph for this function:

◆ find_offset()

int Grid_Technique::find_offset ( const int  id1,
const int  id2,
const int  iat1,
const int  iat2 
) const

◆ get_ijr_info()

const std::vector< int > * Grid_Technique::get_ijr_info ( ) const
inline
Here is the caller graph for this function:

◆ get_init_malloced()

bool Grid_Technique::get_init_malloced ( ) const
inline
Here is the caller graph for this function:

◆ get_startind()

void Grid_Technique::get_startind ( const int &  ny,
const int &  nplane 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ init_atoms_on_grid()

void Grid_Technique::init_atoms_on_grid ( const int &  ny,
const int &  nplane,
const UnitCell ucell 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ init_atoms_on_grid2()

void Grid_Technique::init_atoms_on_grid2 ( const int *  index2normal,
const UnitCell ucell 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ init_ijr_and_nnrg()

void Grid_Technique::init_ijr_and_nnrg ( const UnitCell ucell,
const Grid_Driver gd 
)
private
Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator=()

Grid_Technique & Grid_Technique::operator= ( Grid_Technique &&  rhs)
default

move operator for the next ESolver to directly use its infomation

◆ set_pbc_grid()

void Grid_Technique::set_pbc_grid ( const int &  ncx_in,
const int &  ncy_in,
const int &  ncz_in,
const int &  bx_in,
const int &  by_in,
const int &  bz_in,
const int &  nbx_in,
const int &  nby_in,
const int &  nbz_in,
const int &  nbxx_in,
const int &  nbzp_start_in,
const int &  nbzp_in,
const int &  ny,
const int &  nplane,
const int &  startz_current,
const UnitCell ucell,
const Grid_Driver gd,
const double &  dr_uniform,
const std::vector< double > &  rcuts,
const std::vector< std::vector< double > > &  psi_u,
const std::vector< std::vector< double > > &  dpsi_u,
const std::vector< std::vector< double > > &  d2psi_u,
const int &  num_stream 
)
Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ bcell_start

std::vector<int> Grid_Technique::bcell_start

◆ d2psi_u

std::vector<std::vector<double> > Grid_Technique::d2psi_u

◆ dpsi_u

std::vector<std::vector<double> > Grid_Technique::dpsi_u

◆ dr_uniform

double Grid_Technique::dr_uniform ={0.0}

◆ how_many_atoms

std::vector<int> Grid_Technique::how_many_atoms

◆ ijr_info

std::vector<int> Grid_Technique::ijr_info
private

◆ in_this_processor

std::vector<bool> Grid_Technique::in_this_processor

◆ init_malloced

bool Grid_Technique::init_malloced =false

◆ lgd

int Grid_Technique::lgd =0

◆ lnat

int Grid_Technique::lnat =0

◆ max_atom

int Grid_Technique::max_atom =0

◆ nnrg

int Grid_Technique::nnrg = 0

◆ nr_max

int Grid_Technique::nr_max =0

◆ ntype

int Grid_Technique::ntype =0

◆ nwmax

int Grid_Technique::nwmax =0

◆ orb

const LCAO_Orbitals* Grid_Technique::orb =nullptr

◆ psi_u

std::vector<std::vector<double> > Grid_Technique::psi_u

◆ rcuts

std::vector<double> Grid_Technique::rcuts

◆ start_ind

std::vector<int> Grid_Technique::start_ind

◆ total_atoms_on_grid

int Grid_Technique::total_atoms_on_grid =0

◆ trace_iat

std::vector<int> Grid_Technique::trace_iat

◆ trace_lo

std::vector<int> Grid_Technique::trace_lo

◆ ucell

const UnitCell* Grid_Technique::ucell =nullptr

◆ which_atom

std::vector<int> Grid_Technique::which_atom

◆ which_bigcell

std::vector<int> Grid_Technique::which_bigcell

◆ which_unitcell

std::vector<int> Grid_Technique::which_unitcell

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