Skip to content

leojbeck/lammps_pre_post_processing

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, '<path_to_script>node_list.sh '

About

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

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published