Path Integral Quantum Monte Carlo
Macros | Functions | Variables
estimator.cpp File Reference

Estimator class implementations. More...

#include "estimator.h"
#include "path.h"
#include "action.h"
#include "potential.h"
#include "communicator.h"
#include "factory.h"
+ Include dependency graph for estimator.cpp:

Go to the source code of this file.

Macros

#define REGISTER_ESTIMATOR(NAME, TYPE)
 

Functions

 REGISTER_ESTIMATOR ("energy", EnergyEstimator)
 Estimator naming conventions: More...
 
 REGISTER_ESTIMATOR ("virial", VirialEnergyEstimator)
 
 REGISTER_ESTIMATOR ("number particles", NumberParticlesEstimator)
 
 REGISTER_ESTIMATOR ("number distribution", NumberDistributionEstimator)
 
 REGISTER_ESTIMATOR ("time", TimeEstimator)
 
 REGISTER_ESTIMATOR ("particle position", ParticlePositionEstimator)
 
 REGISTER_ESTIMATOR ("bipartition density", BipartitionDensityEstimator)
 
 REGISTER_ESTIMATOR ("linear density rho", LinearParticlePositionEstimator)
 
 REGISTER_ESTIMATOR ("planar density rho", PlaneParticlePositionEstimator)
 
 REGISTER_ESTIMATOR ("planar density average rho", PlaneParticleAveragePositionEstimator)
 
 REGISTER_ESTIMATOR ("planar potential average Vext", PlaneAverageExternalPotentialEstimator)
 
 REGISTER_ESTIMATOR ("superfluid fraction", SuperfluidFractionEstimator)
 
 REGISTER_ESTIMATOR ("planar winding rhos/rho", PlaneWindingSuperfluidDensityEstimator)
 
 REGISTER_ESTIMATOR ("planar area rhos/rho", PlaneAreaSuperfluidDensityEstimator)
 
 REGISTER_ESTIMATOR ("radial winding rhos/rho", RadialWindingSuperfluidDensityEstimator)
 
 REGISTER_ESTIMATOR ("radial area rhos/rho", RadialAreaSuperfluidDensityEstimator)
 
 REGISTER_ESTIMATOR ("local superfluid", LocalSuperfluidDensityEstimator)
 
 REGISTER_ESTIMATOR ("diagonal fraction", DiagonalFractionEstimator)
 
 REGISTER_ESTIMATOR ("worm properties", WormPropertiesEstimator)
 
 REGISTER_ESTIMATOR ("permutation cycle", PermutationCycleEstimator)
 
 REGISTER_ESTIMATOR ("local permutation", LocalPermutationEstimator)
 
 REGISTER_ESTIMATOR ("one body density matrix", OneBodyDensityMatrixEstimator)
 
 REGISTER_ESTIMATOR ("pair correlation function", PairCorrelationEstimator)
 
 REGISTER_ESTIMATOR ("static structure factor", StaticStructureFactorEstimator)
 
 REGISTER_ESTIMATOR ("intermediate scattering function", IntermediateScatteringFunctionEstimator)
 
 REGISTER_ESTIMATOR ("radial density", RadialDensityEstimator)
 
 REGISTER_ESTIMATOR ("cylinder energy", CylinderEnergyEstimator)
 
 REGISTER_ESTIMATOR ("cylinder number particles", CylinderNumberParticlesEstimator)
 
 REGISTER_ESTIMATOR ("cylinder number distribution", CylinderNumberDistributionEstimator)
 
 REGISTER_ESTIMATOR ("cylinder linear density", CylinderLinearDensityEstimator)
 
 REGISTER_ESTIMATOR ("cylinder superfluid fraction", CylinderSuperfluidFractionEstimator)
 
 REGISTER_ESTIMATOR ("cylinder one body density matrix", CylinderOneBodyDensityMatrixEstimator)
 
 REGISTER_ESTIMATOR ("cylinder pair correlation function", CylinderPairCorrelationEstimator)
 
 REGISTER_ESTIMATOR ("cylinder radial potential", CylinderRadialPotentialEstimator)
 
 REGISTER_ESTIMATOR ("cylinder linear potential", CylinderLinearPotentialEstimator)
 
 REGISTER_ESTIMATOR ("cylinder potential energy", PotentialEnergyEstimator)
 
 REGISTER_ESTIMATOR ("pigs kinetic energy", KineticEnergyEstimator)
 
 REGISTER_ESTIMATOR ("pigs total energy", TotalEnergyEstimator)
 
 REGISTER_ESTIMATOR ("pigs thermodynamic potential energy", ThermoPotentialEnergyEstimator)
 
 REGISTER_ESTIMATOR ("pigs positions", PositionEstimator)
 
 REGISTER_ESTIMATOR ("pigs particle resolved positions", ParticleResolvedPositionEstimator)
 
 REGISTER_ESTIMATOR ("pigs particle correlations", ParticleCorrelationEstimator)
 
 REGISTER_ESTIMATOR ("pigs velocity", VelocityEstimator)
 
 REGISTER_ESTIMATOR ("pigs subregion occupation", SubregionOccupationEstimator)
 
 REGISTER_ESTIMATOR ("pigs one body density matrix", PIGSOneBodyDensityMatrixEstimator)
 
