TurboGenius
is an advanced python wrappers for the SISSA ab-initio quantum Monte Carlo code, TurboRVB
and also provides useful command-line tools.
TurboRVB
software family is now composed of the 4 layered packages:
TurboWorkflows
(Workflows for realizing QMC high-throughput calculations)TurboGenius
(Advanced python wrappers and command-line tools)pyturbo
(Python-Fortran90 wrappers)TurboRVB
(Quantum Monte Carlo kernel)
TurboGenius
is the third layer package, which also contains the second layer package pyturbo
inside as a submodule.
This is a beta version!!!! Contact the developers whenever you find bugs. Any suggestion is also welcome!
One can manage any job of TurboRVB
on python scripts, or on your terminal using the provided command line tool turbogenius
.
For python users, several one-to-one corresponding python modules (classes) are provided, i.e., makefort10.x
-> Makefort10_genius
class in makefort10_genius.py
, turborvb.x
-> vmc_genius
class in vmc_genius.py
. TurboGenius
is designed as a higher layer package that provide several complicated procedures and functions such as fully automatic workflows. Turbo-Genius
is implemented based on the lower layer packages pyturbo
and TurboRVB
. You can see several examples of TurboGenius
scripts in the tests
directory. You can also see several simple workflows using TurboGenius
in the tests
directory.
Installing from source
git clone https://github.com/kousuke-nakano/turbogenius.git
cd turbogenius
pip install -e . or pip install .
Lauching the command line tool. You can easily see what commands are implemented in TurboGenius
.
% turbogenius --help
Usage: turbogenius [OPTIONS] COMMAND [ARGS]...
Options:
--help Show this message and exit.
Commands:
convertfort10 convertfort10_genius
convertfort10mol convertfort10mol_genius
convertpfaff readforward_genius
convertwf convert wavefunction
correlated-sampling correlated_sampling_genius
lrdmc lrdmc_genius
lrdmcopt lrdmc_genius
makefort10 makefort10_genius
prep prep_genius
vmc vmc_genius
vmcopt vmcopt_genius
You can also see what options are implemented for each command, e.g., vmcopt
% turbogenius vmcopt --help
Usage: turbogenius vmcopt [OPTIONS]
Options:
-post Postprocess
-r Run a program
-g Generate an input file
-vmcoptsteps INTEGER Specify vmcoptsteps
-optwarmup INTEGER Specify optwarmupsteps
-steps INTEGER Specify steps per one iteration
-bin INTEGER Specify bin_block
-warmup INTEGER Specify warmupblocks
-nw INTEGER Specify num_walkers
-maxtime INTEGER Specify maxtime
-optimizer TEXT Specify optimizer, sr or lr
-learn FLOAT Specify learning_rate
-reg FLOAT Specify regularization
-opt_onebody flag for opt_onebody
-opt_twobody flag for opt_twobody
-opt_det_mat flag for opt_det_mat
-opt_jas_mat flag for opt_jas_mat
-opt_det_basis_exp flag for opt_det_basis_exp
-opt_jas_basis_exp flag for opt_jas_basis_exp
-opt_det_basis_coeff flag for opt_det_basis_coeff
-opt_jas_basis_coeff flag for opt_jas_basis_coeff
-twist flag for twist_average
-kpts INTEGER... kpts, Specify Monkhorst-Pack grids and shifts, [nkx,nky,nkz,kx,ky,kz]
-plot flag for plotting graph
-log TEXT logger level, DEBUG, INFO, ERROR
--help Show this message and exit.
One can manage any job of TurboRVB
on python scripts. There are one-to-one corresponding python modules (classes), i.e., makefort10.x
-> Makefort10
class in makefort10.py
, convertfort10.x
-> Convertfort10mol
class in convertfort10mol.py
. pyturbo
is designed as a lower layer package such that the modules can be used as components of higher-level packages. Indeed, the classes are implemented as simple but flexible as possible. Other complicated methods and modules such as fully automatic workflows should be provided at the higher-level packages such as TurboGenius
. You can see several examples of pyturbo
scripts in the tests
directory.
git clone this repository
cd turbogenius
pip install -e .
orpip install .
Examples are in the example
directory.
You can readily understand how to use pyturbo
and turbogenius
by looking at the sample python scripts in the example
directory.
You can also see our tutorials [https://github.com/kousuke-nakano/turbotutorials].
There is a Read the Docs in the docs
directory, but still in progress.
You can generate a html file using sphinx
. Go to the docs
directory,
and type make html
. The document is generated in docs/_build/html
.
index.html
is the main page.
K. Nakano et al., TurboGenius: Python suite for high-throughput calculations of ab initio quantum Monte Carlo methods, J. Chem. Phys. 159, 224801 (2023).
Please do not directly push your changes to main
and devel
branch.
Please create a pull request on GitHub from your forked repository or a new branch (e.g. devel-#1
).
# Confirm the version number via `setuptools-scm`
python -m setuptools_scm
e.g., 1.1.4.dev28+gceef293.d20221123 -> <next-version> = v1.1.4 or v1.1.4-alpha(for pre-release)