Born Oppenheimer Molecular Dynamics
Procedures
- Make a directory for the Born Oppenheimer Molecular Dynamics (BOMD) calculations and go to that directory.
- Create a data file that describes molecular system in XYZ file format.
- If the data file named with “test.gjf” is in Gaussian Input format, you can covert it to XYZ format using:
~/mopac/gjfcom2xyz.py test.gjf
; - To convert multiple Gaussian input files ending with “.gjf”:
for i in *.gjf; do ~/mopac/gjfcom2xyz.py $i; done
.
- If the data file named with “test.gjf” is in Gaussian Input format, you can covert it to XYZ format using:
- Create files and folders for one or more XYZ files to conduct BOMD calculations in parallel using
~/mopac/pm6bomd_parallel.py charge multiplicity temperature1 temperature2 temperature 3 ...
.- charge: An integer that represents the charge of all xyz files.
- multiplicity: An integer that shares by all the xyz files calculated using 2S+1.
- temperature: Specify at least 1 temperature. If multiple temperatures exist, multiple trajectories will be generated under all different temperatures for all xyz files in the current directory.
- Edit the time, partition and account in “parallel_run.sh” if needed.
- Submit the BOMD tasks using
sbatch parallel_run.sh
.
Additional Keywords
- If job fails because of not self-consistency, add
mopac_keywords: "camp"
to “anneal.yaml” file.- One way to achieve that is to delete the pound sign “#” on line 15 of “~/mopac/pm6bomd_parallel.py” before Procedure 3. To show the line number, type
:set nu
directly after open the file usingvi
. - Another way to add the keyword to multiple anneal.yaml files under subdirectories is
for i in d*/anneal.yaml; do echo 'mopac_keywords: "camp"' >> $i; done
.
- One way to achieve that is to delete the pound sign “#” on line 15 of “~/mopac/pm6bomd_parallel.py” before Procedure 3. To show the line number, type
- If need to fix specific atoms such as atom 58 and 65 for a 65-atom molecule during the BOMD calculations, add keywords
md_region: "1-57,59-64"
andtrajectory_selection: "1-65"
to “anneal.yaml” file.- One way to achieve that is to delete the pound sign “#” on line 16 and 17 and edit the atomic numbers of “~/mopac/pm6bomd_parallel.py” before Procedure 3.
- Another way is to add these keywords to multiple anneal.yaml files under subdirectories is to use command:
for i in d*/anneal.yaml; do echo 'md_region: "1-57,59-64"' >> $i; echo 'trajectory_selection: "1-65"' >> $i; done
.
Process Output
After the task completes, you can see the output file named with “trajectory_anneal.xyz” in each sub-directory.
- Get snapshots and pick distinct conformers:
- In the same directory created in Procedures 1, type
~/mopac/traj2xyzs.py 100
. This script will go through current and all direct sub-directories containing “trajectory_anneal.xyz” to extract one geometry from every 100 geometries and write it to new sub-directories. - Run machine learning scripts to pick conformers.
- In the same directory created in Procedures 1, type
- Measure distances.