ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
Namespaces | Functions
boundary_fix.h File Reference

Correct the discontinuity that occurs when crossing periodic boundary conditions. More...

#include "source_cell/unitcell.h"
#include "source_cell/klist.h"
#include "source_basis/module_ao/parallel_orbitals.h"
#include "source_psi/psi.h"
#include "source_base/module_container/ATen/core/tensor.h"
Include dependency graph for boundary_fix.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  module_rt
 

Functions

void module_rt::reset_matrix_boundary (const UnitCell &ucell, const K_Vectors &kv, const Parallel_Orbitals *pv, ct::Tensor &hk_last, ct::Tensor &sk_last, psi::Psi< std::complex< double > > *psi_last, const size_t len_hs)
 Add phases to the matrix and coefficient from the previous step to correct the boundary discontinuity.
 
void module_rt::boundary_shift_mat (const std::complex< double > &phase, std::complex< double > *matk, const Parallel_Orbitals *pv, const size_t iat)
 Add extra phase to the matrix element belong to iat.
 
void module_rt::boundary_shift_c (const std::complex< double > &phase, std::complex< double > *psi_k_last, const Parallel_Orbitals *pv, const size_t iat)
 Add extra phase to the wfc coefficient belong to iat.
 

Detailed Description

Correct the discontinuity that occurs when crossing periodic boundary conditions.