![]() |
QMCPACK
|
General HybridRepSetReader to handle any unitcell. More...
Inheritance diagram for HybridRepSetReader< SA >:
Collaboration diagram for HybridRepSetReader< SA >: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... | |
Public Member Functions inherited from BsplineReader | |
| 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 | |
Public Attributes inherited from BsplineReader | |
| 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.