Skip to content

Latest commit

 

History

History

project5

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 

Project 5: Variational Monte Carlo of electrons in a quantum dot

This folder has 4 subfolders, code, plotting, figures, latex. What the folder contains is quite self explanatory. A description of what the different files in each folder does is explained below. All of the code is commented to explain what each step does.

Code 💻

Most of the code for this project was run with the following specs:

Computer : 2,7 GHz Intel Core i5Processor
Version : MacOS Sierra 10.12.6
Processor : 2,7 GHz Intel Core i5
Memory : 8 GB 1867 MHz DDR3
Graphics : Intel Iris Graphics 6100 1536 MB

The parallelized code was run on a 64-core computer.

We have a main class MainClass which does the Monte Carlo simulation for a given trial wave function and corresponding local energy. In this class, we have a method Runwhich runs the simulation with number of Monte Carlo cycles as arguments.

The program run.cpp does the simulation with the optimal step length. Command line arguments are alpha, beta, the exponent of the number of MC cycles and omega. The trial wave function is currently set to psiT2.

different_alpha.cpp is used to do the MC simulations for different values of alpha, from alpha = 0.6 to alpha = 1.6 with steps of alpha on 0.2. The trial wave function is currently set to pisT1.

different_beta.cpp is used to do the MC simulations for different values of beta with the trial wave function psiT2, from beta = 0.05 to beta = 1.5 with steps of beta on 0.05. This program is not used when we study the optimal combination of alpha and beta, as we use a parallelized program, see parallelization.

different_omega.cpp is used to do the MC simulations for different values of omega from 0.01 to 1 with a step of 0.01.

different_step.cpp does the VMC simulation for different alphas and different step lengths and is used to find the optimal step length.

The file WFandE.hpp contains our trial wave functions and local energies.

The data is not added to GitHub:octocat:, to reduce the amount of storage used by GitHub:octocat:, since some of the data files are quite large. The code we did not end up needing is saved in the subdirectory code/trash_code.

Parallelization

The code for finding the energy for different alpha"s and beta"s is parallelized using MPI. The program is called parallel.cpp.

When using MPI, remember to write module load mpi before making and CXX=mpicxx make instead of make and mpirun ./program to run.

Plotting

We have chosen to have all the code for plotting in a separate directory, plotting. Here, we have one plotting program for each problem where plotting is needed. All data is analyzed in these programs.

Figures 📉

In the directory figures we save all the figures produced by the code in plotting.

LaTeX 📝

In the directory latex we have all the code used for LaTeX. For our references we use BibTeX.