From 87122bc610a3c5a761f77ad8e84a5231b9759820 Mon Sep 17 00:00:00 2001 From: Andrew Jewett Date: Sat, 7 Dec 2024 23:35:02 -0500 Subject: [PATCH] OPLSAA 2023 water models were tested and are working. Numerous examples were debugged and updated. File names and atom type names have changed (for water models, and some examples). --- .../moltemplate_files/system.lt | 16 +++++++---- .../hexadecane/README_setup.sh | 7 +++-- .../moltemplate_files/{ch2group.lt => ch2.lt} | 4 +-- .../moltemplate_files/{ch3group.lt => ch3.lt} | 4 +-- .../moltemplate_files/hexadecane.lt | 4 +-- .../hexadecane/moltemplate_files/system.lt | 1 + .../force_field_AMBER/hexadecane/run.in.npt | 11 ++++++++ .../force_field_AMBER/hexadecane/run.in.nvt | 12 ++++++++ .../waterTIP3P+isobutane/README_setup.sh | 5 ++-- .../moltemplate_files/system.lt | 23 +++++++++++---- .../waterTIP3P+isobutane/run.in.npt | 5 ++-- .../waterTIP3P+isobutane/run.in.nvt | 4 +-- .../moltemplate_files/alkane50.lt | 5 ++-- .../moltemplate_files/{ch2group.lt => ch2.lt} | 0 .../moltemplate_files/{ch3group.lt => ch3.lt} | 0 .../butane/moltemplate_files/butane.lt | 5 ++-- .../moltemplate_files/{ch2group.lt => ch2.lt} | 2 -- .../moltemplate_files/ch3.lt} | 2 -- .../moltemplate_files/{ch2group.lt => ch2.lt} | 0 .../moltemplate_files/ch3.lt} | 0 .../moltemplate_files/hexadecane.lt | 6 ++-- .../moltemplate_files/alkane50.lt | 4 +-- .../moltemplate_files/ch2.lt} | 4 ++- .../moltemplate_files/ch3.lt} | 6 ++-- .../moltemplate_files/benzene.lt | 12 ++++---- .../moltemplate_files/benzoic_acid.lt | 12 +++----- .../moltemplate_files/system.lt | 15 +++++----- .../butane/moltemplate_files/butane.lt | 4 +-- .../moltemplate_files/{ch2group.lt => ch2.lt} | 18 ++++++------ .../moltemplate_files/{ch3group.lt => ch3.lt} | 20 ++++++------- .../moltemplate_files/benzene.lt | 12 ++++---- .../moltemplate_files/ethylene.lt | 25 +++++++++-------- .../moltemplate_files/system.lt | 17 ++++++----- .../moltemplate_files/benzene.lt | 12 ++++---- .../moltemplate_files/ethylene.lt | 25 +++++++++-------- .../moltemplate_files/{ch2group.lt => ch2.lt} | 4 ++- .../moltemplate_files/ch3.lt} | 6 ++-- .../moltemplate_files/hexadecane.lt | 4 +-- .../moltemplate_files/ch2.lt} | 0 .../moltemplate_files/ch3.lt} | 0 .../moltemplate_files/polyethylene16.lt | 6 ++-- .../README.txt | 0 .../README_remove_irrelevant_info.sh | 0 .../README_run.sh | 0 .../README_setup.sh | 0 .../README_visualize.txt | 0 .../TEST_density_estimate.txt | 0 .../moltemplate_files/system.lt | 6 ++-- .../run.in.npt | 0 .../run.in.nvt | 0 .../moltemplate_files/methane.lt | 10 +++++-- .../moltemplate_files/system.lt | 14 ++++++++++ .../moltemplate_files/methane.lt | 10 +++++-- .../moltemplate_files/system.lt | 17 ++++++++++- .../moltemplate_files/ethanol.lt | 10 ++++--- .../moltemplate_files/system.lt | 28 ++++++++++++++----- 56 files changed, 265 insertions(+), 152 deletions(-) rename examples/all_atom/force_field_AMBER/hexadecane/moltemplate_files/{ch2group.lt => ch2.lt} (94%) rename examples/all_atom/force_field_AMBER/hexadecane/moltemplate_files/{ch3group.lt => ch3.lt} (94%) rename examples/all_atom/force_field_COMPASS/alkane_chain_single/moltemplate_files/{ch2group.lt => ch2.lt} (100%) rename examples/all_atom/force_field_COMPASS/alkane_chain_single/moltemplate_files/{ch3group.lt => ch3.lt} (100%) rename examples/all_atom/force_field_COMPASS/butane/moltemplate_files/{ch2group.lt => ch2.lt} (99%) rename examples/all_atom/force_field_COMPASS/{hexadecane/moltemplate_files/ch3group.lt => butane/moltemplate_files/ch3.lt} (99%) rename examples/all_atom/force_field_COMPASS/hexadecane/moltemplate_files/{ch2group.lt => ch2.lt} (100%) rename examples/all_atom/force_field_COMPASS/{butane/moltemplate_files/ch3group.lt => hexadecane/moltemplate_files/ch3.lt} (100%) rename examples/all_atom/force_field_OPLSAA/{star_polymer/moltemplate_files/ch2group.lt => alkane_chain_single/moltemplate_files/ch2.lt} (92%) rename examples/all_atom/force_field_OPLSAA/{hexadecane/moltemplate_files/ch3group.lt => alkane_chain_single/moltemplate_files/ch3.lt} (90%) rename examples/all_atom/force_field_OPLSAA/butane/moltemplate_files/{ch2group.lt => ch2.lt} (86%) rename examples/all_atom/force_field_OPLSAA/butane/moltemplate_files/{ch3group.lt => ch3.lt} (87%) rename examples/all_atom/force_field_OPLSAA/hexadecane/moltemplate_files/{ch2group.lt => ch2.lt} (92%) rename examples/all_atom/force_field_OPLSAA/{star_polymer/moltemplate_files/ch3group.lt => hexadecane/moltemplate_files/ch3.lt} (90%) rename examples/all_atom/force_field_OPLSAA/{alkane_chain_single/moltemplate_files/ch2group.lt => star_polymer/moltemplate_files/ch2.lt} (100%) rename examples/all_atom/force_field_OPLSAA/{alkane_chain_single/moltemplate_files/ch3group.lt => star_polymer/moltemplate_files/ch3.lt} (100%) rename examples/all_atom/force_field_OPLSAA/{waterSPC_using_OPLSAA => waterSPC}/README.txt (100%) rename examples/all_atom/force_field_OPLSAA/{waterSPC_using_OPLSAA => waterSPC}/README_remove_irrelevant_info.sh (100%) rename examples/all_atom/force_field_OPLSAA/{waterSPC_using_OPLSAA => waterSPC}/README_run.sh (100%) rename examples/all_atom/force_field_OPLSAA/{waterSPC_using_OPLSAA => waterSPC}/README_setup.sh (100%) rename examples/all_atom/force_field_OPLSAA/{waterSPC_using_OPLSAA => waterSPC}/README_visualize.txt (100%) rename examples/all_atom/force_field_OPLSAA/{waterSPC_using_OPLSAA => waterSPC}/TEST_density_estimate.txt (100%) rename examples/all_atom/force_field_OPLSAA/{waterSPC_using_OPLSAA => waterSPC}/moltemplate_files/system.lt (69%) rename examples/all_atom/force_field_OPLSAA/{waterSPC_using_OPLSAA => waterSPC}/run.in.npt (100%) rename examples/all_atom/force_field_OPLSAA/{waterSPC_using_OPLSAA => waterSPC}/run.in.nvt (100%) diff --git a/examples/all_atom/force_field_AMBER/ethylene+benzene/moltemplate_files/system.lt b/examples/all_atom/force_field_AMBER/ethylene+benzene/moltemplate_files/system.lt index 992004de..d812b5ee 100644 --- a/examples/all_atom/force_field_AMBER/ethylene+benzene/moltemplate_files/system.lt +++ b/examples/all_atom/force_field_AMBER/ethylene+benzene/moltemplate_files/system.lt @@ -1,5 +1,5 @@ import "ethylene.lt" # <- defines the "Ethylene" molecule type. -import "benzene.lt" # <- defines the "Benzene" molecule type. +import "benzene.lt" # <- defines the "Benzene" molecule type. # Periodic boundary conditions: @@ -28,7 +28,13 @@ benzenes = new Benzene[6].move(8.0, 0, 0) benzenes[*][*][*].move(4.0, 4.0, 4.0) -# Note: There is also an example which shows how to generate the coordinates -# using PACKMOL. (That allows us to omit the coordinates and .move() commands -# and allows you to specify the number of molecules you want more precisely. -# It is one of the OPLSAA examples.) + + +# Note1: You can use the "new random" command to create mixtures of different +# molecule types containing an arbitrary number of molecules arranged on +# a periodic lattice. (This works if all molecules have similar size.) +# See manual (ch8.9.1): https://moltemplate.org/doc/moltemplate_manual.pdf +# Note2: More generally you can use PACKMOL to create mixtures of molecules. +# It allows us to omit the coordinates and .move() commands. And you can +# specify the number of molecules you want more precisely. See example: +# https://github.com/jewettaij/moltemplate/tree/master/examples/all_atom/force_field_OPLSAA/ethylene+benzene_PACKMOL/ diff --git a/examples/all_atom/force_field_AMBER/hexadecane/README_setup.sh b/examples/all_atom/force_field_AMBER/hexadecane/README_setup.sh index e8d8be3f..af0f41e7 100755 --- a/examples/all_atom/force_field_AMBER/hexadecane/README_setup.sh +++ b/examples/all_atom/force_field_AMBER/hexadecane/README_setup.sh @@ -19,7 +19,8 @@ cd moltemplate_files # Optional: # The "./output_ttree/" directory is full of temporary files generated by # moltemplate. They can be useful for debugging, but are usually thrown away. - #rm -rf output_ttree/ + rm -rf output_ttree/ + rm -f run.in.EXAMPLE # <- not needed. Use "run.in.npt/nvt" instead. cd ../ @@ -31,5 +32,5 @@ cd ../ # for atoms defined in OPLSAA which you are not using in this simulation. # This is harmless, but if you to delete this information from your # system.in.settings and system.in.data files, run this script: -# -# cleanup_moltemplate.sh + +cleanup_moltemplate.sh diff --git a/examples/all_atom/force_field_AMBER/hexadecane/moltemplate_files/ch2group.lt b/examples/all_atom/force_field_AMBER/hexadecane/moltemplate_files/ch2.lt similarity index 94% rename from examples/all_atom/force_field_AMBER/hexadecane/moltemplate_files/ch2group.lt rename to examples/all_atom/force_field_AMBER/hexadecane/moltemplate_files/ch2.lt index 4cc75e8f..9451126b 100644 --- a/examples/all_atom/force_field_AMBER/hexadecane/moltemplate_files/ch2group.lt +++ b/examples/all_atom/force_field_AMBER/hexadecane/moltemplate_files/ch2.lt @@ -4,8 +4,8 @@ import "gaff.lt" # <-- defines the "GAFF" force field # The "gaff.lt" file is usually located in $MOLTEMPLATE_PATH (and is # distributed with moltemplate. See the "Installation" section in the manual.) -# It contains definitions of the atoms "c3", "hc", as well as the force-field -# parameters for bonded and non-bonded interactions between them +# It contains definitions of the "@atom:c3", "@atom:hc", atoms as well as the +# force-field parameters for bonded and non-bonded interactions between them # (and many other atoms). # WARNING: CHARGES ARE INCORRECT diff --git a/examples/all_atom/force_field_AMBER/hexadecane/moltemplate_files/ch3group.lt b/examples/all_atom/force_field_AMBER/hexadecane/moltemplate_files/ch3.lt similarity index 94% rename from examples/all_atom/force_field_AMBER/hexadecane/moltemplate_files/ch3group.lt rename to examples/all_atom/force_field_AMBER/hexadecane/moltemplate_files/ch3.lt index efabdc94..55a3489c 100644 --- a/examples/all_atom/force_field_AMBER/hexadecane/moltemplate_files/ch3group.lt +++ b/examples/all_atom/force_field_AMBER/hexadecane/moltemplate_files/ch3.lt @@ -3,8 +3,8 @@ import "gaff.lt" # <-- defines the "GAFF" force field # The "gaff.lt" file is usually located in $MOLTEMPLATE_PATH (and is # distributed with moltemplate. See the "Installation" section in the manual.) -# It contains definitions of the atoms "c3", "hc", as well as the force-field -# parameters for bonded and non-bonded interactions between them +# It contains definitions of the "@atom:c3", "@atom:hc", atoms as well as the +# force-field parameters for bonded and non-bonded interactions between them # (and many other atoms). # # WARNING: CHARGES ARE INCORRECT diff --git a/examples/all_atom/force_field_AMBER/hexadecane/moltemplate_files/hexadecane.lt b/examples/all_atom/force_field_AMBER/hexadecane/moltemplate_files/hexadecane.lt index db0d8f70..d6fbe794 100644 --- a/examples/all_atom/force_field_AMBER/hexadecane/moltemplate_files/hexadecane.lt +++ b/examples/all_atom/force_field_AMBER/hexadecane/moltemplate_files/hexadecane.lt @@ -6,8 +6,8 @@ import "gaff.lt" # load the "GAFF" force-field information -import "ch2group.lt" # load the definition of the "CH2" object -import "ch3group.lt" # load the definition of the "CH3" object +import "ch2.lt" # load the definition of the "CH2" object +import "ch3.lt" # load the definition of the "CH3" object diff --git a/examples/all_atom/force_field_AMBER/hexadecane/moltemplate_files/system.lt b/examples/all_atom/force_field_AMBER/hexadecane/moltemplate_files/system.lt index 4e0cfaec..eaa0aaa2 100644 --- a/examples/all_atom/force_field_AMBER/hexadecane/moltemplate_files/system.lt +++ b/examples/all_atom/force_field_AMBER/hexadecane/moltemplate_files/system.lt @@ -12,6 +12,7 @@ molecules = new Hexadecane [12].move(0, 0, 5.2) [2].move(31.2, 0, 0) + # NOTE: The spacing between molecules is large. There should be extra room to # move during the initial stages of equilibration. However, you will have to # run the simulation at NPT conditions later to compress the system to a diff --git a/examples/all_atom/force_field_AMBER/hexadecane/run.in.npt b/examples/all_atom/force_field_AMBER/hexadecane/run.in.npt index fbb9cbe2..60756d57 100644 --- a/examples/all_atom/force_field_AMBER/hexadecane/run.in.npt +++ b/examples/all_atom/force_field_AMBER/hexadecane/run.in.npt @@ -9,6 +9,17 @@ include system.in.init + +# Weird LAMMPS issue: +# The "system.in.init" file contains definitions for bond, angle, dihedral, +# and improper interactions that were defined in the AMBER/GAFF force-field. +# But since the molecules in this example do not have any improper interactions, +# LAMMPS will crash. To get around this, tell LAMMPS to disable all +# improper interactions: + +improper_style none + + # ------------------------------- Atom Definition Section ------------------- read_data system.data diff --git a/examples/all_atom/force_field_AMBER/hexadecane/run.in.nvt b/examples/all_atom/force_field_AMBER/hexadecane/run.in.nvt index 0bb76998..00393673 100644 --- a/examples/all_atom/force_field_AMBER/hexadecane/run.in.nvt +++ b/examples/all_atom/force_field_AMBER/hexadecane/run.in.nvt @@ -12,6 +12,18 @@ include system.in.init + +# Weird LAMMPS issue: +# The "system.in.init" file contains definitions for bond, angle, dihedral, +# and improper interactions that were defined in the AMBER/GAFF force-field. +# But since the molecules in this example do not have any improper interactions, +# LAMMPS will crash. To get around this, tell LAMMPS to disable all +# improper interactions: + +improper_style none + + + # ------------------------------- Atom Definition Section ------------------- diff --git a/examples/all_atom/force_field_AMBER/waterTIP3P+isobutane/README_setup.sh b/examples/all_atom/force_field_AMBER/waterTIP3P+isobutane/README_setup.sh index 4fc8dda6..62861f70 100755 --- a/examples/all_atom/force_field_AMBER/waterTIP3P+isobutane/README_setup.sh +++ b/examples/all_atom/force_field_AMBER/waterTIP3P+isobutane/README_setup.sh @@ -14,6 +14,7 @@ cd moltemplate_files # The "./output_ttree/" directory is full of temporary files generated by # moltemplate. They can be useful for debugging, but are usually thrown away. rm -rf output_ttree/ + rm -f run.in.EXAMPLE # <- not needed. Use "run.in.npt/nvt" instead. cd ../ @@ -25,5 +26,5 @@ cd ../ # for atoms defined in OPLSAA which you are not using in this simulation. # This is harmless, but if you to delete this information from your # system.in.settings and system.in.data files, run this script: -# -# cleanup_moltemplate.sh + +cleanup_moltemplate.sh diff --git a/examples/all_atom/force_field_AMBER/waterTIP3P+isobutane/moltemplate_files/system.lt b/examples/all_atom/force_field_AMBER/waterTIP3P+isobutane/moltemplate_files/system.lt index 5323d1ba..3ef5b1d9 100644 --- a/examples/all_atom/force_field_AMBER/waterTIP3P+isobutane/moltemplate_files/system.lt +++ b/examples/all_atom/force_field_AMBER/waterTIP3P+isobutane/moltemplate_files/system.lt @@ -1,9 +1,11 @@ -import "tip3p_2004_hybrid.lt" # This defines the TIP3P water molecule. - # This file is located in the "force_fields" - # subdirectory of the moltemplate distribution. +import "isobutane.lt" # <- defines the "Isobutane" molecule type. +import "tip3p_2004_hybrid.lt" # <- defines the TIP3P water molecule. + +# Note: The "tip3p_2004_hybrid.lt" file is located at: +# https://github.com/jewettaij/moltemplate/tree/master/moltemplate/force_fields/ +# (If you want to customize it, you can download it and copy it to this folder.) -import "isobutane.lt" # <- defines the "Isobutane" molecule type. # Periodic boundary conditions: @@ -14,6 +16,7 @@ write_once("Data Boundary") { } + # The next command generates a (rather dense) cubic lattice with # spacing 3.45 Angstroms. (The pressure must be equilibrated later.) @@ -25,6 +28,16 @@ isobutane = new Isobutane [3].move(0, 0, 10.35) [3].move(0, 10.35, 0) [3].move(10.35, 0, 0) -# move the isobutane molecules slightly to reduce overlap with the water +# Move the isobutane molecules slightly to reduce overlap with the water isobutane[*][*][*].move(1.725, 1.725, 1.725) + + +# Note1: You can use the "new random" command to create mixtures of different +# molecule types containing an arbitrary number of molecules arranged on +# a periodic lattice. (This works if all molecules have similar size.) +# See manual (ch8.9.1): https://moltemplate.org/doc/moltemplate_manual.pdf +# Note2: More generally you can use PACKMOL to create mixtures of molecules. +# It allows us to omit the coordinates and .move() commands. And you can +# specify the number of molecules you want more precisely. See example: +# https://github.com/jewettaij/moltemplate/tree/master/examples/all_atom/force_field_OPLSAA/ethylene+benzene_PACKMOL/ diff --git a/examples/all_atom/force_field_AMBER/waterTIP3P+isobutane/run.in.npt b/examples/all_atom/force_field_AMBER/waterTIP3P+isobutane/run.in.npt index 05661412..c81794bb 100644 --- a/examples/all_atom/force_field_AMBER/waterTIP3P+isobutane/run.in.npt +++ b/examples/all_atom/force_field_AMBER/waterTIP3P+isobutane/run.in.npt @@ -13,11 +13,12 @@ include "system.in.init" # specify the style of force field used # The "system.in.init" file contains definitions for bond, angle, dihedral, # and improper interactions that were defined in the AMBER/GAFF force-field. # But since the molecules in this example do not have any improper interactions, -# LAMMPS will object and not allow us to run the simulation. -# To get around this, tell LAMMPS to disable improper interactions: +# LAMMPS will crash. To get around this, tell LAMMPS to disable all +# improper interactions: improper_style none + # ------------------------------- Atom Definition Section ------------------- read_data "system.data" # load atom coordinates and topology diff --git a/examples/all_atom/force_field_AMBER/waterTIP3P+isobutane/run.in.nvt b/examples/all_atom/force_field_AMBER/waterTIP3P+isobutane/run.in.nvt index 48d25d54..c08ca520 100644 --- a/examples/all_atom/force_field_AMBER/waterTIP3P+isobutane/run.in.nvt +++ b/examples/all_atom/force_field_AMBER/waterTIP3P+isobutane/run.in.nvt @@ -16,8 +16,8 @@ include "system.in.init" # specify the style of force field used # The "system.in.init" file contains definitions for bond, angle, dihedral, # and improper interactions that were defined in the AMBER/GAFF force-field. # But since the molecules in this example do not have any improper interactions, -# LAMMPS will object and not allow us to run the simulation. -# To get around this, tell LAMMPS to disable improper interactions: +# LAMMPS will crash. To get around this, tell LAMMPS to disable all +# improper interactions: improper_style none diff --git a/examples/all_atom/force_field_COMPASS/alkane_chain_single/moltemplate_files/alkane50.lt b/examples/all_atom/force_field_COMPASS/alkane_chain_single/moltemplate_files/alkane50.lt index dac31f18..8ef3b0ae 100644 --- a/examples/all_atom/force_field_COMPASS/alkane_chain_single/moltemplate_files/alkane50.lt +++ b/examples/all_atom/force_field_COMPASS/alkane_chain_single/moltemplate_files/alkane50.lt @@ -5,8 +5,9 @@ # it to change the length of the alkane chain. -import "ch2group.lt" # load the definition of the "CH2" object -import "ch3group.lt" # load the definition of the "CH3" object +import "compass_published.lt" # load the "COMPASS" force-field +import "ch2.lt" # load the definition of the "CH2" object +import "ch3.lt" # load the definition of the "CH3" object diff --git a/examples/all_atom/force_field_COMPASS/alkane_chain_single/moltemplate_files/ch2group.lt b/examples/all_atom/force_field_COMPASS/alkane_chain_single/moltemplate_files/ch2.lt similarity index 100% rename from examples/all_atom/force_field_COMPASS/alkane_chain_single/moltemplate_files/ch2group.lt rename to examples/all_atom/force_field_COMPASS/alkane_chain_single/moltemplate_files/ch2.lt diff --git a/examples/all_atom/force_field_COMPASS/alkane_chain_single/moltemplate_files/ch3group.lt b/examples/all_atom/force_field_COMPASS/alkane_chain_single/moltemplate_files/ch3.lt similarity index 100% rename from examples/all_atom/force_field_COMPASS/alkane_chain_single/moltemplate_files/ch3group.lt rename to examples/all_atom/force_field_COMPASS/alkane_chain_single/moltemplate_files/ch3.lt diff --git a/examples/all_atom/force_field_COMPASS/butane/moltemplate_files/butane.lt b/examples/all_atom/force_field_COMPASS/butane/moltemplate_files/butane.lt index 970fe2cd..95f3c8b3 100644 --- a/examples/all_atom/force_field_COMPASS/butane/moltemplate_files/butane.lt +++ b/examples/all_atom/force_field_COMPASS/butane/moltemplate_files/butane.lt @@ -1,6 +1,7 @@ -import "ch2group.lt" # load the definition of the "CH2" object -import "ch3group.lt" # load the definition of the "CH3" object +import "compass_published.lt" # <-- defines the "COMPASS" force field +import "ch2.lt" # <-- defines the "CH2" object +import "ch3.lt" # <-- defines the "CH3" object Butane inherits COMPASS { diff --git a/examples/all_atom/force_field_COMPASS/butane/moltemplate_files/ch2group.lt b/examples/all_atom/force_field_COMPASS/butane/moltemplate_files/ch2.lt similarity index 99% rename from examples/all_atom/force_field_COMPASS/butane/moltemplate_files/ch2group.lt rename to examples/all_atom/force_field_COMPASS/butane/moltemplate_files/ch2.lt index f07288cc..594611f4 100644 --- a/examples/all_atom/force_field_COMPASS/butane/moltemplate_files/ch2group.lt +++ b/examples/all_atom/force_field_COMPASS/butane/moltemplate_files/ch2.lt @@ -5,8 +5,6 @@ import "compass_published.lt" # <-- defines the "COMPASS" force field # (The "compass_published.lt" file is located in the "force_fields" # subdirectory distributed with moltemplate.) -# Then define "CH2": - diff --git a/examples/all_atom/force_field_COMPASS/hexadecane/moltemplate_files/ch3group.lt b/examples/all_atom/force_field_COMPASS/butane/moltemplate_files/ch3.lt similarity index 99% rename from examples/all_atom/force_field_COMPASS/hexadecane/moltemplate_files/ch3group.lt rename to examples/all_atom/force_field_COMPASS/butane/moltemplate_files/ch3.lt index 22931481..d3f7e78a 100644 --- a/examples/all_atom/force_field_COMPASS/hexadecane/moltemplate_files/ch3group.lt +++ b/examples/all_atom/force_field_COMPASS/butane/moltemplate_files/ch3.lt @@ -5,8 +5,6 @@ import "compass_published.lt" # <-- defines the "COMPASS" force field # (The "compass_published.lt" file is located in the "force_fields" # subdirectory distributed with moltemplate.) -# Then define "CH3": - diff --git a/examples/all_atom/force_field_COMPASS/hexadecane/moltemplate_files/ch2group.lt b/examples/all_atom/force_field_COMPASS/hexadecane/moltemplate_files/ch2.lt similarity index 100% rename from examples/all_atom/force_field_COMPASS/hexadecane/moltemplate_files/ch2group.lt rename to examples/all_atom/force_field_COMPASS/hexadecane/moltemplate_files/ch2.lt diff --git a/examples/all_atom/force_field_COMPASS/butane/moltemplate_files/ch3group.lt b/examples/all_atom/force_field_COMPASS/hexadecane/moltemplate_files/ch3.lt similarity index 100% rename from examples/all_atom/force_field_COMPASS/butane/moltemplate_files/ch3group.lt rename to examples/all_atom/force_field_COMPASS/hexadecane/moltemplate_files/ch3.lt diff --git a/examples/all_atom/force_field_COMPASS/hexadecane/moltemplate_files/hexadecane.lt b/examples/all_atom/force_field_COMPASS/hexadecane/moltemplate_files/hexadecane.lt index 1f659f18..9bcd16a6 100644 --- a/examples/all_atom/force_field_COMPASS/hexadecane/moltemplate_files/hexadecane.lt +++ b/examples/all_atom/force_field_COMPASS/hexadecane/moltemplate_files/hexadecane.lt @@ -5,9 +5,9 @@ # it to change the length of the alkane chain. -import "compass_published.lt" # load the "COMPASS" force-field information -import "ch2group.lt" # load the definition of the "CH2" object -import "ch3group.lt" # load the definition of the "CH3" object +import "compass_published.lt" # load the "COMPASS" force-field +import "ch2.lt" # load the definition of the "CH2" object +import "ch3.lt" # load the definition of the "CH3" object diff --git a/examples/all_atom/force_field_OPLSAA/alkane_chain_single/moltemplate_files/alkane50.lt b/examples/all_atom/force_field_OPLSAA/alkane_chain_single/moltemplate_files/alkane50.lt index 0edfa002..d52bab0f 100644 --- a/examples/all_atom/force_field_OPLSAA/alkane_chain_single/moltemplate_files/alkane50.lt +++ b/examples/all_atom/force_field_OPLSAA/alkane_chain_single/moltemplate_files/alkane50.lt @@ -5,8 +5,8 @@ # it to change the length of the alkane chain. -import "ch2group.lt" # load the definition of the "CH2" object -import "ch3group.lt" # load the definition of the "CH3" object +import "ch2.lt" # load the definition of the "CH2" object +import "ch3.lt" # load the definition of the "CH3" object # This is a long polymer consisting of 48 CH2 groups and 2 CH3 end-caps. diff --git a/examples/all_atom/force_field_OPLSAA/star_polymer/moltemplate_files/ch2group.lt b/examples/all_atom/force_field_OPLSAA/alkane_chain_single/moltemplate_files/ch2.lt similarity index 92% rename from examples/all_atom/force_field_OPLSAA/star_polymer/moltemplate_files/ch2group.lt rename to examples/all_atom/force_field_OPLSAA/alkane_chain_single/moltemplate_files/ch2.lt index 7576d0a8..1ae6519b 100644 --- a/examples/all_atom/force_field_OPLSAA/star_polymer/moltemplate_files/ch2group.lt +++ b/examples/all_atom/force_field_OPLSAA/alkane_chain_single/moltemplate_files/ch2.lt @@ -12,9 +12,11 @@ import "loplsaa.lt" # <-- defines the standard "OPLSAA" force field as well as # atom types below from "@atom:57L","@atom:60LCH2" to # "@atom:57" and "@atom:60" (defined in "oplsaa.lt") +# The "loplsaa.lt" and "oplsaa.lt" files are located at: +# https://github.com/jewettaij/moltemplate/tree/master/moltemplate/force_fields/ +# If you want to customize these files, download them and copy them to this folder. -# Then define "CH2": CH2 inherits OPLSAA { diff --git a/examples/all_atom/force_field_OPLSAA/hexadecane/moltemplate_files/ch3group.lt b/examples/all_atom/force_field_OPLSAA/alkane_chain_single/moltemplate_files/ch3.lt similarity index 90% rename from examples/all_atom/force_field_OPLSAA/hexadecane/moltemplate_files/ch3group.lt rename to examples/all_atom/force_field_OPLSAA/alkane_chain_single/moltemplate_files/ch3.lt index cb614f65..f6269935 100644 --- a/examples/all_atom/force_field_OPLSAA/hexadecane/moltemplate_files/ch3group.lt +++ b/examples/all_atom/force_field_OPLSAA/alkane_chain_single/moltemplate_files/ch3.lt @@ -10,11 +10,13 @@ import "loplsaa.lt" # <-- defines the standard "OPLSAA" force field as well as # To use the ordinary OPLSAA force field parameters, # (instead of the Sui et al. parameters), change the # atom types below from "@atom:54L","@atom:60LCH3" to - # "@atom:54" and "@atom:85" (defined in "oplsaa.lt") + # "@atom:54" and "@atom:60" (defined in "oplsaa.lt") +# The "loplsaa.lt" and "oplsaa.lt" files are located at: +# https://github.com/jewettaij/moltemplate/tree/master/moltemplate/force_fields/ +# If you want to customize these files, download them and copy them to this folder. -# Then define "CH3": CH3 inherits OPLSAA { diff --git a/examples/all_atom/force_field_OPLSAA/benzene+benzoic_acid/moltemplate_files/benzene.lt b/examples/all_atom/force_field_OPLSAA/benzene+benzoic_acid/moltemplate_files/benzene.lt index 04c48b53..581b2670 100644 --- a/examples/all_atom/force_field_OPLSAA/benzene+benzoic_acid/moltemplate_files/benzene.lt +++ b/examples/all_atom/force_field_OPLSAA/benzene+benzoic_acid/moltemplate_files/benzene.lt @@ -1,10 +1,12 @@ import "oplsaa.lt" -# The "oplsaa.lt" file contains force-field parameters, atom type definitions, -# partial charges, masses and bond-angle rules for the atoms in your system. -# Note: -# Atom type @atom:145 corresponds to "C - CA | Benzene C" -# Atom type @atom:146 corresponds to "H - HA | Benzene H" + +# The "oplsaa.lt" file defines these atom types: +# @atom:145 "C - CA | Benzene C" +# @atom:146 "H - HA | Benzene H" +# The "oplsaa.lt" file is located at: +# https://github.com/jewettaij/moltemplate/tree/master/moltemplate/force_fields/ +# If you want to customize oplsaa.lt, download it and copy it to this folder. diff --git a/examples/all_atom/force_field_OPLSAA/benzene+benzoic_acid/moltemplate_files/benzoic_acid.lt b/examples/all_atom/force_field_OPLSAA/benzene+benzoic_acid/moltemplate_files/benzoic_acid.lt index e14db186..2a68644e 100644 --- a/examples/all_atom/force_field_OPLSAA/benzene+benzoic_acid/moltemplate_files/benzoic_acid.lt +++ b/examples/all_atom/force_field_OPLSAA/benzene+benzoic_acid/moltemplate_files/benzoic_acid.lt @@ -1,14 +1,7 @@ import "oplsaa.lt" -# The "oplsaa.lt" file contains force-field parameters, atom type definitions, -# partial charges, masses and bond-angle rules for the atoms in your system. - -# Atom type choices: -# -# For this simple molecule, most of the atom types from OPLSAA were easy to guess: -# -# See the "oplsaa.lt" file for explanation of atom types. Excerpt: +# The "oplsaa.lt" file defines these atom types: # Atom type @atom:145 corresponds to "C - CA | Benzene C" # Atom type @atom:146 corresponds to "H - HA | Benzene H" # Atom type @atom:165 corresponds to "C - CA | Cipso in styrene" @@ -17,6 +10,9 @@ import "oplsaa.lt" # Atom type @atom:268 corresponds to "O - OH | Oh in CCOOH R in RCOOH is" # Atom type @atom:269 corresponds to "O - O~ | Oc in CCOOH neutral; use 135-140" # Atom type @atom:270 corresponds to "H - HO | H in CCOOH" +# The "oplsaa.lt" file is located at: +# https://github.com/jewettaij/moltemplate/tree/master/moltemplate/force_fields/ +# If you want to customize oplsaa.lt, download it and copy it to this folder. BenzoicAcid inherits OPLSAA { diff --git a/examples/all_atom/force_field_OPLSAA/benzene+benzoic_acid/moltemplate_files/system.lt b/examples/all_atom/force_field_OPLSAA/benzene+benzoic_acid/moltemplate_files/system.lt index 28acea2c..ea6021ad 100644 --- a/examples/all_atom/force_field_OPLSAA/benzene+benzoic_acid/moltemplate_files/system.lt +++ b/examples/all_atom/force_field_OPLSAA/benzene+benzoic_acid/moltemplate_files/system.lt @@ -31,10 +31,11 @@ benzoic_acids[*][*][*].move(4.0, 4.0, 6.0) -# Note1: You can use the new_random command to create random mixtures of different -# molecule types containing any number of molecules (and vacancies) -# arranged on a periodic lattice. -# -# Note2: You can also use PACKMOL to create mixtures of molecules, and import the -# coordinates into moltemplate using the "-xyz" or "-pdb" command-line argument. - +# Note1: You can use the "new random" command to create mixtures of different +# molecule types containing an arbitrary number of molecules arranged on +# a periodic lattice. (This works if all molecules have similar size.) +# See manual (ch8.9.1): https://moltemplate.org/doc/moltemplate_manual.pdf +# Note2: More generally you can use PACKMOL to create mixtures of molecules. +# It allows us to omit the coordinates and .move() commands. And you can +# specify the number of molecules you want more precisely. See example: +# https://github.com/jewettaij/moltemplate/tree/master/examples/all_atom/force_field_OPLSAA/ethylene+benzene_PACKMOL/ diff --git a/examples/all_atom/force_field_OPLSAA/butane/moltemplate_files/butane.lt b/examples/all_atom/force_field_OPLSAA/butane/moltemplate_files/butane.lt index de1a87aa..bda1d339 100644 --- a/examples/all_atom/force_field_OPLSAA/butane/moltemplate_files/butane.lt +++ b/examples/all_atom/force_field_OPLSAA/butane/moltemplate_files/butane.lt @@ -1,5 +1,5 @@ -import "ch2group.lt" # load the definition of the "CH2" object -import "ch3group.lt" # load the definition of the "CH3" object +import "ch2.lt" # load the definition of the "CH2" object +import "ch3.lt" # load the definition of the "CH3" object Butane inherits OPLSAA { diff --git a/examples/all_atom/force_field_OPLSAA/butane/moltemplate_files/ch2group.lt b/examples/all_atom/force_field_OPLSAA/butane/moltemplate_files/ch2.lt similarity index 86% rename from examples/all_atom/force_field_OPLSAA/butane/moltemplate_files/ch2group.lt rename to examples/all_atom/force_field_OPLSAA/butane/moltemplate_files/ch2.lt index 91eb6ea7..a3f764d7 100644 --- a/examples/all_atom/force_field_OPLSAA/butane/moltemplate_files/ch2group.lt +++ b/examples/all_atom/force_field_OPLSAA/butane/moltemplate_files/ch2.lt @@ -1,13 +1,16 @@ # This file contains a definition for the "CH2" molecular subunit. -# First, load the OPLS force field parameters we will need. -# This file is located in the "force_fields" subdirectory -# of the moltemplate distribution. +import "oplsaa.lt" -import "oplsaa.lt" # <-- defines the standard "OPLSAA" force field +# The "oplsaa.lt" file defines these atom types: +# @atom:54 "C - CT | n-CH3 C: alkane" +# @atom:57 "C - CT | CH2 C: alkanes" +# @atom:60 "H - HC | H: alkanes" +# The "oplsaa.lt" file is at: +# https://github.com/jewettaij/moltemplate/tree/master/moltemplate/force_fields/ +# (If you want to customize this file files, download it and copy it to this folder.) -# Then define "CH2": CH2 inherits OPLSAA { @@ -44,12 +47,9 @@ CH2.move(0,0.4431163,0) # ---- NOTES: ---- # -# Atom type numbers (@atom:57,60) are defined in "oplsaa.lt", -# @atom:54 "C - CT | n-CH3 C: alkane" -# @atom:57 "C - CT | CH2 C: alkanes" -# @atom:60 "H - HC | H: alkanes" # In this example, atomic charges are generated by atom type (according to the # rules in oplsaa.lt), and can be omitted. Just leave them as "0.00" for now. +# # The "..." in "$mol:..." tells moltemplate that this molecule may be part # of a larger molecule, and (if so) to use the larger parent object's # molecule id number as it's own. diff --git a/examples/all_atom/force_field_OPLSAA/butane/moltemplate_files/ch3group.lt b/examples/all_atom/force_field_OPLSAA/butane/moltemplate_files/ch3.lt similarity index 87% rename from examples/all_atom/force_field_OPLSAA/butane/moltemplate_files/ch3group.lt rename to examples/all_atom/force_field_OPLSAA/butane/moltemplate_files/ch3.lt index 08ffb232..58b2e292 100644 --- a/examples/all_atom/force_field_OPLSAA/butane/moltemplate_files/ch3group.lt +++ b/examples/all_atom/force_field_OPLSAA/butane/moltemplate_files/ch3.lt @@ -1,13 +1,14 @@ # This file contains a definition for the "CH3" molecular subunit. -# First, load the OPLS force field parameters we will need. -# This file is located in the "force_fields" subdirectory -# of the moltemplate distribution. +import "oplsaa.lt" -import "oplsaa.lt" # <-- defines the standard "OPLSAA" force field - - -# Then define "CH3": +# The "oplsaa.lt" file defines these atom types: +# @atom:54 "C - CT | n-CH3 C: alkane" +# @atom:57 "C - CT | CH2 C: alkanes" +# @atom:60 "H - HC | H: alkanes" +# The "oplsaa.lt" file is at: +# https://github.com/jewettaij/moltemplate/tree/master/moltemplate/force_fields/ +# (If you want to customize this file files, download it and copy it to this folder.) CH3 inherits OPLSAA { @@ -46,12 +47,9 @@ CH3.move(0,0.4431163,0) # ---- NOTES: ---- # -# Atom type numbers (@atom:54,60) are defined in "oplsaa.lt", -# @atom:54 "C - CT | n-CH3 C: alkane" -# @atom:57 "C - CT | CH2 C: alkanes" -# @atom:60 "H - HC | H: alkanes" # In this example, atomic charges are generated by atom type (according to the # rules in oplsaa.lt), and can be omitted. Just leave them as "0.00" for now. +# # The "..." in "$mol:..." tells moltemplate that this molecule may be part # of a larger molecule, and (if so) to use the larger parent object's # molecule id number as it's own. diff --git a/examples/all_atom/force_field_OPLSAA/ethylene+benzene/moltemplate_files/benzene.lt b/examples/all_atom/force_field_OPLSAA/ethylene+benzene/moltemplate_files/benzene.lt index 04c48b53..581b2670 100644 --- a/examples/all_atom/force_field_OPLSAA/ethylene+benzene/moltemplate_files/benzene.lt +++ b/examples/all_atom/force_field_OPLSAA/ethylene+benzene/moltemplate_files/benzene.lt @@ -1,10 +1,12 @@ import "oplsaa.lt" -# The "oplsaa.lt" file contains force-field parameters, atom type definitions, -# partial charges, masses and bond-angle rules for the atoms in your system. -# Note: -# Atom type @atom:145 corresponds to "C - CA | Benzene C" -# Atom type @atom:146 corresponds to "H - HA | Benzene H" + +# The "oplsaa.lt" file defines these atom types: +# @atom:145 "C - CA | Benzene C" +# @atom:146 "H - HA | Benzene H" +# The "oplsaa.lt" file is located at: +# https://github.com/jewettaij/moltemplate/tree/master/moltemplate/force_fields/ +# If you want to customize oplsaa.lt, download it and copy it to this folder. diff --git a/examples/all_atom/force_field_OPLSAA/ethylene+benzene/moltemplate_files/ethylene.lt b/examples/all_atom/force_field_OPLSAA/ethylene+benzene/moltemplate_files/ethylene.lt index d73cbd46..bcee639f 100644 --- a/examples/all_atom/force_field_OPLSAA/ethylene+benzene/moltemplate_files/ethylene.lt +++ b/examples/all_atom/force_field_OPLSAA/ethylene+benzene/moltemplate_files/ethylene.lt @@ -1,24 +1,25 @@ import "oplsaa.lt" -# The "oplsaa.lt" file contains force-field parameters, atom type definitions, -# partial charges, masses and bond-angle rules for the atoms in your system. -# Note: -# Atom type 143 corresponds to "C - CM | alkene C (H2-C=)" -# Atom type 144 corresponds to "H - HC | alkene H (H-C=)" +# The "oplsaa.lt" file defines these atom types: +# @atom:143 "C - CM | alkene C (H2-C=)" +# @atom:144 "H - HC | alkene H (H-C=)" +# The "oplsaa.lt" file is located at: +# https://github.com/jewettaij/moltemplate/tree/master/moltemplate/force_fields/ +# If you want to customize oplsaa.lt, download it and copy it to this folder. Ethylene inherits OPLSAA { - # atom-id mol-id atom-type charge X Y Z # comment + # atom-id mol-id atom-type charge X Y Z # comment write('Data Atoms') { - $atom:c1 $mol @atom:143 0.0 -0.6695 0.00000 0.0 #143->"C - CM | alkene C (H2-C=)" - $atom:c2 $mol @atom:143 0.0 0.6695 0.00000 0.0 #143->"C - CM | alkene C (H2-C=)" - $atom:h11 $mol @atom:144 0.0 -1.23422 -0.85446 0.0 #144->"H - HC | alkene H (H-C=)" - $atom:h12 $mol @atom:144 0.0 -1.23422 0.85446 0.0 #144->"H - HC | alkene H (H-C=)" - $atom:h21 $mol @atom:144 0.0 1.23422 -0.85446 0.0 #144->"H - HC | alkene H (H-C=)" - $atom:h22 $mol @atom:144 0.0 1.23422 0.85446 0.0 #144->"H - HC | alkene H (H-C=)" + $atom:c1 $mol @atom:143 0.0 -0.6695 0.00000 0.0 # 143 --> "C - CM | alkene C (H2-C=)" + $atom:c2 $mol @atom:143 0.0 0.6695 0.00000 0.0 # 143 --> "C - CM | alkene C (H2-C=)" + $atom:h11 $mol @atom:144 0.0 -1.23422 -0.85446 0.0 # 144 --> "H - HC | alkene H (H-C=)" + $atom:h12 $mol @atom:144 0.0 -1.23422 0.85446 0.0 # 144 --> "H - HC | alkene H (H-C=)" + $atom:h21 $mol @atom:144 0.0 1.23422 -0.85446 0.0 # 144 --> "H - HC | alkene H (H-C=)" + $atom:h22 $mol @atom:144 0.0 1.23422 0.85446 0.0 # 144 --> "H - HC | alkene H (H-C=)" } # Note: You don't have to specify the charge in this example because we are diff --git a/examples/all_atom/force_field_OPLSAA/ethylene+benzene/moltemplate_files/system.lt b/examples/all_atom/force_field_OPLSAA/ethylene+benzene/moltemplate_files/system.lt index af8a3052..f82288e8 100644 --- a/examples/all_atom/force_field_OPLSAA/ethylene+benzene/moltemplate_files/system.lt +++ b/examples/all_atom/force_field_OPLSAA/ethylene+benzene/moltemplate_files/system.lt @@ -1,5 +1,5 @@ import "ethylene.lt" # <- defines the "Ethylene" molecule type. -import "benzene.lt" # <- defines the "Benzene" molecule type. +import "benzene.lt" # <- defines the "Benzene" molecule type. # Periodic boundary conditions: write_once("Data Boundary") { @@ -28,10 +28,13 @@ benzenes = new Benzene[6].move(8.0, 0, 0) benzenes[*][*][*].move(4.0, 4.0, 4.0) -# Note1: You can use the new_random command to create random mixtures of different -# molecule types containing any number of molecules (and vacancies) -# arranged on a periodic lattice. -# -# Note2: You can also use PACKMOL to create mixtures of molecules, and import the -# coordinates into moltemplate using the "-xyz" or "-pdb" command-line argument. + +# Note1: You can use the "new random" command to create mixtures of different +# molecule types containing an arbitrary number of molecules arranged on +# a periodic lattice. (This works if all molecules have similar size.) +# See manual (ch8.9.1): https://moltemplate.org/doc/moltemplate_manual.pdf +# Note2: More generally you can use PACKMOL to create mixtures of molecules. +# It allows us to omit the coordinates and .move() commands. And you can +# specify the number of molecules you want more precisely. See example: +# https://github.com/jewettaij/moltemplate/tree/master/examples/all_atom/force_field_OPLSAA/ethylene+benzene_PACKMOL/ diff --git a/examples/all_atom/force_field_OPLSAA/ethylene+benzene_PACKMOL/moltemplate_files/benzene.lt b/examples/all_atom/force_field_OPLSAA/ethylene+benzene_PACKMOL/moltemplate_files/benzene.lt index 04c48b53..581b2670 100644 --- a/examples/all_atom/force_field_OPLSAA/ethylene+benzene_PACKMOL/moltemplate_files/benzene.lt +++ b/examples/all_atom/force_field_OPLSAA/ethylene+benzene_PACKMOL/moltemplate_files/benzene.lt @@ -1,10 +1,12 @@ import "oplsaa.lt" -# The "oplsaa.lt" file contains force-field parameters, atom type definitions, -# partial charges, masses and bond-angle rules for the atoms in your system. -# Note: -# Atom type @atom:145 corresponds to "C - CA | Benzene C" -# Atom type @atom:146 corresponds to "H - HA | Benzene H" + +# The "oplsaa.lt" file defines these atom types: +# @atom:145 "C - CA | Benzene C" +# @atom:146 "H - HA | Benzene H" +# The "oplsaa.lt" file is located at: +# https://github.com/jewettaij/moltemplate/tree/master/moltemplate/force_fields/ +# If you want to customize oplsaa.lt, download it and copy it to this folder. diff --git a/examples/all_atom/force_field_OPLSAA/ethylene+benzene_PACKMOL/moltemplate_files/ethylene.lt b/examples/all_atom/force_field_OPLSAA/ethylene+benzene_PACKMOL/moltemplate_files/ethylene.lt index d73cbd46..bcee639f 100644 --- a/examples/all_atom/force_field_OPLSAA/ethylene+benzene_PACKMOL/moltemplate_files/ethylene.lt +++ b/examples/all_atom/force_field_OPLSAA/ethylene+benzene_PACKMOL/moltemplate_files/ethylene.lt @@ -1,24 +1,25 @@ import "oplsaa.lt" -# The "oplsaa.lt" file contains force-field parameters, atom type definitions, -# partial charges, masses and bond-angle rules for the atoms in your system. -# Note: -# Atom type 143 corresponds to "C - CM | alkene C (H2-C=)" -# Atom type 144 corresponds to "H - HC | alkene H (H-C=)" +# The "oplsaa.lt" file defines these atom types: +# @atom:143 "C - CM | alkene C (H2-C=)" +# @atom:144 "H - HC | alkene H (H-C=)" +# The "oplsaa.lt" file is located at: +# https://github.com/jewettaij/moltemplate/tree/master/moltemplate/force_fields/ +# If you want to customize oplsaa.lt, download it and copy it to this folder. Ethylene inherits OPLSAA { - # atom-id mol-id atom-type charge X Y Z # comment + # atom-id mol-id atom-type charge X Y Z # comment write('Data Atoms') { - $atom:c1 $mol @atom:143 0.0 -0.6695 0.00000 0.0 #143->"C - CM | alkene C (H2-C=)" - $atom:c2 $mol @atom:143 0.0 0.6695 0.00000 0.0 #143->"C - CM | alkene C (H2-C=)" - $atom:h11 $mol @atom:144 0.0 -1.23422 -0.85446 0.0 #144->"H - HC | alkene H (H-C=)" - $atom:h12 $mol @atom:144 0.0 -1.23422 0.85446 0.0 #144->"H - HC | alkene H (H-C=)" - $atom:h21 $mol @atom:144 0.0 1.23422 -0.85446 0.0 #144->"H - HC | alkene H (H-C=)" - $atom:h22 $mol @atom:144 0.0 1.23422 0.85446 0.0 #144->"H - HC | alkene H (H-C=)" + $atom:c1 $mol @atom:143 0.0 -0.6695 0.00000 0.0 # 143 --> "C - CM | alkene C (H2-C=)" + $atom:c2 $mol @atom:143 0.0 0.6695 0.00000 0.0 # 143 --> "C - CM | alkene C (H2-C=)" + $atom:h11 $mol @atom:144 0.0 -1.23422 -0.85446 0.0 # 144 --> "H - HC | alkene H (H-C=)" + $atom:h12 $mol @atom:144 0.0 -1.23422 0.85446 0.0 # 144 --> "H - HC | alkene H (H-C=)" + $atom:h21 $mol @atom:144 0.0 1.23422 -0.85446 0.0 # 144 --> "H - HC | alkene H (H-C=)" + $atom:h22 $mol @atom:144 0.0 1.23422 0.85446 0.0 # 144 --> "H - HC | alkene H (H-C=)" } # Note: You don't have to specify the charge in this example because we are diff --git a/examples/all_atom/force_field_OPLSAA/hexadecane/moltemplate_files/ch2group.lt b/examples/all_atom/force_field_OPLSAA/hexadecane/moltemplate_files/ch2.lt similarity index 92% rename from examples/all_atom/force_field_OPLSAA/hexadecane/moltemplate_files/ch2group.lt rename to examples/all_atom/force_field_OPLSAA/hexadecane/moltemplate_files/ch2.lt index 7576d0a8..1ae6519b 100644 --- a/examples/all_atom/force_field_OPLSAA/hexadecane/moltemplate_files/ch2group.lt +++ b/examples/all_atom/force_field_OPLSAA/hexadecane/moltemplate_files/ch2.lt @@ -12,9 +12,11 @@ import "loplsaa.lt" # <-- defines the standard "OPLSAA" force field as well as # atom types below from "@atom:57L","@atom:60LCH2" to # "@atom:57" and "@atom:60" (defined in "oplsaa.lt") +# The "loplsaa.lt" and "oplsaa.lt" files are located at: +# https://github.com/jewettaij/moltemplate/tree/master/moltemplate/force_fields/ +# If you want to customize these files, download them and copy them to this folder. -# Then define "CH2": CH2 inherits OPLSAA { diff --git a/examples/all_atom/force_field_OPLSAA/star_polymer/moltemplate_files/ch3group.lt b/examples/all_atom/force_field_OPLSAA/hexadecane/moltemplate_files/ch3.lt similarity index 90% rename from examples/all_atom/force_field_OPLSAA/star_polymer/moltemplate_files/ch3group.lt rename to examples/all_atom/force_field_OPLSAA/hexadecane/moltemplate_files/ch3.lt index cb614f65..f6269935 100644 --- a/examples/all_atom/force_field_OPLSAA/star_polymer/moltemplate_files/ch3group.lt +++ b/examples/all_atom/force_field_OPLSAA/hexadecane/moltemplate_files/ch3.lt @@ -10,11 +10,13 @@ import "loplsaa.lt" # <-- defines the standard "OPLSAA" force field as well as # To use the ordinary OPLSAA force field parameters, # (instead of the Sui et al. parameters), change the # atom types below from "@atom:54L","@atom:60LCH3" to - # "@atom:54" and "@atom:85" (defined in "oplsaa.lt") + # "@atom:54" and "@atom:60" (defined in "oplsaa.lt") +# The "loplsaa.lt" and "oplsaa.lt" files are located at: +# https://github.com/jewettaij/moltemplate/tree/master/moltemplate/force_fields/ +# If you want to customize these files, download them and copy them to this folder. -# Then define "CH3": CH3 inherits OPLSAA { diff --git a/examples/all_atom/force_field_OPLSAA/hexadecane/moltemplate_files/hexadecane.lt b/examples/all_atom/force_field_OPLSAA/hexadecane/moltemplate_files/hexadecane.lt index b2f0ae49..075dd567 100644 --- a/examples/all_atom/force_field_OPLSAA/hexadecane/moltemplate_files/hexadecane.lt +++ b/examples/all_atom/force_field_OPLSAA/hexadecane/moltemplate_files/hexadecane.lt @@ -5,8 +5,8 @@ # it to change the length of the alkane chain. -import "ch2group.lt" # load the definition of the "CH2" object -import "ch3group.lt" # load the definition of the "CH3" object +import "ch2.lt" # load the definition of the "CH2" object +import "ch3.lt" # load the definition of the "CH3" object diff --git a/examples/all_atom/force_field_OPLSAA/alkane_chain_single/moltemplate_files/ch2group.lt b/examples/all_atom/force_field_OPLSAA/star_polymer/moltemplate_files/ch2.lt similarity index 100% rename from examples/all_atom/force_field_OPLSAA/alkane_chain_single/moltemplate_files/ch2group.lt rename to examples/all_atom/force_field_OPLSAA/star_polymer/moltemplate_files/ch2.lt diff --git a/examples/all_atom/force_field_OPLSAA/alkane_chain_single/moltemplate_files/ch3group.lt b/examples/all_atom/force_field_OPLSAA/star_polymer/moltemplate_files/ch3.lt similarity index 100% rename from examples/all_atom/force_field_OPLSAA/alkane_chain_single/moltemplate_files/ch3group.lt rename to examples/all_atom/force_field_OPLSAA/star_polymer/moltemplate_files/ch3.lt diff --git a/examples/all_atom/force_field_OPLSAA/star_polymer/moltemplate_files/polyethylene16.lt b/examples/all_atom/force_field_OPLSAA/star_polymer/moltemplate_files/polyethylene16.lt index bbd19f0e..174ace49 100644 --- a/examples/all_atom/force_field_OPLSAA/star_polymer/moltemplate_files/polyethylene16.lt +++ b/examples/all_atom/force_field_OPLSAA/star_polymer/moltemplate_files/polyethylene16.lt @@ -5,9 +5,9 @@ # it to change the length of the alkane chain. -import "oplsaa.lt" # load the "OPLSAA" force-field information -import "ch2group.lt" # load the definition of the "CH2" object -import "ch3group.lt" # load the definition of the "CH3" object +import "oplsaa.lt" # load the "OPLSAA" object (force-field information) +import "ch2.lt" # load the definition of the "CH2" object +import "ch3.lt" # load the definition of the "CH3" object diff --git a/examples/all_atom/force_field_OPLSAA/waterSPC_using_OPLSAA/README.txt b/examples/all_atom/force_field_OPLSAA/waterSPC/README.txt similarity index 100% rename from examples/all_atom/force_field_OPLSAA/waterSPC_using_OPLSAA/README.txt rename to examples/all_atom/force_field_OPLSAA/waterSPC/README.txt diff --git a/examples/all_atom/force_field_OPLSAA/waterSPC_using_OPLSAA/README_remove_irrelevant_info.sh b/examples/all_atom/force_field_OPLSAA/waterSPC/README_remove_irrelevant_info.sh similarity index 100% rename from examples/all_atom/force_field_OPLSAA/waterSPC_using_OPLSAA/README_remove_irrelevant_info.sh rename to examples/all_atom/force_field_OPLSAA/waterSPC/README_remove_irrelevant_info.sh diff --git a/examples/all_atom/force_field_OPLSAA/waterSPC_using_OPLSAA/README_run.sh b/examples/all_atom/force_field_OPLSAA/waterSPC/README_run.sh similarity index 100% rename from examples/all_atom/force_field_OPLSAA/waterSPC_using_OPLSAA/README_run.sh rename to examples/all_atom/force_field_OPLSAA/waterSPC/README_run.sh diff --git a/examples/all_atom/force_field_OPLSAA/waterSPC_using_OPLSAA/README_setup.sh b/examples/all_atom/force_field_OPLSAA/waterSPC/README_setup.sh similarity index 100% rename from examples/all_atom/force_field_OPLSAA/waterSPC_using_OPLSAA/README_setup.sh rename to examples/all_atom/force_field_OPLSAA/waterSPC/README_setup.sh diff --git a/examples/all_atom/force_field_OPLSAA/waterSPC_using_OPLSAA/README_visualize.txt b/examples/all_atom/force_field_OPLSAA/waterSPC/README_visualize.txt similarity index 100% rename from examples/all_atom/force_field_OPLSAA/waterSPC_using_OPLSAA/README_visualize.txt rename to examples/all_atom/force_field_OPLSAA/waterSPC/README_visualize.txt diff --git a/examples/all_atom/force_field_OPLSAA/waterSPC_using_OPLSAA/TEST_density_estimate.txt b/examples/all_atom/force_field_OPLSAA/waterSPC/TEST_density_estimate.txt similarity index 100% rename from examples/all_atom/force_field_OPLSAA/waterSPC_using_OPLSAA/TEST_density_estimate.txt rename to examples/all_atom/force_field_OPLSAA/waterSPC/TEST_density_estimate.txt diff --git a/examples/all_atom/force_field_OPLSAA/waterSPC_using_OPLSAA/moltemplate_files/system.lt b/examples/all_atom/force_field_OPLSAA/waterSPC/moltemplate_files/system.lt similarity index 69% rename from examples/all_atom/force_field_OPLSAA/waterSPC_using_OPLSAA/moltemplate_files/system.lt rename to examples/all_atom/force_field_OPLSAA/waterSPC/moltemplate_files/system.lt index eb13ac41..e5360565 100644 --- a/examples/all_atom/force_field_OPLSAA/waterSPC_using_OPLSAA/moltemplate_files/system.lt +++ b/examples/all_atom/force_field_OPLSAA/waterSPC/moltemplate_files/system.lt @@ -1,7 +1,9 @@ import "spc_oplsaa.lt" # <- defines the "SPC" (water) molecule type -# NOTE: The "spc_oplsaa.lt" file is located in the moltemplate/force_fields/ -# folder (distributed with moltemplate). +# Note: The "spc_oplsaa.lt" file is located at: +# https://github.com/jewettaij/moltemplate/tree/master/moltemplate/force_fields/ +# (If you want to customize it, you can download it and copy it to this folder.) + # Periodic boundary conditions: write_once("Data Boundary") { diff --git a/examples/all_atom/force_field_OPLSAA/waterSPC_using_OPLSAA/run.in.npt b/examples/all_atom/force_field_OPLSAA/waterSPC/run.in.npt similarity index 100% rename from examples/all_atom/force_field_OPLSAA/waterSPC_using_OPLSAA/run.in.npt rename to examples/all_atom/force_field_OPLSAA/waterSPC/run.in.npt diff --git a/examples/all_atom/force_field_OPLSAA/waterSPC_using_OPLSAA/run.in.nvt b/examples/all_atom/force_field_OPLSAA/waterSPC/run.in.nvt similarity index 100% rename from examples/all_atom/force_field_OPLSAA/waterSPC_using_OPLSAA/run.in.nvt rename to examples/all_atom/force_field_OPLSAA/waterSPC/run.in.nvt diff --git a/examples/all_atom/force_field_OPLSAA/waterSPCE+methane/moltemplate_files/methane.lt b/examples/all_atom/force_field_OPLSAA/waterSPCE+methane/moltemplate_files/methane.lt index 5858fee0..e4fe6759 100644 --- a/examples/all_atom/force_field_OPLSAA/waterSPCE+methane/moltemplate_files/methane.lt +++ b/examples/all_atom/force_field_OPLSAA/waterSPCE+methane/moltemplate_files/methane.lt @@ -1,9 +1,13 @@ import "oplsaa.lt" -# file used to generate "oplsaa.lt". +# The "oplsaa.lt" file defines these atom types: +# @atom:138 CH4 C: methane mod 1/2020 +# @atom:140 H H: alkanes +# The "oplsaa.lt" file is located at: +# https://github.com/jewettaij/moltemplate/tree/master/moltemplate/force_fields/ +# If you want to customize oplsaa.lt, download it and copy it to this folder. + -# atom 138 CH4 all-atom C: methane mod 1/2020 -# atom 140 H all-atom H: alkanes Methane inherits OPLSAA { diff --git a/examples/all_atom/force_field_OPLSAA/waterSPCE+methane/moltemplate_files/system.lt b/examples/all_atom/force_field_OPLSAA/waterSPCE+methane/moltemplate_files/system.lt index 040442df..89c79005 100644 --- a/examples/all_atom/force_field_OPLSAA/waterSPCE+methane/moltemplate_files/system.lt +++ b/examples/all_atom/force_field_OPLSAA/waterSPCE+methane/moltemplate_files/system.lt @@ -1,6 +1,11 @@ import "methane.lt" # <- defines the "Methane" molecule type (uses OPLSAA) import "spce_oplsaa.lt" # <- defines the "SPCE" (water) molecule type. +# Note: The "spc_oplsaa.lt" file is located at: +# https://github.com/jewettaij/moltemplate/tree/master/moltemplate/force_fields/ +# (If you want to customize it, you can download it and copy it to this folder.) + + # Periodic boundary conditions: write_once("Data Boundary") { 0.0 41.50 xlo xhi @@ -24,3 +29,12 @@ methanes = new Methane [4].move(0, 0, 10.35) # Move the methane molecules slightly to reduce overlap with the water methanes[*][*][*].move(1.725, 1.725, 1.725) + +# Note1: You can use the "new random" command to create mixtures of different +# molecule types containing an arbitrary number of molecules arranged on +# a periodic lattice. (This works if all molecules have similar size.) +# See manual (ch8.9.1): https://moltemplate.org/doc/moltemplate_manual.pdf +# Note2: More generally you can use PACKMOL to create mixtures of molecules. +# It allows us to omit the coordinates and .move() commands. And you can +# specify the number of molecules you want more precisely. See example: +# https://github.com/jewettaij/moltemplate/tree/master/examples/all_atom/force_field_OPLSAA/ethylene+benzene_PACKMOL/ diff --git a/examples/all_atom/force_field_OPLSAA/waterTIP3P+methane/moltemplate_files/methane.lt b/examples/all_atom/force_field_OPLSAA/waterTIP3P+methane/moltemplate_files/methane.lt index 5858fee0..e4fe6759 100644 --- a/examples/all_atom/force_field_OPLSAA/waterTIP3P+methane/moltemplate_files/methane.lt +++ b/examples/all_atom/force_field_OPLSAA/waterTIP3P+methane/moltemplate_files/methane.lt @@ -1,9 +1,13 @@ import "oplsaa.lt" -# file used to generate "oplsaa.lt". +# The "oplsaa.lt" file defines these atom types: +# @atom:138 CH4 C: methane mod 1/2020 +# @atom:140 H H: alkanes +# The "oplsaa.lt" file is located at: +# https://github.com/jewettaij/moltemplate/tree/master/moltemplate/force_fields/ +# If you want to customize oplsaa.lt, download it and copy it to this folder. + -# atom 138 CH4 all-atom C: methane mod 1/2020 -# atom 140 H all-atom H: alkanes Methane inherits OPLSAA { diff --git a/examples/all_atom/force_field_OPLSAA/waterTIP3P+methane/moltemplate_files/system.lt b/examples/all_atom/force_field_OPLSAA/waterTIP3P+methane/moltemplate_files/system.lt index 5a676a47..a75200b5 100644 --- a/examples/all_atom/force_field_OPLSAA/waterTIP3P+methane/moltemplate_files/system.lt +++ b/examples/all_atom/force_field_OPLSAA/waterTIP3P+methane/moltemplate_files/system.lt @@ -1,5 +1,10 @@ import "tip3p_2004_oplsaa.lt" # <- defines the "SPCE" (water) molecule type. -import "methane.lt" # <- defines the "Methane" molecule type (uses OPLSAA) +import "methane.lt" # <- defines the "Methane" molecule type + +# Note: The "tip3p_2004_oplsaa.lt" file is located at: +# https://github.com/jewettaij/moltemplate/tree/master/moltemplate/force_fields/ +# (If you want to customize it, you can download it and copy it to this folder.) + # Periodic boundary conditions: write_once("Data Boundary") { @@ -24,3 +29,13 @@ methanes = new Methane [4].move(0, 0, 10.35) # Move the methane molecules slightly to reduce overlap with the water methanes[*][*][*].move(1.725, 1.725, 1.725) + +# Note1: You can use the "new random" command to create mixtures of different +# molecule types containing an arbitrary number of molecules arranged on +# a periodic lattice. (This works if all molecules have similar size.) +# See manual (ch8.9.1): https://moltemplate.org/doc/moltemplate_manual.pdf +# Note2: More generally you can use PACKMOL to create mixtures of molecules. +# It allows us to omit the coordinates and .move() commands. And you can +# specify the number of molecules you want more precisely. See example: +# https://github.com/jewettaij/moltemplate/tree/master/examples/all_atom/force_field_OPLSAA/ethylene+benzene_PACKMOL/ + diff --git a/examples/all_atom/force_field_OPLSAA/waterTIP5P+ethanol/moltemplate_files/ethanol.lt b/examples/all_atom/force_field_OPLSAA/waterTIP5P+ethanol/moltemplate_files/ethanol.lt index ceae7028..bf4528d8 100644 --- a/examples/all_atom/force_field_OPLSAA/waterTIP5P+ethanol/moltemplate_files/ethanol.lt +++ b/examples/all_atom/force_field_OPLSAA/waterTIP5P+ethanol/moltemplate_files/ethanol.lt @@ -1,15 +1,17 @@ -import "oplsaa.lt" # OPLSAA atom types and force field parameters +import "oplsaa.lt" -# Atom type numbers are from the "oplsaa.lt" file -# (located in moltemplate/force_fields/) Excerpt: -# +# The "oplsaa.lt" file defines these atom types: # @atom:54 charge -0.18 "C - CT | n-CH3 C: alkane" # @atom:60 charge 0.06 "H - HC | H: alkanes" # @atom:154 charge -0.683 "O - OH | O: mono alcohols" # @atom:155 charge 0.418 "H - HO | H(O): mono alcohols" # @atom:157 charge 0.145 "C - CT | C: CH3 & CH2, prim. alcohols # @atom:176 charge 0.06 "H - HC | H(CXOH): diols, triols OPLS/2020" +# The "oplsaa.lt" file is located at: +# https://github.com/jewettaij/moltemplate/tree/master/moltemplate/force_fields/ +# If you want to customize oplsaa.lt, download it and copy it to this folder. + Ethanol inherits OPLSAA { diff --git a/examples/all_atom/force_field_OPLSAA/waterTIP5P+ethanol/moltemplate_files/system.lt b/examples/all_atom/force_field_OPLSAA/waterTIP5P+ethanol/moltemplate_files/system.lt index ca4f5103..4668b058 100644 --- a/examples/all_atom/force_field_OPLSAA/waterTIP5P+ethanol/moltemplate_files/system.lt +++ b/examples/all_atom/force_field_OPLSAA/waterTIP5P+ethanol/moltemplate_files/system.lt @@ -1,6 +1,19 @@ import "ethanol.lt" # <-defines the "Ethanol" molecule type import "tip5p_oplsaa.lt" # <-defines the "TIP5P" (water) molecule type +# Note: The "tip5p_oplsaa.lt" file is located at: +# https://github.com/jewettaij/moltemplate/tree/master/moltemplate/force_fields/ +# (If you want to customize it, you can download it and copy it to this folder.) + + + +# Periodic boundary conditions: +write_once("Data Boundary") { + 0.0 27.6 xlo xhi + 0.0 27.6 ylo yhi + 0.0 27.6 zlo zhi +} + waters = new TIP5P [8].move(0.00, 0.00, 3.45) [8].move(0.00, 3.45, 0.00) @@ -15,10 +28,11 @@ ethanols[*][*][*].move(1.725, 1.725, 1.725) -# Periodic boundary conditions: -write_once("Data Boundary") { - 0.0 27.6 xlo xhi - 0.0 27.6 ylo yhi - 0.0 27.6 zlo zhi -} - +# Note1: You can use the "new random" command to create mixtures of different +# molecule types containing an arbitrary number of molecules arranged on +# a periodic lattice. (This works if all molecules have similar size.) +# See manual (ch8.9.1): https://moltemplate.org/doc/moltemplate_manual.pdf +# Note2: More generally you can use PACKMOL to create mixtures of molecules. +# It allows us to omit the coordinates and .move() commands. And you can +# specify the number of molecules you want more precisely. See example: +# https://github.com/jewettaij/moltemplate/tree/master/examples/all_atom/force_field_OPLSAA/ethylene+benzene_PACKMOL/