![]() |
QMCPACK
|
hybrid representation orbitals combining B-spline orbitals on a grid and atomic centered orbitals. More...
Public Types | |
using | SplineBase = SPLINEBASE |
using | HYBRIDBASE = HybridRepCenterOrbitals< typename SPLINEBASE::DataType > |
using | ST = typename SPLINEBASE::DataType |
using | DataType = typename SPLINEBASE::DataType |
using | PointType = typename SPLINEBASE::PointType |
using | SingleSplineType = typename SPLINEBASE::SingleSplineType |
using | RealType = typename SPLINEBASE::RealType |
Public Member Functions | |
HybridRepReal (const std::string &my_name) | |
bool | isRotationSupported () const override |
void | storeParamsBeforeRotation () override |
void | applyRotation (const ValueMatrix &rot_mat, bool use_stored_copy) override |
std::string | getClassName () const final |
std::string | getKeyword () const final |
bool | isOMPoffload () const final |
std::unique_ptr< SPOSet > | makeClone () const override |
void | bcast_tables (Communicate *comm) |
void | gather_tables (Communicate *comm) |
bool | read_splines (hdf_archive &h5f) |
bool | write_splines (hdf_archive &h5f) |
void | evaluateValue (const ParticleSet &P, const int iat, ValueVector &psi) override |
void | evaluateDetRatios (const VirtualParticleSet &VP, ValueVector &psi, const ValueVector &psiinv, std::vector< ValueType > &ratios) override |
void | mw_evaluateDetRatios (const RefVectorWithLeader< SPOSet > &spo_list, const RefVectorWithLeader< const VirtualParticleSet > &vp_list, const RefVector< ValueVector > &psi_list, const std::vector< const ValueType *> &invRow_ptr_list, std::vector< std::vector< ValueType >> &ratios_list) const final |
void | evaluateVGL (const ParticleSet &P, const int iat, ValueVector &psi, GradVector &dpsi, ValueVector &d2psi) override |
void | mw_evaluateVGL (const RefVectorWithLeader< SPOSet > &sa_list, const RefVectorWithLeader< ParticleSet > &P_list, int iat, const RefVector< ValueVector > &psi_v_list, const RefVector< GradVector > &dpsi_v_list, const RefVector< ValueVector > &d2psi_v_list) const final |
void | mw_evaluateVGLandDetRatioGrads (const RefVectorWithLeader< SPOSet > &spo_list, const RefVectorWithLeader< ParticleSet > &P_list, int iat, const std::vector< const ValueType *> &invRow_ptr_list, OffloadMWVGLArray &phi_vgl_v, std::vector< ValueType > &ratios, std::vector< GradType > &grads) const final |
void | evaluateVGH (const ParticleSet &P, const int iat, ValueVector &psi, GradVector &dpsi, HessVector &grad_grad_psi) override |
void | evaluateVGHGH (const ParticleSet &P, const int iat, ValueVector &psi, GradVector &dpsi, HessVector &grad_grad_psi, GGGVector &grad_grad_grad_psi) override |
void | evaluate_notranspose (const ParticleSet &P, int first, int last, ValueMatrix &logdet, GradMatrix &dlogdet, ValueMatrix &d2logdet) final |
Private Types | |
enum | Region |
![]() | |
enum | Region |
using | PointType = typename AtomicOrbitals< SPLINEBASE::DataType >::PointType |
using | RealType = typename DistanceTable::RealType |
using | PosType = typename DistanceTable::PosType |
Private Attributes | |
ValueVector | psi_AO |
ValueVector | d2psi_AO |
GradVector | dpsi_AO |
Matrix< ST, aligned_allocator< ST > > | multi_myV |
HYBRIDBASE::LocationSmoothingInfo | info |
Friends | |
template<class BSPLINESPO > | |
class | HybridRepSetReader |
template<class BSPLINESPO > | |
class | SplineSetReader |
struct | BsplineReader |
Additional Inherited Members | |
![]() | |
HybridRepCenterOrbitals () | |
void | storeParamsBeforeRotation () |
void | applyRotation (const VM &rot_mat, bool use_stored_copy) |
void | set_info (const ParticleSet &ions, ParticleSet &els, const std::vector< int > &mapping) |
void | resizeStorage (size_t Nb) |
void | bcast_tables (Communicate *comm) |
void | gather_atomic_tables (Communicate *comm, std::vector< int > &offset) |
void | flush_zero () |
bool | read_splines (hdf_archive &h5f) |
bool | write_splines (hdf_archive &h5f) |
int | get_bc_sign (const PointType &r, const PointType &r_image, const Cell &PrimLattice, TinyVector< int, D > &HalfG) const |
void | evaluate_v (const ParticleSet &P, const int iat, VV &myV, LocationSmoothingInfo &info) |
bool | is_VP_batching_safe (const VirtualParticleSet &VP) const |
void | evaluateValuesC2X (const VirtualParticleSet &VP, VM &multi_myV, LocationSmoothingInfo &info) |
void | evaluateValuesR2R (const VirtualParticleSet &VP, const Cell &PrimLattice, TinyVector< int, D > &HalfG, VM &multi_myV, SV &bc_signs, LocationSmoothingInfo &info) |
void | evaluate_vgl (const ParticleSet &P, const int iat, VV &myV, GV &myG, VV &myL, LocationSmoothingInfo &info) |
void | evaluate_vgh (const ParticleSet &P, const int iat, VV &myV, GV &myG, HT &myH, LocationSmoothingInfo &info) |
void | interpolate_buffer_v (VV &psi, const VV &psi_AO, const RealType f) const |
void | interpolate_buffer_vgl (VV &psi, GV &dpsi, VV &d2psi, const VV &psi_AO, const GV &dpsi_AO, const VV &d2psi_AO, const LocationSmoothingInfo &info) const |
![]() | |
static const int | D |
hybrid representation orbitals combining B-spline orbitals on a grid and atomic centered orbitals.
SPLINEBASE | B-spline orbital class. |
Only works with SPLINEBASE class containing real splines
Definition at line 33 of file HybridRepReal.h.
using DataType = typename SPLINEBASE::DataType |
Definition at line 39 of file HybridRepReal.h.
using HYBRIDBASE = HybridRepCenterOrbitals<typename SPLINEBASE::DataType> |
Definition at line 37 of file HybridRepReal.h.
using PointType = typename SPLINEBASE::PointType |
Definition at line 40 of file HybridRepReal.h.
using RealType = typename SPLINEBASE::RealType |
Definition at line 42 of file HybridRepReal.h.
using SingleSplineType = typename SPLINEBASE::SingleSplineType |
Definition at line 41 of file HybridRepReal.h.
using SplineBase = SPLINEBASE |
Definition at line 36 of file HybridRepReal.h.
using ST = typename SPLINEBASE::DataType |
Definition at line 38 of file HybridRepReal.h.
|
strongprivate |
Definition at line 479 of file HybridRepCenterOrbitals.h.
|
inline |
Definition at line 70 of file HybridRepReal.h.
|
inlineoverride |
Definition at line 78 of file HybridRepReal.h.
References HybridRepCenterOrbitals< ST >::applyRotation().
|
inline |
Definition at line 90 of file HybridRepReal.h.
References HybridRepCenterOrbitals< ST >::bcast_tables(), and qmcplusplus::comm.
|
inlinefinal |
Definition at line 241 of file HybridRepReal.h.
References BsplineSet::evaluate_notranspose().
|
inlineoverride |
Definition at line 126 of file HybridRepReal.h.
References qmcplusplus::C2C::assign_v(), qmcplusplus::simd::dot(), HybridRepReal< SPLINEBASE >::evaluateValue(), HybridRepCenterOrbitals< ST >::evaluateValuesR2R(), HybridRepCenterOrbitals< ST >::LocationSmoothingInfo::f, VirtualParticleSet::getTotalNum(), HybridRepReal< SPLINEBASE >::info, HybridRepCenterOrbitals< ST >::interpolate_buffer_v(), HybridRepCenterOrbitals< ST >::is_VP_batching_safe(), VirtualParticleSet::isOnSphere(), HybridRepReal< SPLINEBASE >::multi_myV, HybridRepReal< SPLINEBASE >::psi_AO, and HybridRepCenterOrbitals< ST >::LocationSmoothingInfo::region.
|
inlineoverride |
Definition at line 106 of file HybridRepReal.h.
References ParticleSet::activeR(), qmcplusplus::C2C::assign_v(), HybridRepCenterOrbitals< ST >::evaluate_v(), HybridRepCenterOrbitals< ST >::LocationSmoothingInfo::f, HybridRepCenterOrbitals< ST >::get_bc_sign(), HybridRepReal< SPLINEBASE >::info, HybridRepCenterOrbitals< ST >::interpolate_buffer_v(), HybridRepReal< SPLINEBASE >::psi_AO, HybridRepCenterOrbitals< ST >::LocationSmoothingInfo::r_image, and HybridRepCenterOrbitals< ST >::LocationSmoothingInfo::region.
Referenced by HybridRepReal< SPLINEBASE >::evaluateDetRatios().
|
inlineoverride |
Definition at line 216 of file HybridRepReal.h.
References ParticleSet::activeR(), APP_ABORT, HybridRepCenterOrbitals< ST >::evaluate_vgh(), HybridRepCenterOrbitals< ST >::get_bc_sign(), HybridRepReal< SPLINEBASE >::info, HybridRepCenterOrbitals< ST >::LocationSmoothingInfo::r_image, and HybridRepCenterOrbitals< ST >::LocationSmoothingInfo::region.
|
inlineoverride |
Definition at line 231 of file HybridRepReal.h.
References APP_ABORT.
|
inlineoverride |
Definition at line 175 of file HybridRepReal.h.
References ParticleSet::activeR(), HybridRepReal< SPLINEBASE >::d2psi_AO, HybridRepReal< SPLINEBASE >::dpsi_AO, HybridRepCenterOrbitals< ST >::evaluate_vgl(), HybridRepCenterOrbitals< ST >::get_bc_sign(), HybridRepReal< SPLINEBASE >::info, HybridRepCenterOrbitals< ST >::interpolate_buffer_vgl(), HybridRepReal< SPLINEBASE >::psi_AO, HybridRepCenterOrbitals< ST >::LocationSmoothingInfo::r_image, and HybridRepCenterOrbitals< ST >::LocationSmoothingInfo::region.
|
inline |
Definition at line 96 of file HybridRepReal.h.
References qmcplusplus::comm, and HybridRepCenterOrbitals< ST >::gather_atomic_tables().
|
inlinefinal |
Definition at line 84 of file HybridRepReal.h.
|
inlinefinal |
Definition at line 85 of file HybridRepReal.h.
|
inlinefinal |
Definition at line 86 of file HybridRepReal.h.
|
inlineoverride |
Definition at line 72 of file HybridRepReal.h.
|
inlineoverride |
Definition at line 88 of file HybridRepReal.h.
|
inlinefinal |
Definition at line 166 of file HybridRepReal.h.
References SPOSet::mw_evaluateDetRatios().
|
inlinefinal |
Definition at line 195 of file HybridRepReal.h.
References SPOSet::mw_evaluateVGL().
|
inlinefinal |
Definition at line 205 of file HybridRepReal.h.
References SPOSet::mw_evaluateVGLandDetRatioGrads().
|
inline |
Definition at line 102 of file HybridRepReal.h.
References HybridRepCenterOrbitals< ST >::read_splines().
|
inlineoverride |
Definition at line 73 of file HybridRepReal.h.
References HybridRepCenterOrbitals< ST >::storeParamsBeforeRotation().
|
inline |
Definition at line 104 of file HybridRepReal.h.
References HybridRepCenterOrbitals< ST >::write_splines().
|
friend |
Definition at line 256 of file HybridRepReal.h.
|
friend |
Definition at line 253 of file HybridRepReal.h.
|
friend |
Definition at line 255 of file HybridRepReal.h.
|
private |
Definition at line 57 of file HybridRepReal.h.
Referenced by HybridRepReal< SPLINEBASE >::evaluateVGL().
|
private |
Definition at line 58 of file HybridRepReal.h.
Referenced by HybridRepReal< SPLINEBASE >::evaluateVGL().
|
private |
Definition at line 60 of file HybridRepReal.h.
Referenced by HybridRepReal< SPLINEBASE >::evaluateDetRatios(), HybridRepReal< SPLINEBASE >::evaluateValue(), HybridRepReal< SPLINEBASE >::evaluateVGH(), and HybridRepReal< SPLINEBASE >::evaluateVGL().
|
private |
Definition at line 59 of file HybridRepReal.h.
Referenced by HybridRepReal< SPLINEBASE >::evaluateDetRatios().
|
private |
Definition at line 57 of file HybridRepReal.h.
Referenced by HybridRepReal< SPLINEBASE >::evaluateDetRatios(), HybridRepReal< SPLINEBASE >::evaluateValue(), and HybridRepReal< SPLINEBASE >::evaluateVGL().