QMCPACK
ECPotentialBuilder.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) 2020 QMCPACK developers.
6 //
7 // File developed by: Jeongnim Kim, jeongnim.kim@gmail.com, University of Illinois at Urbana-Champaign
8 // Jeremy McMinnis, jmcminis@gmail.com, University of Illinois at Urbana-Champaign
9 // Mark A. Berrill, berrillma@ornl.gov, Oak Ridge National Laboratory
10 //
11 // File created by: Jeongnim Kim, jeongnim.kim@gmail.com, University of Illinois at Urbana-Champaign
12 //////////////////////////////////////////////////////////////////////////////////////
13 
14 
15 #ifndef QMCPLUSPLUS_ECPPOTENTIAL_BUILDER_H
16 #define QMCPLUSPLUS_ECPPOTENTIAL_BUILDER_H
17 #include "Configuration.h"
22 namespace qmcplusplus
23 {
24 class QMCHamiltonian;
25 class ParticleSet;
26 class TrialWaveFunction;
27 
29 {
34  bool hasSOPot;
35  bool hasL2Pot;
37 
42 
43  std::vector<RealType> localZeff;
44  std::vector<std::unique_ptr<RadialPotentialType>> localPot;
45  std::vector<std::unique_ptr<NonLocalECPComponent>> nonLocalPot;
46  std::vector<std::unique_ptr<SOECPComponent>> soPot;
47  std::vector<std::unique_ptr<L2RadialPotential>> L2Pot;
48 
51 
52  bool put(xmlNodePtr cur);
53 
54  void useSimpleTableFormat();
55  void useXmlFormat(xmlNodePtr cur);
56 };
57 } // namespace qmcplusplus
58 #endif
Base class for any object which needs to know about a MPI communicator.
Definition: MPIObjectBase.h:26
helper functions for EinsplineSetBuilder
Definition: Configuration.h:43
Collection of Local Energy Operators.
std::vector< std::unique_ptr< SOECPComponent > > soPot
OneDimGridBase< RealType > GridType
An abstract base class to implement a One-Dimensional grid.
Wrapping information on parallelism.
Definition: Communicate.h:68
Specialized paritlce class for atomistic simulations.
Definition: ParticleSet.h:55
ECPotentialBuilder(QMCHamiltonian &h, ParticleSet &ions, ParticleSet &els, TrialWaveFunction &psi, Communicate *c)
constructor
std::vector< std::unique_ptr< RadialPotentialType > > localPot
OneDimCubicSpline< RealType > RadialPotentialType
std::vector< RealType > localZeff
void useSimpleTableFormat()
reimplement simple table format used by NonLocalPPotential
std::vector< std::unique_ptr< NonLocalECPComponent > > nonLocalPot
Class to represent a many-body trial wave function.
std::vector< std::unique_ptr< L2RadialPotential > > L2Pot
traits for QMC variables
Definition: Configuration.h:49