![]() |
QMCPACK
|
Public Types | |
using | AtomicSplineType = typename bspline_traits< ST, 1 >::SplineType |
using | AtomicBCType = typename bspline_traits< ST, 1 >::BCType |
using | AtomicSingleSplineType = UBspline_1d_d |
using | PointType = TinyVector< ST, D > |
using | value_type = ST |
using | vContainer_type = aligned_vector< ST > |
Public Member Functions | |
AtomicOrbitals (int Lmax) | |
ST | getCutoff () const |
ST | getCutoffBuffer () const |
ST | getSplineRadius () const |
ST | getNonOverlappingRadius () const |
int | getSplineNpoints () const |
int | getLmax () const |
const PointType & | getCenterPos () const |
void | resizeStorage (size_t Nb) |
void | bcast_tables (Communicate *comm) |
void | gather_tables (Communicate *comm, std::vector< int > &offset) |
template<typename PT , typename VT > | |
void | set_info (const PT &R, const VT &cutoff_in, const VT &cutoff_buffer_in, const VT &spline_radius_in, const VT &non_overlapping_radius_in, const int spline_npoints_in) |
void | create_spline () |
size_t | getSplineSizeInBytes () const |
void | flush_zero () |
void | set_spline (AtomicSingleSplineType *spline, int lm, int ispline) |
bool | read_splines (hdf_archive &h5f) |
bool | write_splines (hdf_archive &h5f) |
template<typename VV > | |
void | evaluate_v (const ST &r, const PointType &dr, VV &myV) |
template<typename DISPL , typename VM > | |
void | evaluateValues (const DISPL &Displacements, const int center_idx, const ST &r, VM &multi_myV) |
template<typename VV , typename GV > | |
void | evaluate_vgl (const ST &r, const PointType &dr, VV &myV, GV &myG, VV &myL) |
template<typename VV , typename GV , typename HT > | |
void | evaluate_vgh (const ST &r, const PointType &dr, VV &myV, GV &myG, HT &myH) |
void | storeParamsBeforeRotation () |
template<typename VM > | |
void | applyRotation (const VM &rot_mat, bool use_stored_copy) |
Static Public Attributes | |
static const int | D = 3 |
Private Attributes | |
ST | rmin |
ST | rmin_sqrt |
ST | cutoff |
ST | cutoff_buffer |
ST | spline_radius |
ST | non_overlapping_radius |
int | spline_npoints |
int | BaseN |
int | NumBands |
int | Npad |
PointType | center_pos |
const int | lmax |
const int | lm_tot |
SoaSphericalTensor< ST > | Ylm |
vContainer_type | l_vals |
vContainer_type | r_power_minus_l |
std::shared_ptr< MultiBspline1D< ST > > | SplineInst |
1D spline of radial functions of all the orbitals More... | |
std::shared_ptr< std::vector< ST > > | coef_copy_ |
coef copy for orbital rotation More... | |
vContainer_type | localV |
vContainer_type | localG |
vContainer_type | localL |
Definition at line 33 of file HybridRepCenterOrbitals.h.
using AtomicBCType = typename bspline_traits<ST, 1>::BCType |
Definition at line 38 of file HybridRepCenterOrbitals.h.
using AtomicSingleSplineType = UBspline_1d_d |
Definition at line 39 of file HybridRepCenterOrbitals.h.
using AtomicSplineType = typename bspline_traits<ST, 1>::SplineType |
Definition at line 37 of file HybridRepCenterOrbitals.h.
using PointType = TinyVector<ST, D> |
Definition at line 40 of file HybridRepCenterOrbitals.h.
using value_type = ST |
Definition at line 41 of file HybridRepCenterOrbitals.h.
using vContainer_type = aligned_vector<ST> |
Definition at line 43 of file HybridRepCenterOrbitals.h.
|
inline |
Definition at line 66 of file HybridRepCenterOrbitals.h.
References qmcplusplus::exp(), AtomicOrbitals< ST >::l_vals, AtomicOrbitals< ST >::lm_tot, AtomicOrbitals< ST >::lmax, qmcplusplus::log(), qmcplusplus::Units::distance::m, omptarget::min(), AtomicOrbitals< ST >::r_power_minus_l, AtomicOrbitals< ST >::rmin, AtomicOrbitals< ST >::rmin_sqrt, and qmcplusplus::sqrt().
|
inline |
Definition at line 413 of file HybridRepCenterOrbitals.h.
References AtomicOrbitals< ST >::coef_copy_, qmcplusplus::syclBLAS::copy_n(), AtomicOrbitals< ST >::lm_tot, AtomicOrbitals< ST >::Npad, and AtomicOrbitals< ST >::SplineInst.
|
inline |
Definition at line 97 of file HybridRepCenterOrbitals.h.
References qmcplusplus::comm, and AtomicOrbitals< ST >::SplineInst.
|
inline |
Definition at line 123 of file HybridRepCenterOrbitals.h.
References AtomicOrbitals< ST >::lm_tot, AtomicOrbitals< ST >::Npad, AtomicOrbitals< ST >::spline_npoints, AtomicOrbitals< ST >::spline_radius, and AtomicOrbitals< ST >::SplineInst.
Referenced by AtomicOrbitals< ST >::resizeStorage().
|
inline |
Definition at line 173 of file HybridRepCenterOrbitals.h.
References BLAS::czero, SoaSphericalTensor< T >::evaluateV(), AtomicOrbitals< ST >::lm_tot, AtomicOrbitals< ST >::localV, AtomicOrbitals< ST >::Npad, AtomicOrbitals< ST >::SplineInst, and AtomicOrbitals< ST >::Ylm.
|
inline |
Definition at line 398 of file HybridRepCenterOrbitals.h.
References APP_ABORT.
|
inline |
Definition at line 229 of file HybridRepCenterOrbitals.h.
References BLAS::cone, BLAS::czero, SoaSphericalTensor< T >::evaluateVGL(), AtomicOrbitals< ST >::l_vals, AtomicOrbitals< ST >::lm_tot, AtomicOrbitals< ST >::lmax, AtomicOrbitals< ST >::localG, AtomicOrbitals< ST >::localL, AtomicOrbitals< ST >::localV, qmcplusplus::Units::distance::m, AtomicOrbitals< ST >::Npad, AtomicOrbitals< ST >::r_power_minus_l, AtomicOrbitals< ST >::rmin, AtomicOrbitals< ST >::rmin_sqrt, AtomicOrbitals< ST >::SplineInst, and AtomicOrbitals< ST >::Ylm.
|
inline |
Definition at line 198 of file HybridRepCenterOrbitals.h.
References BLAS::czero, SoaSphericalTensor< T >::evaluateV(), AtomicOrbitals< ST >::lm_tot, AtomicOrbitals< ST >::localV, qmcplusplus::Units::distance::m, AtomicOrbitals< ST >::Npad, AtomicOrbitals< ST >::SplineInst, and AtomicOrbitals< ST >::Ylm.
|
inline |
Definition at line 138 of file HybridRepCenterOrbitals.h.
References AtomicOrbitals< ST >::SplineInst.
|
inline |
Definition at line 99 of file HybridRepCenterOrbitals.h.
References qmcplusplus::comm, gatherv(), AtomicOrbitals< ST >::Npad, and AtomicOrbitals< ST >::SplineInst.
|
inline |
Definition at line 85 of file HybridRepCenterOrbitals.h.
References AtomicOrbitals< ST >::center_pos.
|
inline |
|
inline |
Definition at line 80 of file HybridRepCenterOrbitals.h.
References AtomicOrbitals< ST >::cutoff_buffer.
|
inline |
|
inline |
Definition at line 82 of file HybridRepCenterOrbitals.h.
References AtomicOrbitals< ST >::non_overlapping_radius.
|
inline |
Definition at line 83 of file HybridRepCenterOrbitals.h.
References AtomicOrbitals< ST >::spline_npoints.
|
inline |
Definition at line 81 of file HybridRepCenterOrbitals.h.
References AtomicOrbitals< ST >::spline_radius.
|
inline |
Definition at line 136 of file HybridRepCenterOrbitals.h.
References AtomicOrbitals< ST >::SplineInst.
|
inline |
Definition at line 145 of file HybridRepCenterOrbitals.h.
References AtomicOrbitals< ST >::lmax, hdf_archive::readEntry(), AtomicOrbitals< ST >::spline_npoints, AtomicOrbitals< ST >::spline_radius, and AtomicOrbitals< ST >::SplineInst.
|
inline |
Definition at line 87 of file HybridRepCenterOrbitals.h.
References AtomicOrbitals< ST >::create_spline(), AtomicOrbitals< ST >::lm_tot, AtomicOrbitals< ST >::localG, AtomicOrbitals< ST >::localL, AtomicOrbitals< ST >::localV, AtomicOrbitals< ST >::Npad, and AtomicOrbitals< ST >::NumBands.
|
inline |
Definition at line 105 of file HybridRepCenterOrbitals.h.
References AtomicOrbitals< ST >::BaseN, AtomicOrbitals< ST >::center_pos, AtomicOrbitals< ST >::cutoff, AtomicOrbitals< ST >::cutoff_buffer, AtomicOrbitals< ST >::non_overlapping_radius, AtomicOrbitals< ST >::spline_npoints, and AtomicOrbitals< ST >::spline_radius.
Referenced by HybridRepSetReader< SA >::initialize_hybridrep_atomic_centers().
|
inline |
Definition at line 140 of file HybridRepCenterOrbitals.h.
References AtomicOrbitals< ST >::BaseN, AtomicOrbitals< ST >::Npad, and AtomicOrbitals< ST >::SplineInst.
|
inline |
Definition at line 404 of file HybridRepCenterOrbitals.h.
References AtomicOrbitals< ST >::coef_copy_, qmcplusplus::syclBLAS::copy_n(), and AtomicOrbitals< ST >::SplineInst.
|
inline |
Definition at line 159 of file HybridRepCenterOrbitals.h.
References AtomicOrbitals< ST >::center_pos, AtomicOrbitals< ST >::lmax, AtomicOrbitals< ST >::spline_npoints, AtomicOrbitals< ST >::spline_radius, AtomicOrbitals< ST >::SplineInst, and hdf_archive::writeEntry().
|
private |
Definition at line 51 of file HybridRepCenterOrbitals.h.
Referenced by AtomicOrbitals< ST >::set_info(), and AtomicOrbitals< ST >::set_spline().
|
private |
Definition at line 53 of file HybridRepCenterOrbitals.h.
Referenced by AtomicOrbitals< ST >::getCenterPos(), AtomicOrbitals< ST >::set_info(), and AtomicOrbitals< ST >::write_splines().
|
private |
coef copy for orbital rotation
Definition at line 61 of file HybridRepCenterOrbitals.h.
Referenced by AtomicOrbitals< ST >::applyRotation(), and AtomicOrbitals< ST >::storeParamsBeforeRotation().
|
private |
Definition at line 50 of file HybridRepCenterOrbitals.h.
Referenced by AtomicOrbitals< ST >::getCutoff(), and AtomicOrbitals< ST >::set_info().
|
private |
Definition at line 50 of file HybridRepCenterOrbitals.h.
Referenced by AtomicOrbitals< ST >::getCutoffBuffer(), and AtomicOrbitals< ST >::set_info().
|
static |
Definition at line 36 of file HybridRepCenterOrbitals.h.
|
private |
Definition at line 56 of file HybridRepCenterOrbitals.h.
Referenced by AtomicOrbitals< ST >::AtomicOrbitals(), and AtomicOrbitals< ST >::evaluate_vgl().
|
private |
Definition at line 54 of file HybridRepCenterOrbitals.h.
Referenced by AtomicOrbitals< ST >::applyRotation(), AtomicOrbitals< ST >::AtomicOrbitals(), AtomicOrbitals< ST >::create_spline(), AtomicOrbitals< ST >::evaluate_v(), AtomicOrbitals< ST >::evaluate_vgl(), AtomicOrbitals< ST >::evaluateValues(), and AtomicOrbitals< ST >::resizeStorage().
|
private |
Definition at line 54 of file HybridRepCenterOrbitals.h.
Referenced by AtomicOrbitals< ST >::AtomicOrbitals(), AtomicOrbitals< ST >::evaluate_vgl(), AtomicOrbitals< ST >::getLmax(), AtomicOrbitals< ST >::read_splines(), and AtomicOrbitals< ST >::write_splines().
|
private |
Definition at line 63 of file HybridRepCenterOrbitals.h.
Referenced by AtomicOrbitals< ST >::evaluate_vgl(), and AtomicOrbitals< ST >::resizeStorage().
|
private |
Definition at line 63 of file HybridRepCenterOrbitals.h.
Referenced by AtomicOrbitals< ST >::evaluate_vgl(), and AtomicOrbitals< ST >::resizeStorage().
|
private |
Definition at line 63 of file HybridRepCenterOrbitals.h.
Referenced by AtomicOrbitals< ST >::evaluate_v(), AtomicOrbitals< ST >::evaluate_vgl(), AtomicOrbitals< ST >::evaluateValues(), and AtomicOrbitals< ST >::resizeStorage().
|
private |
Definition at line 50 of file HybridRepCenterOrbitals.h.
Referenced by AtomicOrbitals< ST >::getNonOverlappingRadius(), and AtomicOrbitals< ST >::set_info().
|
private |
Definition at line 52 of file HybridRepCenterOrbitals.h.
Referenced by AtomicOrbitals< ST >::applyRotation(), AtomicOrbitals< ST >::create_spline(), AtomicOrbitals< ST >::evaluate_v(), AtomicOrbitals< ST >::evaluate_vgl(), AtomicOrbitals< ST >::evaluateValues(), AtomicOrbitals< ST >::gather_tables(), AtomicOrbitals< ST >::resizeStorage(), and AtomicOrbitals< ST >::set_spline().
|
private |
Definition at line 52 of file HybridRepCenterOrbitals.h.
Referenced by AtomicOrbitals< ST >::resizeStorage().
|
private |
Definition at line 57 of file HybridRepCenterOrbitals.h.
Referenced by AtomicOrbitals< ST >::AtomicOrbitals(), and AtomicOrbitals< ST >::evaluate_vgl().
|
private |
Definition at line 47 of file HybridRepCenterOrbitals.h.
Referenced by AtomicOrbitals< ST >::AtomicOrbitals(), and AtomicOrbitals< ST >::evaluate_vgl().
|
private |
Definition at line 49 of file HybridRepCenterOrbitals.h.
Referenced by AtomicOrbitals< ST >::AtomicOrbitals(), and AtomicOrbitals< ST >::evaluate_vgl().
|
private |
Definition at line 51 of file HybridRepCenterOrbitals.h.
Referenced by AtomicOrbitals< ST >::create_spline(), AtomicOrbitals< ST >::getSplineNpoints(), AtomicOrbitals< ST >::read_splines(), AtomicOrbitals< ST >::set_info(), and AtomicOrbitals< ST >::write_splines().
|
private |
Definition at line 50 of file HybridRepCenterOrbitals.h.
Referenced by AtomicOrbitals< ST >::create_spline(), AtomicOrbitals< ST >::getSplineRadius(), AtomicOrbitals< ST >::read_splines(), AtomicOrbitals< ST >::set_info(), and AtomicOrbitals< ST >::write_splines().
|
private |
1D spline of radial functions of all the orbitals
Definition at line 59 of file HybridRepCenterOrbitals.h.
Referenced by AtomicOrbitals< ST >::applyRotation(), AtomicOrbitals< ST >::bcast_tables(), AtomicOrbitals< ST >::create_spline(), AtomicOrbitals< ST >::evaluate_v(), AtomicOrbitals< ST >::evaluate_vgl(), AtomicOrbitals< ST >::evaluateValues(), AtomicOrbitals< ST >::flush_zero(), AtomicOrbitals< ST >::gather_tables(), AtomicOrbitals< ST >::getSplineSizeInBytes(), AtomicOrbitals< ST >::read_splines(), AtomicOrbitals< ST >::set_spline(), AtomicOrbitals< ST >::storeParamsBeforeRotation(), and AtomicOrbitals< ST >::write_splines().
|
private |
Definition at line 55 of file HybridRepCenterOrbitals.h.
Referenced by AtomicOrbitals< ST >::evaluate_v(), AtomicOrbitals< ST >::evaluate_vgl(), and AtomicOrbitals< ST >::evaluateValues().