Path Integral Quantum Monte Carlo
Macros | Typedefs | Enumerations | Functions
common.h File Reference

Global common header with shared dependencies and methods. More...

#include <iomanip>
#include <iostream>
#include <string>
#include <cmath>
#include <cassert>
#include <vector>
#include <set>
#include <map>
#include <algorithm>
#include <sstream>
#include <chrono>
#include <functional>
#include <blitz/array.h>
#include <boost/archive/text_oarchive.hpp>
#include <boost/archive/text_iarchive.hpp>
#include <boost/archive/binary_oarchive.hpp>
#include <boost/archive/binary_iarchive.hpp>
#include <boost/format.hpp>
#include <boost/ptr_container/ptr_vector.hpp>
#include <boost/ptr_container/ptr_map.hpp>
#include <boost/property_tree/ptree.hpp>
#include <boost/property_tree/xml_parser.hpp>
#include <boost/math/tools/minima.hpp>
#include "MersenneTwister.h"
+ Include dependency graph for common.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define BZ_HAVE_BOOST_SERIALIZATION
 
#define PIMC_DEBUG_MESSAGE(X)
 A PIMC debugging message.
 
#define PIMC_ASSERT(X)
 Rename assert method.
 
#define NDIM   1
 Number of spatial dimnsions.
 
#define PIGS   false
 
#define REPO_VERSION   "none"
 
#define NN_TABLE
 Turn on the nearest neighbor particle lookup table.
 
#define NPCFSEP   50
 Spatial separations to be used in the pair correlation function.
 
#define NOBDMSEP   50
 Spatial separations to be used in the one body density matrix.
 
#define NRADSEP   200
 Spatial separations to be used in the radial density.
 
#define NGRIDSEP   51
 Spatial separations to be used in each dimension of the particle position grid.
 
#define EPS   1.0E-7
 A small number.
 
#define DBL_EPS   std::numeric_limits<double>::epsilon()
 
#define BIG   1.0E30
 A big number.
 
#define LBIG   69.07755279
 The log of a big number.
 
#define XXX   -1
 Used to refer to a nonsense beadIndex.
 

Typedefs

typedef unsigned long uint32
 Unsigned integer type, at least 32 bits.
 
typedef TinyMatrix< double, NDIM, NDIMdMat
 A NDIM x NDIM matrix of type double.
 
typedef TinyVector< double, NDIMdVec
 A NDIM-vector of type double.
 
typedef TinyVector< int, NDIMiVec
 A NDIM-vector of type integer.
 
typedef TinyVector< int, 2 > beadLocator
 time-slice,bead-number world line index
 
typedef Array< int, 1 >::iterator intIter
 Integer array iterator.
 
typedef Array< int, 1 >::const_iterator cintIter
 Constant integer array iterator.
 
typedef Array< beadLocator, 1 >::iterator beadIter
 beadLocator array iterator
 

Enumerations

enum  beadState { HEADTAIL , SPECIAL , NONE }
 Each bead can have three possible states.
 
enum  ensemble { DIAGONAL , OFFDIAGONAL , ANY }
 Each move can operate on only the digaonal ensemble, only the off-diagonal ensemble, or both.
 

Functions

int ipow (int base, int power)
 Return the integer value of a number raised to a power.
 
template<typename Ttype >
Ttype & min (Ttype &x, Ttype &y)
 Minimum of two inputs.
 
template<typename Ttype >
Ttype & max (Ttype &x, Ttype &y)
 Maximum of two inputs.
 

Detailed Description

Global common header with shared dependencies and methods.

Author
Adrian Del Maestro
Date
10.13.2008

We use blitz++ for all arrays and used boost::format to simplify input and output.

See also
http://sourceforge.net/projects/blitz/
http://www.boost.org/doc/libs/release/libs/format/index.html

Definition in file common.h.