LatticeYangMills
Public Member Functions | Private Member Functions | Private Attributes | List of all members
GaugeFieldFactory Class Reference

Implementation of the GaugeFieldFactory App class. More...

#include <gaugefieldfactory.h>

Inheritance diagram for GaugeFieldFactory:
Inheritance graph
[legend]
Collaboration diagram for GaugeFieldFactory:
Collaboration graph
[legend]

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.
 
- Public Member Functions inherited from App
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

- Protected Attributes inherited from App
Actionm_act = nullptr
 Pointer to the Action instance.
 
GluonFieldm_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.
 

Detailed Description

Implementation of the GaugeFieldFactory App class.

Author
Giovanni Pederiva
Version
1.0
Date
2017-2018

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.


The documentation for this class was generated from the following files: