QMCPACK
WaveFunctionComponentBuilder Class Referenceabstract

An abstract class for wave function builders. More...

+ Inheritance diagram for WaveFunctionComponentBuilder:
+ Collaboration diagram for WaveFunctionComponentBuilder:

Public Types

using RealType = WaveFunctionComponent::RealType
 
using ValueType = WaveFunctionComponent::ValueType
 
using PosType = WaveFunctionComponent::PosType
 
using GradType = WaveFunctionComponent::GradType
 
using PSetMap = std::map< std::string, const std::unique_ptr< ParticleSet > >
 
- Public Types inherited from MPIObjectBase
using mpi_comm_type = Communicate::mpi_comm_type
 

Public Member Functions

 WaveFunctionComponentBuilder (Communicate *comm, ParticleSet &p)
 constructor More...
 
virtual ~WaveFunctionComponentBuilder ()=default
 
virtual std::unique_ptr< WaveFunctionComponent > buildComponent (xmlNodePtr cur)=0
 process a xml node at cur More...
 
- Public Member Functions inherited from MPIObjectBase
 MPIObjectBase (Communicate *c)
 constructor with communicator More...
 
int rank () const
 return the rank of the communicator More...
 
int getGroupID () const
 return the group id of the communicator More...
 
Communicate * getCommunicator () const
 return myComm More...
 
Communicate & getCommRef () const
 return a TEMPORARY reference to Communicate More...
 
mpi_comm_type getMPI () const
 return MPI communicator if one wants to use MPI directly More...
 
bool is_manager () const
 return true if the rank == 0 More...
 
const std::string & getName () const
 return the name More...
 
void setName (const std::string &aname)
 

Static Public Attributes

static std::string wfs_tag = "wavefunction"
 reserved tags for the elements associated with the many-body wavefunctions More...
 
static std::string param_tag = "parameter"
 the element name for a parameter More...
 
static std::string dtable_tag = "distancetable"
 the element name for a distancetable More...
 
static std::string jastrow_tag = "jastrow"
 the element name for jatrow More...
 
static std::string detset_tag = "determinantset"
 the element name for a set of Slater determinants, contains 1..* Slater determinants More...
 
static std::string sd_tag = "slaterdeterminant"
 the element name for a Slater determinant, contains 1..* determinants More...
 
static std::string det_tag = "determinant"
 the element name for a determinant, may contain (0..*) orbital or parameter element More...
 
static std::string rn_tag = "determinant_rn"
 the element name for a released node determinant, may contain (0..*) orbital or parameter element More...
 
static std::string spo_tag = "psi"
 the element name for single-particle orbital More...
 
static std::string sposet_tag = "sposet"
 the element name for single-particle orbital set More...
 
static std::string ionorb_tag = "ionwf"
 the element name for an ion wavefunction More...
 
static std::string backflow_tag = "backflow"
 the element name for a backflow transformation More...
 
static std::string multisd_tag = "multideterminant"
 the element name for a multi slater determinant wavefunction More...
 

Protected Attributes

ParticleSet & targetPtcl
 reference to the particle set on which targetPsi is defined More...
 
xmlNodePtr myNode
 xmlNode operated by this object More...
 
- Protected Attributes inherited from MPIObjectBase
Communicate * myComm
 pointer to Communicate More...
 
std::string ClassName
 class Name More...
 
std::string myName
 name of the object More...
 

Detailed Description

An abstract class for wave function builders.

Definition at line 36 of file WaveFunctionComponentBuilder.h.

Member Typedef Documentation

◆ GradType

◆ PosType

◆ PSetMap

using PSetMap = std::map<std::string, const std::unique_ptr<ParticleSet> >

Definition at line 43 of file WaveFunctionComponentBuilder.h.

◆ RealType

◆ ValueType

Constructor & Destructor Documentation

◆ WaveFunctionComponentBuilder()

constructor

Parameters
commcommunicator
ptarget particle set

Each builder class builds an object for composing a many-body wavefunction.

Definition at line 84 of file WaveFunctionComponentBuilder.h.

84 : MPIObjectBase(comm), targetPtcl(p), myNode(NULL) {}
ParticleSet & targetPtcl
reference to the particle set on which targetPsi is defined
xmlNodePtr myNode
xmlNode operated by this object
MPIObjectBase(Communicate *c)
constructor with communicator

◆ ~WaveFunctionComponentBuilder()

virtual ~WaveFunctionComponentBuilder ( )
virtualdefault

Member Function Documentation

◆ buildComponent()

virtual std::unique_ptr<WaveFunctionComponent> buildComponent ( xmlNodePtr  cur)
pure virtual

Member Data Documentation

◆ myNode

xmlNodePtr myNode
protected

xmlNode operated by this object

Definition at line 95 of file WaveFunctionComponentBuilder.h.

Referenced by JastrowBuilder::buildComponent().

◆ targetPtcl


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