Skip to main content

Executable command-line scripts for working with the exciting code.

Project description

excitingscripts

excitingscripts is a collection of various python scripts for executing various tasks with the exciting code from the command line.

Installation

excitingscripts can be installed directly from PyPI:

pip install excitingscripts

Alternatively, it can be installed from the exciting source:

cd $EXCITINGROOT/tools/excitingscripts
pip install -e .

Script Listing

SETUP

setup.band_structure

Add band structure element to given input file by getting the band path from the input structure.

Located at excitingscripts/setup/band_structure.py.

Call as:

python3 -m excitingscripts.setup.band_structure

setup.convergence_test

Generate input files with different values of the main computational parameters.

Located at excitingscripts/setup/convergence_test.py.

Call as:

python3 -m excitingscripts.setup.convergence_test k_i k_f rgkmax_i rgkmax_f

Where k_i and k_f are the initial and final k-values for defining the groundstate attribute ngridk, and rgkmax_i and rgkmax_f the initial and final values for the groundstate attribute rgkmax.

setup.dft_05

Generate a set of input files varying the attribute cut.

Located at excitingscripts/setup/dft_05.py.

Call as:

python3 -m excitingscripts.setup.dft_05 r_cut_min r_cut_max number_r_cut_steps -s species -r root_dir

Where r_cut_min and r_cut_max are the minimum and maximum values for r_cut, number_r_cut_steps is the number of r_cut values for which input files are generated, species is the species with regard to which r_cut is varied and root_dir is the root directory.

setup.dos_band_structure

Add DOS and band structure element to given input file by getting the band path from the input structure.

Located at excitingscripts/setup/dos_band_structure.py.

Call as:

python3 -m excitingscripts.setup.dos_band_structure

setup.excitingroot

Replace placeholder "$EXCITINGROOT" in input.xml files by actual path.

Located at excitingscripts/setup/excitingroot.py.

Call as:

python3 -m excitingscripts.setup.excitingroot

setup.interlayer_distance

Generate structures with different interlayer distances.

Located at excitingscripts/setup/interlayer_distance.py.

Call as:

python3 -m excitingscripts.setup.interlayer_distance dmin dmax nr_displ dinfty

Where dmin and dmax are the minimum and maximum values for the interlayer distance, nr_displ is the number of distances in the interval [dmin, dmin] and dinfty is the interlayer distance at infinity.

setup.volume_optimization

Generate structures at different volumes.

Located at excitingscripts/setup/volume_optimization.py.

Call as:

python3 -m excitingscripts.setup.volume_optimization nr_vol

Where nr_vol is the number of volume values for which structures are generated by varying the lattice constant.

EXECUTE

execute.convergence_test

Run a series of exciting calculations with different values of the main computational parameters.

Located at excitingscripts/execute/convergence_test.py.

Call as:

python3 -m excitingscripts.execute.convergence_test k_i k_f rgkmax_i rgkmax_f

Where k_i and k_f are the initial and final k-values for defining the groundstate attribute ngridk, and rgkmax_i and rgkmax_f the initial and final values for the groundstate attribute rgkmax.

execute.elastic_strain

Run a series of exciting calculations with different strain values.

Located at excitingscripts/execute/elastic_strain.py.

Call as:

python3 -m excitingscripts.execute.elastic_strain 

execute.planar_average

Extract planar-averaged electrostatic potential in a given direction.

Located at excitingscripts/execute/planar_average.py.

Call as:

python3 -m excitingscripts.execute.planar_average direction

Where direction is the direction along which the plane-averaged potential will be visualized.

execute.single

Run a single exciting calculation.

Located at excitingscripts/execute/single.py.

Call as:

python3 -m excitingscripts.execute.single -r rundir

Where rundir is an optional parameter which specifies the running directory. If rundir is not specified, the calculation will run in the directory where the script is called.

execute.volume_optimization

Run a series of exciting calculations for structures with different volumes.

Located at excitingscripts/execute/volume_optimization.py.

Call as:

python3 -m excitingscripts.execute.volume_optimization nr_vol

Where nr_vol is the number of volume values for which structures are generated by varying the lattice constant.

PLOT

plot.band_structure

Visualize band-structure.

More details can be found here.

Located at excitingscripts/plot/band_structure.py.

Call as:

python3 -m excitingscripts.plot.band_structure

plot.compare_vdW

Visualize multiple energy-vs-distance curves.

