QMCPACK
MinimalHamiltonianPool.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) 2019 QMCPACK developers.
6 //
7 // File developed by: Peter Doak, doakpw@ornl.gov, Oak Ridge National Laboratory
8 //
9 // File created by: Peter Doak, doakpw@ornl.gov, Oak Ridge National Laboratory
10 //////////////////////////////////////////////////////////////////////////////////////
11 
12 #ifndef QMCPLUSPLUS_MINIMALHAMILTONIANPOOL_H
13 #define QMCPLUSPLUS_MINIMALHAMILTONIANPOOL_H
14 
15 #include "Message/Communicate.h"
16 #include "OhmmsData/Libxml2Doc.h"
19 
20 namespace qmcplusplus
21 {
23 {
24  // See src/QMCHamiltonians/tests/test_hamiltonian_factory for parsing tests
25  static constexpr const char* const hamiltonian_xml = R"(
26 <hamiltonian name="h0" type="generic" target="e">
27  <pairpot type="coulomb" name="ElecElec" source="e" target="e"/>
28 </hamiltonian>
29  )";
30 
31  static constexpr const char* const hamiltonian_eeei_xml = R"(
32 <hamiltonian name="h0" type="generic" target="e">
33  <pairpot type="coulomb" name="ElecElec" source="e" target="e"/>
34  <pairpot type="coulomb" name="ElecIon" source="ion" target="e"/>
35 </hamiltonian>
36  )";
37 
38 public:
42  {
46 
47  xmlNodePtr root = doc.getRoot();
48  hpool.put(root);
49 
50  return hpool;
51  }
52 
56  {
60 
61  xmlNodePtr root = doc.getRoot();
62  hpool.put(root);
63 
64  return hpool;
65  }
66 };
67 
68 } // namespace qmcplusplus
69 #endif
class that handles xmlDoc
Definition: Libxml2Doc.h:76
helper functions for EinsplineSetBuilder
Definition: Configuration.h:43
static HamiltonianPool makeHamWithEEEI(Communicate *comm, ParticleSetPool &particle_pool, WaveFunctionPool &wavefunction_pool)
xmlNodePtr getRoot()
Definition: Libxml2Doc.h:88
Wrapping information on parallelism.
Definition: Communicate.h:68
static constexpr const char *const hamiltonian_xml
Manage a collection of ParticleSet objects.
static HamiltonianPool make_hamWithEE(Communicate *comm, ParticleSetPool &particle_pool, WaveFunctionPool &wavefunction_pool)
Declaration of HamiltonianPool.
bool parseFromString(const std::string_view data)
Definition: Libxml2Doc.cpp:204
Manage a collection of TrialWaveFunction objects.
Declaration of ParticleSetPool.
Manage a collection of QMCHamiltonian objects.
static constexpr const char *const hamiltonian_eeei_xml