Package: vasp-manager
__      __             __  __
 \ \    / /            |  \/  |
  \ \  / /_ _ ___ _ __ | \  / | __ _ _ __   __ _  __ _  ___ _ __
   \ \/ / _` / __| '_ \| |\/| |/ _` | '_ \ / _` |/ _` |/ _ \ '__|
    \  / (_| \__ \ |_) | |  | | (_| | | | | (_| | (_| |  __/ |
     \/ \__,_|___/ .__/|_|  |_|\__,_|_| |_|\__,_|\__, |\___|_|
                 | |                              __/ |
                 |_|                             |___/ v1.1.4Automatically runVASPrelaxation, static, bulk moduli, or elastic constant
calculationsHow to InstallCreate a new environment with python version $\geq$ 3.10Clone this repositoryRunpip install -e .or optionallypip install -e .[dev]to include
packages needed for development/contributionThis package is also available onPyPi. To install, runpip install vasp-manager.User GuideThis package serves to automateVASPcalculations.VASPinput creation is
automatic, and so is job submission, queue monitoring, calculation analysis, and
storage of the results. Simply rerun the main script and any calculations that
are ready for the next type of calculation will be created and submitted.VaspManagerThe main class for handling all calculations isvasp_manager.VaspManager,
which takes in a list of calculation types and material paths. See the class
documentation for more details. By default, results are exported tocalculations/results.json.The bulk moduli analysis is carried out in the backend using the open-sourcepymatgensoftware to fit an EOS and elastic constant analysis using custom
scripts.Calculation ModesWe include calculation modes"rlx-coarse","rlx","static","bulkmod",
and"elastic".  The desired modes to calculate are specified when
initializing aVaspManagerobject.rlx-coarse: lower precision energy-based relaxationrlx: tighter force-based relaxationstatic: high accuracy static SCF calculationbulkmod: bulk modulus calculation using an Equation of State (EOS) fit to an
energy-volume curveCan be run as a standalone (no relaxation required) calculation of bulk
modulus using an EOS (although this is not recommended unless you are sure
the cell volume is very close to the equilibrium value)elastic: Determination of elastic constants using the strain/deformation
method built intoVASPI generally recommend starting fromrlx-coarse, although the functionality is
there to start arlxcalculation from the initially provided POSCAR.Most users' workflows followrlx-coarse→rlx→static. The
modesstatic,bulkmod, andelasticcan all be run independently of each
other. For example, workflows might look likerlx-coarse→rlx→static→bulkmod, orrlx→elastic, or simplybulkmod.
Theelasticmode requires at leastrlxpreceding it in order to guarantee
converged lattice parameters and atomic positions.Usage GuideIn order to use this package, you MUSTCreate a calculations folder where you'd like to run your calculations.  Each
subfolder ofcalculations/should have a unique name and contain aPOSCAR. A
sample method of creating the calculations folder from ajsonwith names and
cifs is available inrun_vasp_calculations.py, and an example calculations
folder is provided incalculations/.Configurecomputing_config.jsonand place it in thecalculations/directory.  You will need to specify youruser_id, apotcar_directory, aqueuetype, yourallocationand avasp_module(VASP 6 strongly
recommended). As of now, only Perlmutter and Bridges2 at NERSC and QUEST at
Northwestern University are supported. Any other SLURM based supercomputers can
be easily added, but modifications could be made for other queue management
systems.If desired, make modifications tocalc_config.json. This must also be
placed in thecalculations/directory. Each mode has its own configuration
settings with sensible defaults, but these can be easily customized by the user.To include spin polarization, set"ispin": "auto"incalc_config.json; otherwise set"ispin": 1. With this setting, all
elements with valencedorfelectrons will start with initial magnetic
moments of 5 and 7 $\mu_B$, respectively.VaspManageralso accepts an
additional argumentmagmom_per_atom_cutoffwhich defaults to 0. If this
argument is passed,rlxcalculations that finish with a magmom per atom
less than this value with be re-run without spin polarization. This argument
only affectsrlxcalculations, and the spin setting for followingstatic,bulkmod, orelasticcalculations is inferred from the finalrlxcalculation.To include DFT+U for transition metal oxides, set"hubbards": "wang";
otherwise, set"hubbards": null.  Currently, only"gga": "PE"(PBE) is
supported.To manually stopVaspManagerfrom processing a material, place aSTOPfile
in that material's directory: e.g.calculations/NaCl/STOP.The module logger is also made available for information and debugging and can
be accessed throughlogging.getLogger("vasp_manager").NotesThe current implementation has only been tested on Linux and Mac OS.At this point, KPOINT generation is handled through the KSPACING tag in the
INCAR, but future versions will be able to specify KPPRA or a manual grid
instead. Spin-orbit coupling calculations are also not currently supported.For those using Quest, I recommend using you own pre-compiled version ofVASPrather than the QuestVASPmodule. For those in the Wolverton Group,
consider using thequest-hotfixbranch.\\ TODO: Implementband-structurecalculations and possiblyphonopycalculations