scalar_codes

Codes for automating standard VASP and VASP-related calculations.

https://github.com/sreeharshab/scalar_codes

Science Score: 57.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 8 DOI reference(s) in README
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.9%) to scientific vocabulary

Keywords

atomistic grain-boundaries materials molecular-simulation surfaces vasp vasp-calculations vasp-processing
Last synced: 6 months ago · JSON representation ·

Repository

Codes for automating standard VASP and VASP-related calculations.

Basic Info
  • Host: GitHub
  • Owner: sreeharshab
  • License: gpl-3.0
  • Language: Python
  • Default Branch: master
  • Homepage:
  • Size: 3.48 MB
Statistics
  • Stars: 8
  • Watchers: 1
  • Forks: 1
  • Open Issues: 0
  • Releases: 0
Topics
atomistic grain-boundaries materials molecular-simulation surfaces vasp vasp-calculations vasp-processing
Created over 2 years ago · Last pushed about 1 year ago
Metadata Files
Readme License Citation

README.md

Installation

Clone this repo using the following commands: cd /path_to_home_directory/ git clone https://github.com/sreeharshab/scalar_codes.git After successful cloning of the repo, open your .bashrc and insert this line: export PYTHONPATH=/path_to_home_directory/scalar_codes:$PYTHONPATH Exit your .bashrc and source it as follows: source .bashrc Note: Ensure that you have Atomic Simulation Environment (ASE), Numpy, Pandas, SciPy and Matplotlib installed in your machine!

Optional: scalarcodes can be used as a package if `/pathtohomedirectory/is appended toPYTHONPATH`.

Resources

There are two parts to this repository. Part 1 is available in pipelines.py and part 2 is available in silicon.py.

Use help(function/class) to get detailed documentation about the resources. Furthermore, there are examples for some of the resources in the examples folder.

The defaults for all VASP related calculations are as follows: gga="PE", lreal="Auto", lplane=True, lwave=False, lcharg=False, ncore=8, prec="Normal", encut=300, ediff=1e-6, algo="VeryFast", ismear=-5, gamma=True
You can change the defaults and add additional settings using opt_levels parameter for geo_opt and surface_charging and using addnl_settings parameter for all other calculations.

Part 1: Automation Codes for VASP Related Calculations

  1. cellopt: Optimizes the size of the simulation cell and provides an equation of state plot.

    <img src="examples/cellopt/eos.png" alt="Description" width="400" height=auto>

  2. axis_opt: Optimizes the size of the required axis of the simulation cell and provides and equation of state plot.

  3. geo_opt: Performs geometry optimization on the system using inbuilt VASP optimizer (default is IBRION=2) or ASE's BFGS optimizer.

  4. bader: Performs bader charge analysis on the system. Charges can be viewed in ACF.dat file or using ase gui and choosing the Initial Charges in the view tab as shown below.

    Description

  5. COHP: Performs Crystal Orbital Hamilton Population analysis on the system using LOBSTER.

    Description

  6. frequency: Performs vibrational analysis on the system using VASP or ASE. Use ASE for calculations involving large systems as it supports a parallel scheme.

  7. surface_charging: Performs surface charging calculation using VASPsol.

  8. gibbsfreeenergy: Gives the gibbs free energy of the system. If surfacecharging is used, the parabola fit is used to obtain the energy vs potential. If geoopt is used, OUTCAR is used to obtain energy. The vibrational energy is obtained using the frequency class. These energies can be used in PyEnergyDiagrams to generate reaction pathways. Follow the following folder structure for the calculations to process the data accurately:

    Description

  9. DOS: Performs a DOS calculation and parses the DOSCAR to get total and projected DOS.

    Description

  10. analyseGCBH: Performs a visual analysis of the results from Grand Canonical Basin Hopping simulation performed using catalapp. The following images are obtained from Bhimineni, S. H.; Ko, S.-T.; Cornwell, C.; Xia, Y.; Tolbert, S. H.; Luo, J.; Sautet, P. First Principles Study of Aluminum Doped Polycrystalline Silicon as a Potential Anode Candidate in Li-ion Batteries. Advanced Energy Materials 2024, 2400924, (https://doi.org/10.1002/aenm.202400924).

    <img src="examples/analyseGCBH/analysishorizontal.png" alt="Image 1" width="300" style="margin: 10px;"> <img src="examples/analyseGCBH/analysis_vertical.png" alt="Image 2" width="150" style="margin: 10px;">

  11. getneighborlist: Provides the neigbor list for the system. Output is provided in Neighbor_List.txt file. Neighbors of each atom, their positions and coordination numbers of each atom are provided based on ASE's natural cutoff distances.

  12. checkruncompletion: Checks for completion of a VASP job at the provided location.

  13. benchmark: Performs computational benchmark of a VASP job.

Part 2: Codes to Study Silicon Systems

  1. createsigma3gb: Creates a Σ3 grain boundary with n layers using topgrain.vasp and bottomgrain.vasp files (available in the examples folder).
  2. slidesigma3gb: Slides Σ3 grain boundary. Serial and parallel runs are implemented. In each run, step and linear schemes are implemented. Note that step scheme is effective for studying the stick-slip sliding behavior and linear scheme is effective for studying elastic deformation.
  3. intercalate_Li: Inserts Li in all the interstice positions of Σ3 grain boundary.
  4. symmetrizeSi100surface: Symmetrizes Si (100) strcuture along z axis. This is necessary to perform surface charging calculations using VASPsol.
  5. cureSisurfacewithH: In order to study Si surfaces, it is essestial to create a bulk like environment far from the surface. To create this environment, we need to add hydrogens to our surface model (with vacuum) to cure the dangling bonds. This code inserts works best for (100) Si surface where it inserts two hydrogens if the coordination of silicon is less than four.

Citing

If you use scalar_codes in your research, please cite the following paper:
Bhimineni, S. H.; Ko, S.-T.; Cornwell, C.; Xia, Y.; Tolbert, S. H.; Luo, J.; Sautet, P. First Principles Study of Aluminum Doped Polycrystalline Silicon as a Potential Anode Candidate in Li-ion Batteries. Advanced Energy Materials 2024, 2400924, (https://doi.org/10.1002/aenm.202400924).

Owner

  • Name: Sree Harsha Bhimineni
  • Login: sreeharshab
  • Kind: user

Graduate student, Prof. Philippe Sautet's lab, University of California, Los Angeles, USA.

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Bhimineni"
  given-names: "Sree Harsha"
  orcid: "https://orcid.org/0009-0008-2943-4570"
- family-names: "Xia"
  given-names: "Yantao"
  orcid:
title: "Scalar Codes"
version:
doi:
date-released:
url: "https://github.com/sreeharshab/scalar_codes"

GitHub Events

Total
  • Watch event: 1
  • Push event: 18
Last Year
  • Watch event: 1
  • Push event: 18