Skip to content

This is a python module for wrapping the example 'ggeom' executable of the quest DQMC (Determinant Quantum Monte Carlo) simulator. It allows to run different temperature calculations in parallel by automatically submitting it through an sbatch script on a cluster.

Notifications You must be signed in to change notification settings

ksteiner92/PyMPDQMC

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PyMPDQMC

A python module for wrapping the example 'ggeom' executable of the quest DQMC (Determinant Quantum Monte Carlo) simulator. It allows to run different temperature calculations in parallel by automatically submitting it through an sbatch script on a cluster. Before the actual simulation is executed, a pre-processing can be performed, and also input parameters can be changed on the fly. The current implemented pre-processing is "calcmu", which calculates the chemical potential for a given filling. This is relevant for non particle hole symmetric systems.

Usage

The package comes with an 'mpdqmc.py' script which needs as argument an input file. An example input file is given below. The input file uses the yaml syntax.

#number of processes per node
#NOT supported at the moment
np: 6

#beta range configuration
# mandatory
beta:
 logscale: true
 start: 0.001
 end: 100
 steps: 20

#pre-processing
#calculate mu for a given rho
#before simulation
# optional
calcmu:
 mu_start: -2.0
 mu_end: 2.0
 rho: 1.0
 epsilon: 1e-6
 #parameters for calcmu
 params:
  nwarm:
   value: 100
   type: int
  npass:
   value: 400
   type: int

#file prefix this simulation should use
#(all input and output files are assigned
#with this prefix)
# mandatory
prefix: kagome.5x5-U1.

#the maximum dtau value the simulation
#should use. This is important for the
#error (O(dtau^2))
# optional
# default: 0.1
dtaumax: 0.1

#template input file from which all
#simulations are derived if no
#${indir}/${prefix}${beta}.in is given
# mandatory
input: kagome.5x5.in

#the directory in which all logfiles are
#stored. Currently the submission script
#is in charge of logging, which means that
#the output should be pipped into the
#${log} variable
# optional
# default: .
logdir: log

#directory where the input files are stored
#or loaded from
# optional
# default: .
indir: in

#directory where the input files are stored
#before any pre-processing was performed.
#Currently the only pre-processing step is
#calcmu.
# optional
# default: .
predir: pre

#the script which is used for submitting the
#jobs. The current supported grid scheduler is
#sun grid engine (qsub). The script gets the
#variables ${casedir} (root directory of the
#simulations), ${log} (path to logfile) and
#${beta} (temperature)
# mandatory
subscript: sub.qsub

Installation

To install PyMPDQMC on your system be sure you have the following requirements

  • cmake >= 3.1
  • python2
  • f2py and f90wrap
  • linear algebra library MKL or blas
  • OpenMP
  • c++ and fortran compiler

The scripts itself uses some python module which should be installed automatically. Make sure you have permissions for that. A way to install it is

mkdir build
cd build
cmake ..
make
make install

About

This is a python module for wrapping the example 'ggeom' executable of the quest DQMC (Determinant Quantum Monte Carlo) simulator. It allows to run different temperature calculations in parallel by automatically submitting it through an sbatch script on a cluster.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published