SIESTAstepper
![DOI](https://zenodo.org/badge/532944393.svg)
SIESTAstepper runs SIESTA step by step, designed for constrained calculations.
Installation
Use the package manager pip to install SIESTAstepper.
$ pip install SIESTAstepper
$ pip install -U SIESTAstepper
$ pip install -U git+https://github.com/eftalgezer/SIESTAstepper.git
Tutorial
Usage
All SIESTA working directories must be named as i1, i2, i3 ... and so on.
In code
Simple usage
SIESTAstepper.run("graphene")
Advance usage
import SIESTAstepper
SIESTAstepper.settings.set_cwd("path/to/working/directory")
SIESTAstepper.settings.set_log("log")
SIESTAstepper.settings.set_cores(4)
SIESTAstepper.settings.set_conda("envir")
SIESTAstepper.settings.set_cont("continue")
SIESTAstepper.settings.set_siesta("siesta_p")
SIESTAstepper.settings.set_contfrom("ANI")
SIESTAstepper.settings.contfiles.extend(["file1", "file2"])
SIESTAstepper.settings.contextensions.extend(["DM", "XV", "CG", "LWF"])
SIESTAstepper.run("graphene")
SIESTAstepper.ani_to_fdf("path/to/ANI", "path/to/FDF", "path/to/newFDF")
SIESTAstepper.xyz_to_fdf("path/to/XYZ", "path/to/FDF", "path/to/newFDF")
SIESTAstepper.merge_ani(label = "graphene")
SIESTAstepper.merge_ani(label = "graphene", path = "path/to/i*/ANI/files")
SIESTAstepper.ani_to_gif(anifile="graphene.ANI")
SIESTAstepper.ani_to_gif(anifile="graphene.ANI", width=1920, height=1080)
SIESTAstepper.ani_to_gif(anifile="graphene.ANI", bonds_param=1.3)
SIESTAstepper.ani_to_gif(anifile="graphene.ANI", loop=1)
SIESTAstepper.ani_to_gif(anifile="graphene.ANI", camera=((40, 0, 0),
(0, 0, 0),
(0, 1, 0)))
SIESTAstepper.run_next("1", "graphene")
SIESTAstepper.single_run("1", "graphene")
SIESTAstepper.single_run_interrupted("1", "graphene")
SIESTAstepper.run_interrupted("1", "graphene")
SIESTAstepper.make_directories(5)
SIESTAstepper.copy_files(["psf", "fdf", "XV", "DM"], "graphene", "path/to/i1", "path/to/i2")
SIESTAstepper.energy_analysis()
SIESTAstepper.energy_analysis(plot_ = False)
SIESTAstepper.energy_analysis(path = "path/to/i*/log/files")
SIESTAstepper.energy_diff()
SIESTAstepper.energy_diff(path = "path/to/i*/log/files")
SIESTAstepper.force_analysis(atomindex="Tot", forcetype="atomic")
SIESTAstepper.force_analysis(plot_ = False)
SIESTAstepper.force_analysis(path = "path/to/i*/log/files")
SIESTAstepper.force_diff(atomindex="Tot", forcetype="atomic")
SIESTAstepper.force_diff(path = "path/to/i*/log/files")
SIESTAstepper.pair_correlation_function(label="graphene")
SIESTAstepper.pair_correlation_function(label="graphene", plot_=True)
SIESTAstepper.pair_correlation_function(label="graphene", path="path/to/i*")
SIESTAstepper.pair_correlation_function(label="graphene", dr=0.1)
In terminal
Simple usage
$ python -m SIESTAstepper run log graphene
Advance usage
$ python -m SIESTAstepper run log graphene
$ python -m SIESTAstepper run log graphene contfiles=file1,file2 contextensions=DM,XV,CG,LWF
$ python -m SIESTAstepper run log graphene mpirun=4
$ python -m SIESTAstepper run log graphene conda=envir
$ python -m SIESTAstepper run log graphene siesta=siesta_p
$ python -m SIESTAstepper run_next log 1 graphene
$ python -m SIESTAstepper run_next log 1 graphene contfiles=file1,file2 contextensions=DM,XV,CG,LWF
$ python -m SIESTAstepper run_next log 1 graphene mpirun=4
$ python -m SIESTAstepper run_next log 1 graphene conda=envir
$ python -m SIESTAstepper run_next log 1 graphene siesta=siesta_p
$ python -m SIESTAstepper single_run log 1 graphene
$ python -m SIESTAstepper single_run log 1 graphene mpirun=4
$ python -m SIESTAstepper single_run log 1 graphene conda=envir
$ python -m SIESTAstepper single_run log 1 graphene siesta=siesta_p
$ python -m SIESTAstepper run_interrupted log 1 graphene cont=continue
$ python -m SIESTAstepper run_interrupted log 1 graphene cont=continue contfiles=file1,file2 contextensions=DM,XV,CG,LWF
$ python -m SIESTAstepper run_interrupted log 1 graphene mpirun=4 cont=continue
$ python -m SIESTAstepper run_interrupted log 1 graphene conda=envir cont=continue
$ python -m SIESTAstepper run_interrupted log 1 graphene siesta=siesta_p cont=continue
$ python -m SIESTAstepper single_run_interrupted log 1 graphene cont=continue
$ python -m SIESTAstepper single_run_interrupted log 1 graphene mpirun=4 cont=continue
$ python -m SIESTAstepper single_run_interrupted log 1 graphene conda=envir cont=continue
$ python -m SIESTAstepper single_run_interrupted log 1 graphene siesta=siesta_p cont=continue
$ python -m SIESTAstepper make_directories 5
$ python -m SIESTAstepper copy_files graphene path/to/i1 path/to/i2 psf fdf XV DM
$ python -m SIESTAstepper copy_files graphene path/to/i1 path/to/i2 psf fdf XV DM
$ python -m SIESTAstepper ani_to_fdf path/to/ANI path/to/FDF path/to/newFDF
$ python -m SIESTAstepper xyz_to_fdf path/to/XYZ path/to/FDF path/to/newFDF
$ python -m SIESTAstepper merge_ani graphene
$ python -m SIESTAstepper merge_ani graphene cont=continue
$ python -m SIESTAstepper merge_ani graphene path=path/to/i*/ANI/files
$ python -m SIESTAstepper ani_to_gif graphene.ANI 1920 1080 1 1.3
$ python -m SIESTAstepper ani_to_gif graphene.ANI 1920 1080 1 1.3 camera=40,0,0,0,0,0,0,1,0
$ python -m SIESTAstepper energy_analysis log
$ python -m SIESTAstepper energy_analysis log cont=continue
$ python -m SIESTAstepper energy_analysis log noplot
$ python -m SIESTAstepper energy_analysis log path=path/to/i*/log/files
$ python -m SIESTAstepper energy_diff log
$ python -m SIESTAstepper energy_diff log cont=continue
$ python -m SIESTAstepper energy_diff log path=path/to/i*/log/files
$ python -m SIESTAstepper force_analysis log atomic Tot
$ python -m SIESTAstepper force_analysis log atomic Tot cont=continue
$ python -m SIESTAstepper force_analysis log atomic Tot noplot
$ python -m SIESTAstepper force_analysis log atomic Tot path=path/to/i*/log/files
$ python -m SIESTAstepper force_diff log atomic Tot
$ python -m SIESTAstepper energy_diff log atomic Tot cont=continue
$ python -m SIESTAstepper energy_diff log atomic Tot path=path/to/i*/log/files
Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.
Citation
If you are using SIESTAstepper, please citate relevant version. You can find the relevant citation here.
@software{eftal_gezer_2022_7212472,
author = {Eftal Gezer},
title = {eftalgezer/SIESTAstepper: v2.1.0},
month = oct,
year = 2022,
publisher = {Zenodo},
version = {v2.1.0},
doi = {10.5281/zenodo.7212472},
url = {https://doi.org/10.5281/zenodo.7212472}
}
License
GNU General Public License v3.0
Acknowledgments
ani_to_gif
function uses ANIAnimator.
References
Eftal Gezer. (2022). eftalgezer/ANIAnimator: v0.2.1 (v0.2.1). Zenodo. https://doi.org/10.5281/zenodo.7182193