QMCPACK
OneMolecularOrbital Class Reference
+ Collaboration diagram for OneMolecularOrbital:

Public Member Functions

RealType phi (RealType r)
 
void phi_vgl (RealType r, RealType &val, GradType &grad, RealType &lap)
 
 OneMolecularOrbital (ParticleSet *targetP, ParticleSet *sourceP, SPOSetPtr Phi)
 
void changeOrbital (int centerIdx, int orbIdx)
 

Private Types

using RealType = QMCTraits::RealType
 
using ValueType = QMCTraits::ValueType
 
using GradType = QMCTraits::GradType
 
using ValueVector = OrbitalSetTraits< ValueType >::ValueVector
 
using GradVector = OrbitalSetTraits< ValueType >::GradVector
 
using SPOSetPtr = SPOSet *
 

Private Attributes

ValueVector val1
 Temporary storage for real wavefunction values. More...
 
GradVector grad1
 
ValueVector lap1
 
ParticleSettargetPtcl
 target ParticleSet More...
 
ParticleSetsourcePtcl
 source ParticleSet More...
 
int curOrb
 Index of orbital. More...
 
int curCenter
 Index of atomic center. More...
 
SPOSetPtr Psi1
 

Detailed Description

Definition at line 29 of file CuspCorrectionConstruction.h.

Member Typedef Documentation

◆ GradType

using GradType = QMCTraits::GradType
private

Definition at line 33 of file CuspCorrectionConstruction.h.

◆ GradVector

Definition at line 35 of file CuspCorrectionConstruction.h.

◆ RealType

using RealType = QMCTraits::RealType
private

Definition at line 31 of file CuspCorrectionConstruction.h.

◆ SPOSetPtr

using SPOSetPtr = SPOSet*
private

Definition at line 36 of file CuspCorrectionConstruction.h.

◆ ValueType

Definition at line 32 of file CuspCorrectionConstruction.h.

◆ ValueVector

Definition at line 34 of file CuspCorrectionConstruction.h.

Constructor & Destructor Documentation

◆ OneMolecularOrbital()

OneMolecularOrbital ( ParticleSet targetP,
ParticleSet sourceP,
SPOSetPtr  Phi 
)
inline

Definition at line 65 of file CuspCorrectionConstruction.h.

References SPOSet::getOrbitalSetSize(), OneMolecularOrbital::grad1, OneMolecularOrbital::lap1, OneMolecularOrbital::Psi1, and OneMolecularOrbital::val1.

66  : targetPtcl(targetP), sourcePtcl(sourceP), curOrb(0), curCenter(0)
67  {
68  Psi1 = Phi;
69  int norb = Psi1->getOrbitalSetSize();
70  val1.resize(norb);
71  grad1.resize(norb);
72  lap1.resize(norb);
73  }
ValueVector val1
Temporary storage for real wavefunction values.
int getOrbitalSetSize() const
return the size of the orbitals
Definition: SPOSet.h:88
ParticleSet * sourcePtcl
source ParticleSet
ParticleSet * targetPtcl
target ParticleSet

Member Function Documentation

◆ changeOrbital()

void changeOrbital ( int  centerIdx,
int  orbIdx 
)
inline

Definition at line 75 of file CuspCorrectionConstruction.h.

References OneMolecularOrbital::curCenter, and OneMolecularOrbital::curOrb.

Referenced by qmcplusplus::computeRadialPhiBar(), and qmcplusplus::generateCuspInfo().

76  {
77  curCenter = centerIdx;
78  curOrb = orbIdx;
79  }

◆ phi()

RealType phi ( RealType  r)
inline

Definition at line 39 of file CuspCorrectionConstruction.h.

References OneMolecularOrbital::curCenter, OneMolecularOrbital::curOrb, SPOSet::evaluateValue(), ParticleSet::makeMove(), OneMolecularOrbital::Psi1, ParticleSet::R, OneMolecularOrbital::sourcePtcl, OneMolecularOrbital::targetPtcl, and OneMolecularOrbital::val1.

Referenced by qmcplusplus::generateCuspInfo(), qmcplusplus::minimizeForRc(), and qmcplusplus::phiBar().

40  {
42  dr[0] = r;
43 
45  targetPtcl->makeMove(0, dr);
47 
48  return val1[curOrb];
49  }
virtual void evaluateValue(const ParticleSet &P, int iat, ValueVector &psi)=0
evaluate the values of this single-particle orbital set
ValueVector val1
Temporary storage for real wavefunction values.
ParticlePos R
Position.
Definition: ParticleSet.h:79
ParticleSet * sourcePtcl
source ParticleSet
void makeMove(Index_t iat, const SingleParticlePos &displ, bool maybe_accept=true)
move the iat-th particle to active_pos_
ParticleSet * targetPtcl
target ParticleSet

◆ phi_vgl()

void phi_vgl ( RealType  r,
RealType val,
GradType grad,
RealType lap 
)
inline

Definition at line 51 of file CuspCorrectionConstruction.h.

References OneMolecularOrbital::curCenter, OneMolecularOrbital::curOrb, SPOSet::evaluateVGL(), OneMolecularOrbital::grad1, OneMolecularOrbital::lap1, ParticleSet::makeMove(), OneMolecularOrbital::Psi1, ParticleSet::R, OneMolecularOrbital::sourcePtcl, OneMolecularOrbital::targetPtcl, and OneMolecularOrbital::val1.

Referenced by qmcplusplus::getCurrentLocalEnergy(), qmcplusplus::getOriginalLocalEnergy(), and qmcplusplus::minimizeForPhiAtZero().

52  {
54  dr[0] = r;
55 
57  targetPtcl->makeMove(0, dr);
59 
60  val = val1[curOrb];
61  grad = grad1[curOrb];
62  lap = lap1[curOrb];
63  }
virtual void evaluateVGL(const ParticleSet &P, int iat, ValueVector &psi, GradVector &dpsi, ValueVector &d2psi)=0
evaluate the values, gradients and laplacians of this single-particle orbital set ...
ValueVector val1
Temporary storage for real wavefunction values.
ParticlePos R
Position.
Definition: ParticleSet.h:79
ParticleSet * sourcePtcl
source ParticleSet
void makeMove(Index_t iat, const SingleParticlePos &displ, bool maybe_accept=true)
move the iat-th particle to active_pos_
ParticleSet * targetPtcl
target ParticleSet

Member Data Documentation

◆ curCenter

int curCenter
private

◆ curOrb

int curOrb
private

◆ grad1

◆ lap1

◆ Psi1

◆ sourcePtcl

ParticleSet* sourcePtcl
private

◆ targetPtcl

ParticleSet* targetPtcl
private

◆ val1

ValueVector val1
private

Temporary storage for real wavefunction values.

Definition at line 83 of file CuspCorrectionConstruction.h.

Referenced by OneMolecularOrbital::OneMolecularOrbital(), OneMolecularOrbital::phi(), and OneMolecularOrbital::phi_vgl().


The documentation for this class was generated from the following file: