LatticeYangMills
|
Implementation of the GaugeFieldFactory App class. More...
#include <gaugefieldfactory.h>
Public Member Functions | |
GaugeFieldFactory (int MCSteps, int thermSteps, int NConf, double epsilon, std::string startType) | |
Constructor of the GaugeFieldFactory object. | |
void | generateConfigurations () |
Run the thermalization first, then the sampling of configurations. | |
std::vector< double > & | getObsValues () |
void | execute () |
Executes the App code. Perform initialization of subclasses and the system, then runst the Monte Carlo algorithm. | |
![]() | |
void | setAction (Action *action) |
Initializes the Action object pointer given an instance of it. More... | |
virtual void | createLattice (std::array< int, 4 > latticeSize) |
Initializes the GluonField object given a sublattice size. More... | |
void | addObservable (Observable *observable) |
Adds a Observable class pointer to the vector of observables of the App. More... | |
Private Member Functions | |
void | initialize () |
Initializes the GluonField based on the initial condition (hot/cold), runs the initializers of the subclasses. | |
void | MCUpdate () |
Loops over all links and tres to update them. | |
void | updateLink (int x, int y, int z, int t, int mu) |
Tries to update a single link 30 times (N_Hits) | |
void | computeObservables () |
Computes the Observable value for all memebers of the m_obs vector. | |
void | thermalize () |
Perform N_Therm Monte Carlo updates to thermalize the system. | |
void | sampleConf () |
Performs the Monte Carlo updates, every N_Corr saves the lattice and computes observables. | |
void | thermalizeTime () |
Perform N_Therm Monte Carlo updates to thermalize the system. Prints times of execution. | |
void | sampleConfTime () |
Performs the Monte Carlo updates, every N_Corr saves the lattice and computes observables. Prints out times of execution. | |
Private Attributes | |
std::vector< double > | m_obsValues |
int | m_MCSteps |
int | m_correlationSteps |
int | m_thermSteps |
int | m_confs |
std::string | m_startType |
double | m_epsilon |
long int | m_accepted = 0 |
long int | m_updates = 0 |
long | m_seed |
const char * | m_outDir |
SU3 | newLink |
Additional Inherited Members | |
![]() | |
Action * | m_act = nullptr |
Pointer to the Action instance. | |
GluonField * | m_lat = nullptr |
Pointer to the GluonField instance. | |
std::array< int, 4 > | m_size |
Size of the sublattice. | |
std::vector< Observable * > | m_obs |
Vector of pointers to Observable instances. | |
Implementation of the GaugeFieldFactory App class.
The GaugeFieldFactory class implements the Metropolis algorithm to generate an ensemble of gauge field configurations. It requires and Action to be specified and the length of the Markov-Chain to simulate.
Definition at line 51 of file gaugefieldfactory.h.