diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml index 23b705c22..cd3bb2185 100644 --- a/.github/workflows/documentation.yml +++ b/.github/workflows/documentation.yml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: fetch-depth: 0 diff --git a/.github/workflows/paper.yml b/.github/workflows/paper.yml index 763102460..3504eab14 100644 --- a/.github/workflows/paper.yml +++ b/.github/workflows/paper.yml @@ -6,7 +6,7 @@ jobs: name: Paper Draft steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v4 - name: Build draft PDF uses: openjournals/openjournals-draft-action@master with: @@ -14,7 +14,7 @@ jobs: # This should be the path to the paper within your repo. paper-path: paper/paper.md - name: Upload - uses: actions/upload-artifact@v1 + uses: actions/upload-artifact@v4 with: name: paper # This is the output path where Pandoc will write the compiled diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index d78f64b50..6bfc13b8a 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -15,7 +15,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: fetch-depth: 0 @@ -44,7 +44,7 @@ jobs: pytest -v --junitxml=report.xml --durations=20 - name: report - uses: mikepenz/action-junit-report@v2 + uses: mikepenz/action-junit-report@v4 if: always() with: report_paths: "**/report.xml" diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index 2ec22630a..e11bd7b14 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -42,11 +42,11 @@ jobs: with: platforms: all - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: fetch-depth: 0 - - uses: actions/setup-python@v2 + - uses: actions/setup-python@v5 with: python-version: '3.8' @@ -58,13 +58,13 @@ jobs: CIBW_ENVIRONMENT_PASS_LINUX: RUNNER_OS CIBW_TEST_COMMAND: python {project}/tests/test_ffi.py - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@v4 with: path: ./wheelhouse/*.whl name: ${{ matrix.python }}-${{ matrix.buildplat[1] }}-${{ matrix.buildplat[2] }} - name: Release wheels - uses: softprops/action-gh-release@v1 + uses: softprops/action-gh-release@v2 if: startsWith(github.ref, 'refs/tags/') with: files: wheelhouse/*.whl diff --git a/docs/requirements.txt b/docs/requirements.txt index 65129924a..7cc5cbcc7 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -3,4 +3,4 @@ ase>=3.16.0 sphinx_rtd_theme jupytext sphinxcontrib-spelling -nglview==3.0.8 +nglview==3.1.2 diff --git a/docs/topology/parameters_Reichenbach2023.in b/docs/topology/parameters_Reichenbach2024.in similarity index 99% rename from docs/topology/parameters_Reichenbach2023.in rename to docs/topology/parameters_Reichenbach2024.in index 1fad0895b..353c4989f 100644 --- a/docs/topology/parameters_Reichenbach2023.in +++ b/docs/topology/parameters_Reichenbach2024.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 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", diff --git a/pyproject.toml b/pyproject.toml index 97869c459..7fd80b849 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -50,7 +50,7 @@ docs = [ "sphinxcontrib-spelling", "pydata-sphinx-theme", "jupytext", - "nglview==3.0.8" # resolves https://github.com/libAtoms/matscipy/issues/222 + "nglview==3.1.2" # resolves https://github.com/libAtoms/matscipy/issues/222 ] cli = [ "argcomplete" diff --git a/renovate.json b/renovate.json new file mode 100644 index 000000000..5db72dd6a --- /dev/null +++ b/renovate.json @@ -0,0 +1,6 @@ +{ + "$schema": "https://docs.renovatebot.com/renovate-schema.json", + "extends": [ + "config:recommended" + ] +}