Skip to main content

SIESTAstepper runs SIESTA step by step, designed for constrained calculations.

Project description

SIESTAstepper

PyPI version PyPI pyversions Python package codecov Codacy Badge PyPI download month PyPI download week PyPI download day GitHub all releases GitHub contributors CodeFactor Codacy Badge PyPI license DOI

SIESTAstepper runs SIESTA step by step, designed for constrained calculations.

Installation

Use the package manager pip to install SIESTAstepper.

$ pip install SIESTAstepper

# to make sure you have the latest version
$ pip install -U SIESTAstepper

# latest available code base
$ 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

# Sets the path of the working directory
SIESTAstepper.settings.set_cwd("path/to/working/directory")

# Sets the name of SIESTA log files (default is "log")
SIESTAstepper.settings.set_log("log")

# Sets number of cores for parallel run
SIESTAstepper.settings.set_cores(4)

# Sets Anaconda environment
SIESTAstepper.settings.set_conda("envir")

# Sets the subfolder name for interrupted calculations (default is "continue")
SIESTAstepper.settings.set_cont("continue")

# Sets the SIESTA command name (default is "siesta")
SIESTAstepper.settings.set_siesta("siesta_p")

# Sets the filenames to copy (useful for interrupted calculations)
SIESTAstepper.settings.contfiles.extend(["file1", "file2"])

# Sets the extensions to copy (useful for interrupted calculations, default is ["psf, "fdf"]
SIESTAstepper.settings.contextensions.extend(["DM", "XV", "CG", "LWF"])

# Runs SIESTA step by step
SIESTAstepper.run("graphene")

# Converts last geometry of an ANI to FDF by using the previous FDF and ANI files
SIESTAstepper.ani_to_fdf("path/to/ANI", "path/to/FDF", "path/to/newFDF")

# Converts XYZ to FDF by using the previous FDF and XYZ files
SIESTAstepper.xyz_to_fdf("path/to/XYZ", "path/to/FDF", "path/to/newFDF")

# Merges ANI files
SIESTAstepper.merge_ani(label = "graphene")

# Merges ANI files by setting a path
SIESTAstepper.merge_ani(label = "graphene", path = "path/to/i*/ANI/files")

# Runs SIESTA for a given step
SIESTAstepper.run_next("1", "graphene")

# Runs SIESTA for a given step without continuing to next step
SIESTAstepper.single_run("1", "graphene")

# Continues to an interrupted calculation without continuing to next step
SIESTAstepper.single_run_interrupted("1", "graphene")

# Continues to an interrupted calculation
SIESTAstepper.run_interrupted("1", "graphene")

# Creates folders named i1, i2, i3, i4, i5, ...
SIESTAstepper.make_directories(5)

# Copies files from i1 to i2
SIESTAstepper.copy_files(["psf", "fdf", "XV", "DM"], "graphene", "path/to/i1", "path/to/i2")

# Plots and returns energies from log files
SIESTAstepper.analysis()

# Returns energies from log files without plotting
SIESTAstepper.analysis(plot_ = False)

# Plots and returns energies from log files by setting a path
SIESTAstepper.analysis(path = "path/to/i*/log/files")

# Calculates the energy differences between minima and maxima
SIESTAstepper.energy_diff()

# Calculates the energy differences between minima and maxima by setting a path
SIESTAstepper.energy_diff(path = "path/to/i*/log/files")

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 analysis log

$ python -m SIESTAstepper analysis log cont=continue

$ python -m SIESTAstepper analysis log noplot

$ python -m SIESTAstepper 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

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_7108058,
  author       = {Eftal Gezer},
  title        = {eftalgezer/SIESTAstepper: v2.0.0},
  month        = sep,
  year         = 2022,
  publisher    = {Zenodo},
  version      = {v2.0.0},
  doi          = {10.5281/zenodo.7108058},
  url          = {https://doi.org/10.5281/zenodo.7108058}
}

License

GNU General Public License v3.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

SIESTAstepper-2.0.0.tar.gz (25.2 kB view details)

Uploaded Source

Built Distributions

SIESTAstepper-2.0.0-py3.10.egg (26.7 kB view details)

Uploaded Source

SIESTAstepper-2.0.0-py3-none-any.whl (23.8 kB view details)

Uploaded Python 3

File details

Details for the file SIESTAstepper-2.0.0.tar.gz.

File metadata

  • Download URL: SIESTAstepper-2.0.0.tar.gz
  • Upload date:
  • Size: 25.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.6

File hashes

Hashes for SIESTAstepper-2.0.0.tar.gz
Algorithm Hash digest
SHA256 71e33578eb7be1d23f3087005443980c44a92afbd00e6cf3b61b43f4fa70e1f0
MD5 6241941786e340492d4003faa5b18c82
BLAKE2b-256 5d07ec55b227fc1ca1db10c20da723242feca398991ccc253c0d8e8f12419f33

See more details on using hashes here.

File details

Details for the file SIESTAstepper-2.0.0-py3.10.egg.

File metadata

  • Download URL: SIESTAstepper-2.0.0-py3.10.egg
  • Upload date:
  • Size: 26.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.6

File hashes

Hashes for SIESTAstepper-2.0.0-py3.10.egg
Algorithm Hash digest
SHA256 93229c69590f227a2428a92e5c0f70cd341d25b23bdc99863ba64594834a477d
MD5 f37dfb6300ab2d3a635d92e8f5ff2cf9
BLAKE2b-256 0d4dec2904058ce4d618011a548bac49e28f0c236b3d4810ddfa588826690a72

See more details on using hashes here.

File details

Details for the file SIESTAstepper-2.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for SIESTAstepper-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 de3c6ae7cdec00178ecd805d8abd82422d9841599820c064156d65bdd16a0c4b
MD5 4830700ce9c3f95b6e775018b1adb734
BLAKE2b-256 cd294cc422e91fb9c9542c4b79df0e2bf9c439b44a6b3538bcb500fc8d8798b5

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page