QMCPACK
LCAOrbitalSetWithCorrection.h
Go to the documentation of this file.
1 //////////////////////////////////////////////////////////////////////////////////////
2 // This file is distributed under the University of Illinois/NCSA Open Source License.
3 // See LICENSE file in top directory for details.
4 //
5 // Copyright (c) 2016 Jeongnim Kim and QMCPACK developers.
6 //
7 // File developed by: Mark Dewing, mdewing@anl.gov, Argonne National Laboratory
8 //
9 // File created by: Jeongnim Kim, jeongnim.kim@intel.com, Intel Corp.
10 //////////////////////////////////////////////////////////////////////////////////////
11 
12 
13 #ifndef QMCPLUSPLUS_SOA_LINEARCOMIBINATIONORBITALSET_WITH_CORRECTION_TEMP_H
14 #define QMCPLUSPLUS_SOA_LINEARCOMIBINATIONORBITALSET_WITH_CORRECTION_TEMP_H
15 
18 #include "LCAOrbitalSet.h"
19 #include "SoaCuspCorrection.h"
20 
21 
22 namespace qmcplusplus
23 {
24 /** class to add cusp correction to LCAOrbitalSet.
25  *
26  */
28 {
29 public:
31  /** constructor
32  * @param my_name name of the SPOSet object
33  * @param bs pointer to the BasisSet
34  * @param norb number of orbitals
35  * @param identity if true, the MO coefficients matrix is identity
36  * @param ions
37  * @param els
38  * @param rl report level
39  */
40  LCAOrbitalSetWithCorrection(const std::string& my_name,
41  std::unique_ptr<basis_type>&& bs,
42  size_t norbs,
43  bool identity,
44  ParticleSet& ions,
45  ParticleSet& els);
46 
48 
49  std::string getClassName() const final { return "LCAOrbitalSetWithCorrection"; }
50 
51  std::unique_ptr<SPOSet> makeClone() const final;
52 
53  void setOrbitalSetSize(int norbs) final;
54 
55  void evaluateValue(const ParticleSet& P, int iat, ValueVector& psi) final;
56 
57  void evaluateVGL(const ParticleSet& P, int iat, ValueVector& psi, GradVector& dpsi, ValueVector& d2psi) final;
58 
59  void evaluate_notranspose(const ParticleSet& P,
60  int first,
61  int last,
62  ValueMatrix& logdet,
63  GradMatrix& dlogdet,
64  ValueMatrix& d2logdet) final;
65  /** update C on device
66  */
67  void finalizeConstruction() override
68  {
70  }
71 
72  friend class LCAOrbitalBuilder;
73 
74 private:
76 
78 };
79 } // namespace qmcplusplus
80 #endif
base class for Single-particle orbital sets
Definition: SPOSet.h:46
helper functions for EinsplineSetBuilder
Definition: Configuration.h:43
void setOrbitalSetSize(int norbs) final
set the OrbitalSetSize
class to add cusp correction to LCAOrbitalSet.
OrbitalSetTraits< ValueType >::ValueMatrix ValueMatrix
Definition: SPOSet.h:50
SPOSetBuilder using new LCAOrbitalSet and Soa versions.
OrbitalSetTraits< ValueType >::ValueVector ValueVector
OrbitalSetTraits< ValueType >::GradMatrix GradMatrix
Definition: SPOSet.h:52
Specialized paritlce class for atomistic simulations.
Definition: ParticleSet.h:55
void finalizeConstruction() override
update C on device
void evaluate_notranspose(const ParticleSet &P, int first, int last, ValueMatrix &logdet, GradMatrix &dlogdet, ValueMatrix &d2logdet) final
evaluate the values, gradients and laplacians of this single-particle orbital for [first...
std::string getClassName() const final
return class name
A localized basis set derived from BasisSetBase<typename COT::ValueType>
void evaluateValue(const ParticleSet &P, int iat, ValueVector &psi) final
evaluate the values of this single-particle orbital set
OrbitalSetTraits< ValueType >::GradVector GradVector
Definition: SPOSet.h:51
LCAOrbitalSetWithCorrection(const std::string &my_name, std::unique_ptr< basis_type > &&bs, size_t norbs, bool identity, ParticleSet &ions, ParticleSet &els)
constructor
std::unique_ptr< SPOSet > makeClone() const final
make a clone of itself every derived class must implement this to have threading working correctly...
void finalizeConstruction() override
update C on device
class to handle linear combinations of basis orbitals used to evaluate the Dirac determinants.
Definition: LCAOrbitalSet.h:30
SoaBasisSetBase< ValueType > basis_type
Definition: LCAOrbitalSet.h:33
void evaluateVGL(const ParticleSet &P, int iat, ValueVector &psi, GradVector &dpsi, ValueVector &d2psi) final
evaluate the values, gradients and laplacians of this single-particle orbital set ...
Declaration of a base class of BasisSet.
Base for real basis set.
Definition: BasisSetBase.h:132