Skip to content

Commit

Permalink
Merge pull request #242 from threich/master
Browse files Browse the repository at this point in the history
DOC: update reference in non-reactive potential files
  • Loading branch information
pastewka authored Jul 16, 2024
2 parents 1a8a71a + 7ba9dac commit 8159f5d
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 7 deletions.
Original file line number Diff line number Diff line change
@@ -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
Expand Down Expand Up @@ -1664,4 +1666,4 @@ O2-O1 0.0
O2-O2 0.0
O2-OW 0.0
OW-C3 0.0
OW-OW 0.0
OW-OW 0.0
10 changes: 5 additions & 5 deletions docs/topology/topology_building_aC.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -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."
]
},
{
Expand Down Expand Up @@ -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. "
]
},
{
Expand Down Expand Up @@ -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)."
]
},
{
Expand All @@ -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",
Expand Down

0 comments on commit 8159f5d

Please sign in to comment.