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< WaveFunctionComponentbuildComponent (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...
 
CommunicategetCommunicator () const
 return myComm More...
 
CommunicategetCommRef () 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

ParticleSettargetPtcl
 reference to the particle set on which targetPsi is defined More...
 
xmlNodePtr myNode
 xmlNode operated by this object More...
 
- Protected Attributes inherited from MPIObjectBase
CommunicatemyComm
 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: