From 02a4ff109cacb7124ce41d10461bf7732eaee89f Mon Sep 17 00:00:00 2001 From: Thomas Reichenbach Date: Sun, 24 Mar 2024 16:59:18 +0100 Subject: [PATCH 1/4] DOC: Update reference for non-reactive force field --- docs/topology/parameters_Reichenbach2023.in | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/docs/topology/parameters_Reichenbach2023.in b/docs/topology/parameters_Reichenbach2023.in index 1fad0895b..353c4989f 100644 --- a/docs/topology/parameters_Reichenbach2023.in +++ b/docs/topology/parameters_Reichenbach2023.in @@ -1,6 +1,8 @@ # An All-Atom Force Field for Dry and Water-Lubricated Carbon Tribological Interfaces # Thomas Reichenbach, Severin Sylla, Leonhard Mayrhofer, Pedro Antonio Romero, Paul Schwarz, Michael Moseler, Gianpietro Moras -# DATE: 2023-12-22 +# J. Phys. Chem. C 128, 11, 4699-4721 (2024) +# https://doi.org/10.1021/acs.jpcc.3c07471 +# DATE: 2024-03-24 # # Parameters adopted from the literature: # H1 charge: W. Jorgensen et al., J. Am. Chem. Soc. 118, 45, 11225 (1996); https://doi.org/10.1021/ja9621760 - RH alkanes @@ -1664,4 +1666,4 @@ O2-O1 0.0 O2-O2 0.0 O2-OW 0.0 OW-C3 0.0 -OW-OW 0.0 \ No newline at end of file +OW-OW 0.0 From a6d26ce090eef9c5733df12b36150c9c7a267e55 Mon Sep 17 00:00:00 2001 From: Thomas Reichenbach Date: Sun, 24 Mar 2024 17:04:44 +0100 Subject: [PATCH 2/4] DOC: Rename parameter file --- ...arameters_Reichenbach2023.in => parameters_Reichenbach2024.in} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename docs/topology/{parameters_Reichenbach2023.in => parameters_Reichenbach2024.in} (100%) diff --git a/docs/topology/parameters_Reichenbach2023.in b/docs/topology/parameters_Reichenbach2024.in similarity index 100% rename from docs/topology/parameters_Reichenbach2023.in rename to docs/topology/parameters_Reichenbach2024.in From 57076d86e2cd2f2d312fe097a4373dd6832ef647 Mon Sep 17 00:00:00 2001 From: Thomas Reichenbach Date: Sun, 24 Mar 2024 17:15:14 +0100 Subject: [PATCH 3/4] DOC: Update references in non-reactive FF tutorial --- docs/topology/topology_building_aC.ipynb | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/topology/topology_building_aC.ipynb b/docs/topology/topology_building_aC.ipynb index f980175dd..509553b59 100644 --- a/docs/topology/topology_building_aC.ipynb +++ b/docs/topology/topology_building_aC.ipynb @@ -7,7 +7,7 @@ "source": [ "# Topology building for LAMMPS non-reactive MD simulations of amorphous carbon\n", "\n", - "This is an example of how to generate LAMMPS input files for simulations of water-lubricated amorphous carbon (a-C) interfaces with the non-reactive interatomic potential described in [Reichenbach et al.](https://doi.org/10.48550/arXiv.2310.12619) starting from a set of atomic coordinates. The parameter file can be found in `matscipy`'s `docs/topology/` directory. The example structure file `aC_H2O.xyz` (provided in the same directory) consists of two H/OH-terminated a-C slabs that are serparated by a couple of water molecules. Periodic boundary conditions are used in the interface plane." + "This is an example of how to generate LAMMPS input files for simulations of water-lubricated amorphous carbon (a-C) interfaces with the non-reactive interatomic potential described in [Reichenbach et al.](https://doi.org/10.1021/acs.jpcc.3c07471) starting from a set of atomic coordinates. The parameter file can be found in `matscipy`'s `docs/topology/` directory. The example structure file `aC_H2O.xyz` (provided in the same directory) consists of two H/OH-terminated a-C slabs that are serparated by a couple of water molecules. Periodic boundary conditions are used in the interface plane." ] }, { @@ -38,7 +38,7 @@ "source": [ "## Assignment of the different atom types\n", "\n", - "The following script assigns an atom type for each atom based on its neighbours and generates a new structure file `struct.extxyz` that includes these atom types, the atomic coordinates and molecular ids, which can at a later stage faciliate group assignments in LAMMPS. The script only assigns atom types for which parameters are available in `parameters_Reichenbach2023.in` and gives an error otherwise. Please modify at your convenience if you use other parameter sets. Note that the assignment is based on the cutoffs specified when building the neighbour list: `('C', 'C'): 1.85, ('C', 'H'): 1.15, ('C', 'O'): 1.55, ('O', 'H'): 1.3`. In most cases, it is desirable to choose these cutoffs in line with the cutoffs that are specified in the parameter file, which is used to generate the bonding topology later (here `parameters_Reichenbach2023.in`). The naming convention of the atom types follows Table 1 in [Reichenbach et al.](https://doi.org/10.48550/arXiv.2310.12619). Note that the script is rather strict and raises an error as soon as it encounters atoms that are in an unphysical or chemically not very stable environment such as C atoms with 5 neighbours or reactive sp-hybridised C on the surfaces. In these situations you may want to passivate the reactive atoms on the surfaces e.g. with H. Regarding C atoms with 5 C neighbours in the bulk, it may be acceptable to simply assign the `CD` atom type to them as long as you ensure that the bulk's elastic response is not affected by this. " + "The following script assigns an atom type for each atom based on its neighbours and generates a new structure file `struct.extxyz` that includes these atom types, the atomic coordinates and molecular ids, which can at a later stage faciliate group assignments in LAMMPS. The script only assigns atom types for which parameters are available in `parameters_Reichenbach2024.in` and gives an error otherwise. Please modify at your convenience if you use other parameter sets. Note that the assignment is based on the cutoffs specified when building the neighbour list: `('C', 'C'): 1.85, ('C', 'H'): 1.15, ('C', 'O'): 1.55, ('O', 'H'): 1.3`. In most cases, it is desirable to choose these cutoffs in line with the cutoffs that are specified in the parameter file, which is used to generate the bonding topology later (here `parameters_Reichenbach2024.in`). The naming convention of the atom types follows Table 1 in [Reichenbach et al.](https://doi.org/10.1021/acs.jpcc.3c07471). Note that the script is rather strict and raises an error as soon as it encounters atoms that are in an unphysical or chemically not very stable environment such as C atoms with 5 neighbours or reactive sp-hybridised C on the surfaces. In these situations you may want to passivate the reactive atoms on the surfaces e.g. with H. Regarding C atoms with 5 C neighbours in the bulk, it may be acceptable to simply assign the `CD` atom type to them as long as you ensure that the bulk's elastic response is not affected by this. " ] }, { @@ -254,12 +254,12 @@ "source": [ "## Generation of the bonding topology and LAMMPS input files\n", "\n", - "In the next step, we use `matscipy`'s routines to generate the bonding topology and create LAMMPS input files based on the parameters specified in `parameters_Reichenbach2023.in`.\n", + "In the next step, we use `matscipy`'s routines to generate the bonding topology and create LAMMPS input files based on the parameters specified in `parameters_Reichenbach2024.in`.\n", "This script generates three files:\n", "- `struct.lammps.atoms`, which contains the atomic structure and the bonding topology in a LAMMPS-readable way.\n", "- `struct.lammps.opls`, which contains the pair_styles and force field parameters in a LAMMPS-readable way.\n", "- `struct.lammps.in`, which is an example LAMMPS input script how to run a geometry optimisation.\n", - "Note that the script gives warnings of missing Dihedrals that are not part of the force field described in [Reichenbach et al.](https://doi.org/10.48550/arXiv.2310.12619) (e.g., C-C-C-C Dihedrals)." + "Note that the script gives warnings of missing Dihedrals that are not part of the force field described in [Reichenbach et al.](https://doi.org/10.1021/acs.jpcc.3c07471) (e.g., C-C-C-C Dihedrals)." ] }, { @@ -274,7 +274,7 @@ "import matscipy.opls\n", "import matscipy.io.opls\n", "\n", - "parameter_file = 'parameters_Reichenbach2023.in'\n", + "parameter_file = 'parameters_Reichenbach2024.in'\n", "\n", "s = matscipy.io.opls.read_extended_xyz('struct.extxyz')\n", "\n", From 7ba9dacd30869351ba181b02bf81d058ccce8337 Mon Sep 17 00:00:00 2001 From: Thomas Reichenbach Date: Sun, 24 Mar 2024 17:46:09 +0100 Subject: [PATCH 4/4] DOC: remove empty line