A parallel C++ Library for Simulations in the Heisenberg Model
Namespaces | Classes | Typedefs | Functions
HB Namespace Reference

Namespaces

 Ising
 

Classes

class  Grid
 A class storing spin values as a grid and certain meta information. More...
 
class  MetropolisSimulation
 
class  MetropolisSimulationQt
 
class  Model
 An abstract class representing the model describing the spins. A model class has to derive from it an override the pure virtual functions. More...
 
struct  NB
 A struct containing six neighbour inidices of a spin in three dimensions. More...
 
class  SimulatedAnnealing
 
struct  Spin
 A class storing spin values represented by two angles. More...
 

Typedefs

using Models = std::vector< std::unique_ptr< HB::Model > >
 

Functions

template<typename T >
mean (const std::vector< T > &o)
 calculates the mean value of a standard vector \(\mu = \sum_i o_i\) More...
 
template<typename T >
covFunc (const size_t t, const std::vector< T > &o)
 calculates the covariance function up to a certain index of a standard vector More...
 
template<typename T >
intAuto (const std::vector< T > &o)
 calculates the integrated autocorrelation time of a standard vector More...
 
template<typename T >
error (const std::vector< T > &o)
 calculates the standard error (standard deviation) of a standard vector More...
 
template<typename T >
blockingError (const std::vector< T > &o, const size_t block_number)
 calculates the blocking error of a standard vector More...
 
template<typename T >
bootstrapError (const std::vector< T > &o, const size_t sample_size, const size_t sample_number, const T tau)
 calculates the bootstrap error of a standard vector More...
 
template<typename T >
errorProp (const std::vector< T > &o, const T tau)
 calculates the error based on error propagation of a standard vector More...
 
template<typename T >
errorPropEnergy (const std::vector< T > &energies, const T beta, const T tau, const size_t V)
 calculates the statistical error on energies using error propagation More...
 
template<typename T >
errorPropMagnetization (const std::vector< T > &magn, const T beta, const T tau, const size_t V)
 calculates the statistical error on magnetizations (magn) using error propagation More...
 
template<typename T >
size_t d2i (const T d)
 rounds a floating point value to an integer More...
 
template<typename T >
void removeCorr (const std::vector< T > &o)
 removes correlation from a standard vector More...
 
template<typename T >
specificHeat (const std::vector< T > &energies, const T beta, const size_t V)
 computes the specific heat per Volume as secondary quantity for a given vector of energies More...
 
template<typename T >
magnSusz (const std::vector< T > &magn, const T beta, const size_t V)
 computes the magnetic suszeptibility per Volume as secondary quantity for a given vector of magnetizations More...
 
void simulate (const Models &models)
 

Typedef Documentation

◆ Models

using HB::Models = typedef std::vector<std::unique_ptr<HB::Model> >

Definition at line 270 of file simulation.h.

Function Documentation

◆ blockingError()

template<typename T >
T HB::blockingError ( const std::vector< T > &  o,
const size_t  block_number 
)

calculates the blocking error of a standard vector

Parameters
block_numberNumber of blocks the vector is divided into
oReference to the standard vector
Returns
Blocking error

◆ bootstrapError()

template<typename T >
T HB::bootstrapError ( const std::vector< T > &  o,
const size_t  sample_size,
const size_t  sample_number,
const T  tau 
)

calculates the bootstrap error of a standard vector

Parameters
oReference to the standard vector
sample_sizeSize of the bootstrap samples \parma sample_number Number of resamplings
tauIntegrated autocorrelation time
Returns
Bootstrap error

◆ covFunc()

template<typename T >
T HB::covFunc ( const size_t  t,
const std::vector< T > &  o 
)

calculates the covariance function up to a certain index of a standard vector

Parameters
tIndex in vector
oReference to the standard vector
Returns
Value of the covariance function

◆ d2i()

template<typename T >
size_t HB::d2i ( const T  d)

rounds a floating point value to an integer

Parameters
dValue to be rounded
Returns
Resulting integer

◆ error()

template<typename T >
T HB::error ( const std::vector< T > &  o)

calculates the standard error (standard deviation) of a standard vector

Parameters
oReference to the standard vector
Returns
Standard error

◆ errorProp()

template<typename T >
T HB::errorProp ( const std::vector< T > &  o,
const T  tau 
)

calculates the error based on error propagation of a standard vector

Parameters
oReference to the standard vector
tauIntegrated autocorrelation time
Returns
Error propagation

◆ errorPropEnergy()

template<typename T >
T HB::errorPropEnergy ( const std::vector< T > &  energies,
const T  beta,
const T  tau,
const size_t  V 
)

calculates the statistical error on energies using error propagation

Parameters
oReference to the standard vector
tauIntegrated autocorrelation time
Returns
Error propagation

◆ errorPropMagnetization()

template<typename T >
T HB::errorPropMagnetization ( const std::vector< T > &  magn,
const T  beta,
const T  tau,
const size_t  V 
)

calculates the statistical error on magnetizations (magn) using error propagation

Parameters
oReference to the standard vector
tauIntegrated autocorrelation time
Returns
Error propagation

◆ intAuto()

template<typename T >
T HB::intAuto ( const std::vector< T > &  o)

calculates the integrated autocorrelation time of a standard vector

Parameters
oReference to the standard vector
Returns
Integrated autocorrelation time

◆ magnSusz()

template<typename T >
T HB::magnSusz ( const std::vector< T > &  magn,
const T  beta,
const size_t  V 
)

computes the magnetic suszeptibility per Volume as secondary quantity for a given vector of magnetizations

Parameters
Referenceto a standard vector of magnetizations
betaInverse temperature
VVolume
Returns
Magnetic suzeptibility

◆ mean()

template<typename T >
T HB::mean ( const std::vector< T > &  o)

calculates the mean value of a standard vector \(\mu = \sum_i o_i\)

Parameters
oReference to the standard vector
returnMean value

◆ removeCorr()

template<typename T >
void HB::removeCorr ( const std::vector< T > &  o)

removes correlation from a standard vector

The function calculates the integrated autocorrelation time \(\tau\). The thermalisation of \(20\tau\) is removed. The integrated autocorrelation time is calculated again in order to remove values from the input vector until the remaining ones are uncorrelated. The The function overrides the input vector.

Parameters
oStandard vector of correlated values

◆ simulate()

void HB::simulate ( const Models models)

◆ specificHeat()

template<typename T >
T HB::specificHeat ( const std::vector< T > &  energies,
const T  beta,
const size_t  V 
)

computes the specific heat per Volume as secondary quantity for a given vector of energies

Parameters
Referenceto a standard vector of energies
betaInverse temperature
VVolume
Returns
Specific heat