Skip to main content

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

Project description

SIESTAstepper

PyPI version PyPI pyversions PyPI download month PyPI download week PyPI download day GitHub all releases GitHub contributors CodeFactor 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

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.update_cwd("path/to/working/directory")

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

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

#Sets Anaconda environment
SIESTAstepper.update_conda("envir")

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

#Sets the filenames to copy
SIESTAstepper.contfiles.extend(["file1", "file2"])

# 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

python -m SIESTAstepper run log graphene mpirun=4

python -m SIESTAstepper run log graphene conda=envir

python -m SIESTAstepper run_next log 1 graphene

python -m SIESTAstepper run_next log 1 graphene contfiles=file1,file2

python -m SIESTAstepper run_next log 1 graphene mpirun=4

python -m SIESTAstepper run_next log 1 graphene conda=envir

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 run_interrupted log 1 graphene cont=continue

python -m SIESTAstepper run_interrupted log 1 graphene cont=continue contfiles=file1,file2

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

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-1.1.0.tar.gz (23.1 kB view hashes)

Uploaded Source

Built Distributions

SIESTAstepper-1.1.0-py3.10.egg (22.9 kB view hashes)

Uploaded Source

SIESTAstepper-1.1.0-py3-none-any.whl (22.1 kB view hashes)

Uploaded Python 3

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