Located at excitingscripts/plot/compare_vdW.py.

Call as:

python3 -m excitingscripts.plot.compare_vdW -f file_name -r dir1 dir2 dir3

plot.convergence

Visualize convergence results.

Located at excitingscripts/plot/convergence.py.

Call as:

python3 -m excitingscripts.plot.convergence plot_mode

Where plot_mode is either k for plotting energy curves with varying values of the groundstate attribute ngridk, r for varying values of the groundstate attribute rgkmax or rk for a 3D plot with varying values of both attributes.

plot.dos

Visualize desisty of states.

More details can be found here.

Located at excitingscripts/plot/dos.py.

Call as:

python3 -m excitingscripts.plot.dos

plot.energy

Visualize energy-vs-strain curves.

Located at excitingscripts/plot/energy.py.

Call as:

python3 -m excitingscripts.plot.energy

plot.exciton_weights

Visualize energy-vs-strain curves.

Located at excitingscripts/plot/exciton_weights.py.

Call as:

python3 -m excitingscripts.plot.exciton_weights structure_name file_name energy_min energy_max exciton_weights_size

Where structure_name is the name of the structure, file_name is the name of the file containing data needed for exciton visualization, energy_min and energy_max are the minimum and maximum energy values for setting plot axis limits, and exciton_weights_size is the size of excitonic weights.

plot.files

Visualize data included in different files and different directories.

More details can be found here.

Located at excitingscripts/plot/files.py.

Call as:

python3 -m excitingscripts.plot.files

plot.newbirch

Fit energy-vs-volume curves using the Birch-Murnaghan equation of state (BM-EoS) in polynomial form.

Located at excitingscripts/plot/newbirch.py.

Call as:

python3 -m excitingscripts.plot.newbirch

plot.spintext

Produce plot of the spin texture.

Located at excitingscripts/plot/spintext.py.

Call as:

python3 -m excitingscripts.plot.spintext -b ib -c context 

Where ib defines the band index for the plot and context defines the context of the contour plot. Choises are energy and spin_z.

plot.volumecurves

Fit energy-vs-volume curves.

Located at excitingscripts/plot/volumecurves.py.

Call as:

python3 -m excitingscripts.plot.volumecurves -r dir1 dir2 dir3

Where dir1, dir2, dir3 take the place of the names of the directories where exciting calculations have been performed. The script can be used for any number of directories.

Other Scripts

compare_transition_energies

Determine the transition energies for the transitions Γ→Γ and Γ→X for given directories in which exciting calculations have been performed.

Located at excitingscripts/compare_transition_energies.py.

Call as:

python3 -m excitingscripts.compare_transition_energies -r dir1 dir2 dir3

Where dir1, dir2, dir3 take the place of the names of the directories where exciting calculations have been performed, which need to be specified in order to calculate the transition energies. The script can be used for any number of directories.

convert_xml2xsf

Convert xml files to xsf.

Located at excitingscripts/convert_xml2xsf.py.

Call as:

python3 -m excitingscripts.convert_xml2xsf -f file -d dimension

Where file is the xml file to be converted to xsf and dimension is the dimension of plot sub-element in the properties element for a given exciting calculation.

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

excitingscripts-0.1.0.tar.gz (40.6 kB view details)

Uploaded Source

Built Distribution

excitingscripts-0.1.0-py3-none-any.whl (54.0 kB view details)

Uploaded Python 3

File details

Details for the file excitingscripts-0.1.0.tar.gz.

File metadata

  • Download URL: excitingscripts-0.1.0.tar.gz
  • Upload date:
  • Size: 40.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.7.13

File hashes

Hashes for excitingscripts-0.1.0.tar.gz
Algorithm Hash digest
SHA256 6aaf2cd4c94a861d5b2fb396565086d67c6f53e7f56b987b4cdfa14989dc1a59
MD5 efebb3603d269324b39d3254fae64a81
BLAKE2b-256 b205453a04ce27ae46eb859323421e91ab98ee0e5951991393ab98d39932f64e

See more details on using hashes here.

File details

Details for the file excitingscripts-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for excitingscripts-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fa2d39393fb5ea993885b92a8d0fccfc5bfd01635e9fb814b43a47a31b3e3016
MD5 d4bfc07becfa37ed56f5099ff0fdfe17
BLAKE2b-256 c50bf26366b5989211cf714c8866194e8d7723025fcf1a55b7c582f2ed856ee2

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