![]() |
QMCPACK
|
General HybridRepSetReader to handle any unitcell. More...
Public Member Functions | |
HybridRepSetReader (EinsplineSetBuilder *e) | |
std::unique_ptr< SPOSet > | create_spline_set (const std::string &my_name, int spin, const BandInfoGroup &bandgroup) override |
create the actual spline sets More... | |
void | initialize_hybridrep_atomic_centers (SA &bspline) const |
initialize basic parameters of atomic orbitals More... | |
void | create_atomic_centers_Gspace (const Vector< std::complex< double >> &cG, Communicate &band_group_comm, const int iorb, const std::complex< double > &rotate_phase, SA &bspline) const |
initialize construct atomic orbital radial functions from plane waves More... | |
void | initialize_hybrid_pio_gather (const int spin, const BandInfoGroup &bandgroup, SA &bspline) const |
transforming planewave orbitals to 3D B-spline orbitals and 1D B-spline radial orbitals in real space. More... | |
![]() | |
BsplineReader (EinsplineSetBuilder *e) | |
virtual | ~BsplineReader () |
std::string | getSplineDumpFileName (const BandInfoGroup &bandgroup) const |
template<typename GT , typename BCT > | |
bool | set_grid (const TinyVector< int, 3 > &halfg, GT *xyz_grid, BCT *xyz_bc) const |
read gvectors and set the mesh, and prepare for einspline More... | |
template<typename SPE > | |
void | check_twists (SPE &bspline, const BandInfoGroup &bandgroup) const |
initialize twist-related data for N orbitals More... | |
std::string | psi_g_path (int ti, int spin, int ib) const |
return the path name in hdf5 More... | |
std::string | psi_r_path (int ti, int spin, int ib) const |
return the path name in hdf5 More... | |
void | setCommon (xmlNodePtr cur) |
setting common parameters More... | |
std::unique_ptr< SPOSet > | create_spline_set (int spin, xmlNodePtr cur, SPOSetInputInfo &input_info) |
create the spline after one of the kind is created More... | |
std::unique_ptr< SPOSet > | create_spline_set (int spin, xmlNodePtr cur) |
create the spline set More... | |
void | setCheckNorm (bool new_checknorm) |
Set the checkNorm variable. More... | |
void | setRotate (bool new_rotate) |
Set the orbital rotation flag. More... | |
void | initialize_spo2band (int spin, const std::vector< BandInfo > &bigspace, SPOSetInfo &sposet, std::vector< int > &band2spo) |
build index tables to map a state to band with k-point folidng More... | |
Private Types | |
using | SplineReader = SplineSetReader< typename SA::SplineBase > |
using | DataType = typename SA::DataType |
Private Attributes | |
SplineReader | spline_reader_ |
Additional Inherited Members | |
![]() | |
EinsplineSetBuilder * | mybuilder |
pointer to the EinsplineSetBuilder More... | |
Communicate * | myComm |
communicator More... | |
bool | checkNorm |
mesh size check the norm of orbitals More... | |
bool | saveSplineCoefs |
save spline coefficients to storage More... | |
bool | rotate |
apply orbital rotations More... | |
std::vector< std::vector< int > > | spo2band |
map from spo index to band index More... | |
General HybridRepSetReader to handle any unitcell.
Definition at line 30 of file HybridRepCenterOrbitals.h.
|
private |
Definition at line 47 of file HybridRepSetReader.h.
|
private |
Definition at line 46 of file HybridRepSetReader.h.
Definition at line 135 of file HybridRepSetReader.cpp.
|
inline |
initialize construct atomic orbital radial functions from plane waves
Definition at line 340 of file HybridRepSetReader.cpp.
References qmcplusplus::app_log(), Communicate::bcast(), bspline(), Gvectors< ST, LT >::calc_jlm_G(), Gvectors< ST, LT >::calc_phase_shift(), Gvectors< ST, LT >::calc_Ylm_G(), qmcplusplus::create(), FairDivideLow(), Communicate::getGroupID(), Communicate::isGroupLeader(), omptarget::min(), Gvectors< ST, LT >::NumGvecs, omp_get_max_threads(), omp_get_num_threads(), omp_get_thread_num(), Communicate::reduce_in_place(), Communicate::size(), and qmcplusplus::Ylm().
|
overridevirtual |
create the actual spline sets
Implements BsplineReader.
Definition at line 139 of file HybridRepSetReader.cpp.
References qmcplusplus::app_log(), bspline(), hdf_archive::close(), hdf_archive::create(), Timer::elapsed(), hdf_archive::open(), and hdf_archive::write().
void initialize_hybrid_pio_gather | ( | const int | spin, |
const BandInfoGroup & | bandgroup, | ||
SA & | bspline | ||
) | const |
transforming planewave orbitals to 3D B-spline orbitals and 1D B-spline radial orbitals in real space.
spin | orbital dataset spin index |
bandgroup | band info |
bspline | the spline object being worked on |
Definition at line 613 of file HybridRepSetReader.cpp.
References qmcplusplus::app_log(), Communicate::bcast(), bspline(), Timer::elapsed(), FairDivideLow(), Communicate::getGroupID(), Communicate::getGroupLeaderComm(), BandInfoGroup::getNumDistinctOrbitals(), Communicate::isGroupLeader(), omptarget::min(), and BandInfoGroup::myBands.
void initialize_hybridrep_atomic_centers | ( | SA & | bspline | ) | const |
initialize basic parameters of atomic orbitals
Definition at line 193 of file HybridRepSetReader.cpp.
References OhmmsAttributeSet::add(), APP_ABORT, qmcplusplus::app_error(), qmcplusplus::app_log(), bspline(), qmcplusplus::ceil(), qmcplusplus::COSCOS, qmcplusplus::Units::charge::e, qmcplusplus::LEKS2018, qmcplusplus::LINEAR, omptarget::min(), OhmmsAttributeSet::put(), and AtomicOrbitals< ST >::set_info().
|
private |
Definition at line 48 of file HybridRepSetReader.h.