An open API service indexing awesome lists of open source software.

https://github.com/leojbeck/lammps_pre_post_processing

Pre and post processing scripts for running lammps simulations through slurm. Written primarily in Python and Bash
https://github.com/leojbeck/lammps_pre_post_processing

lammps lammps-input materials-science materials-studio molecular-dynamics slurm-job-scheduler

Last synced: 3 months ago
JSON representation

Pre and post processing scripts for running lammps simulations through slurm. Written primarily in Python and Bash

Awesome Lists containing this project

README

          

# lammps_pre_post_processing
Pre and post processing scripts for running LAMMPS simulations through slurm. Scripts are divided into subdirectories based on usage. Most are focused specifically on Hybrid Organic Inorganic Perovskites (HOIPs).

## structure_editors
*contains scripts that directly create or edit MD input files.*

- **triple-halide_perovskite_builder.py** creates lammps data files of CsPb(I_{1-x-y}Br_{y}Cl_{x})_3 cubic perovskites. It is intended as a standalone script, so the percentages for Br and Cl, cell_parameters, element charges, and masses are written in variables. The charges on the swapped atoms affect the charges on the neighboring atoms, split by the amount of nearest neighbors.
- **halogen_positioning_HOIP.py** edits a master .car .mdf pair to create all the mono and di halogenated placement combinations on the organic rings. The placements and halogen charges can be easily edited.
- **MBA_chirality_alteration.py** Takes in a .car .mdf pair to create 1) the opposite chirality and 2) no methyl group versions.
- **HOIP_layered_packmol-comment.inp** packmol input script that creates a bilayer of organic between an inorganic layer.

## slurm_scripts
*contains scripts that are used to prep / submit jobs while on the HPC.*

- **hoip_array.sh** takes a folder of .car .mdf pairs and preps and runs lammps simulations for all of them. It converts each to a .data file using msi2lmp.exe, creates a designated folder, and submits the job via slurm.
- **batch_job_arr.script** Slurm array batch script to submit a list of lammps simulations at once. Used in conjunction with hoip_array.sh.
- **slurm_auto_rerun.sh** This submits a job that is expected to take longer than the wall time. When it approaches wall time, it cancels the running job and restarts the job. Needs to be paired with an input file that checks if the restart files exist (see lammps_auto_restart.inp)
- **lammps_auto_restart.inp** lammps input script that checks if the restart files exist. If so, it starts from the restart files. Otherwise, it will start from the data file.

## analysis_scripts
*contains post-processing files. Typically operate on log, .out, or trajectory files.*

- **last_avg_pproc_fold.py** takes a directory input and searches every subdirectory to create a csv from each lammps .out file, then creates a master csv that contains the last line and back half average from each individual .out it parses.
- **perov_struct_analysis.py** is a structural analysis script for HOIPs. Takes a lammps trajectory file (.dump) as input. Finds (among other things) lattice parameters, layer heights, organic tilts, and octahedral tilts. Outputs plots from averages and time series.

## miscellaneous
*contains files that are not directly related to HOIPs, but are adjacently useful.*

- **accelrys_license_check.cmd** Checks the current users of the Accelrys Materials Studio floating licenses. Runs on double click.
- **node_list.sh** Prints out the used and available cpus per node when given a partition. Will highlight your usage green. To run on slurm system, 'node_list.sh '