bool include (const dVec &r, double maxR)
 Determine if a position is inside the cutoff radius.
 
int num1DParticles (const Path &path, double maxR)
 Count the number of particles inside a given radius. More...
 

Variables

EstimatorFactory estimatorFactory
 Setup the estimator factory.
 
MultiEstimatorFactory multiEstimatorFactory
 Setup the estimator factory for multi path estimators.
 
bool regSwap = multiEstimatorFactory()->Register<SwapEstimator>(SwapEstimator::name)
 
bool regEntPart = multiEstimatorFactory()->Register<EntPartEstimator>(EntPartEstimator::name)
 

Detailed Description

Estimator class implementations.

Author
Adrian Del Maestro

Definition in file estimator.cpp.

Macro Definition Documentation

◆ REGISTER_ESTIMATOR

#define REGISTER_ESTIMATOR (   NAME,
  TYPE 
)
Value:
const string TYPE::name = NAME;\
bool reg ## TYPE = estimatorFactory()->Register<TYPE>(TYPE::name);
EstimatorFactory estimatorFactory
Setup the estimator factory.
Definition: estimator.cpp:19

Definition at line 20 of file estimator.cpp.

Function Documentation

◆ num1DParticles()

int num1DParticles ( const Path path,
double  maxR 
)

Count the number of particles inside a given radius.

Here we arbitrarily only count slice 0 particles.

Definition at line 2896 of file estimator.cpp.

2896  {
2897  int tot = 0;
2898  dVec r;
2899  for (int ptcl = 0; ptcl < path.numBeadsAtSlice(0); ptcl++) {
2900  r = path(0,ptcl);
2901  if (include(path(0,ptcl),maxR))
2902  tot++;
2903  }
2904  return tot;
2905 }
Array< int, 1 > numBeadsAtSlice
The number of active beads at a given time slice.
Definition: path.h:48
TinyVector< double, NDIM > dVec
A NDIM-vector of type double.
Definition: common.h:111
bool include(const dVec &r, double maxR)
Determine if a position is inside the cutoff radius.
Definition: estimator.cpp:2887
+ Here is the call graph for this function:

◆ REGISTER_ESTIMATOR()

REGISTER_ESTIMATOR ( "energy"  ,
EnergyEstimator   
)

Estimator naming conventions:

1) be as descriptive as possible 2) prepend the keyword "cylinder" for cylinder estimators 3) prepend the keyword "pigs" for PIGS estimators 4) include the word "multi" for multi-path estimators