Simulation of the two-flavor Schwinger Model with degenerate fermions. The simulation is performed using pseudofermions, HMC and (for the moment) conjugate gradient to invert
The code implements Wilson fermions
where
To compile create a new folder
mkdir build
In the build
folder run the following commands:
cmake ../
cmake --build .
This will create an executable for you to run. The lattice dimensions are fixed in the CMakeLists.txt. You can change the dimensions there as well as the executable name.
A running example with HMC is shown below
./SM_NSxNT.exe
----------------------------
| Two-flavor Schwinger model |
| Hybrid Monte Carlo simulation |
----------------------------
Ns NS Nt NT
m0 min: 0
m0 max: 0
Number of masses in [m0_min, m0_max] 1
Molecular dynamics steps: 8
Trajectory length: 1
beta: 2
Thermalization: 500
Measurements: 1000
Step (sweeps between measurements): 10
Save configurations yes/no (1 or 0): 1
The other executable
mass_NSxNT.exe
measures the pion mass correlator, given a set of gauge configurations. The latter are generated during the simulation.
The instructions are essentially the same. The CMakeLists.txt only needs the address of your C++ and C compiler on lines 4 and 5.
Then, in the build
folder, run the following commands:
cmake -G "MinGW Makefiles" -DCMAKE_CXX_COMPILER=C:\msys64\ucrt64\bin\g++ -DCMAKE_C_COMPILER=C:\msys64\ucrt64\bin\gcc ../
This command depends on the compiler you are using. In this case, we are using MinGW. If you are using another compiler
you have to change the -G
flag. The -DCMAKE_CXX_COMPILER
and -DCMAKE_C_COMPILER
flags are the address of the compiler.
Then you can run the executable
SM_NSxNT.exe
Only the average plaquette value is measured, one can implement other observables.