Skip to content

Commit

Permalink
Merge branch 'master' into new_collcommobj
Browse files Browse the repository at this point in the history
  • Loading branch information
mikesoehner authored Jan 29, 2025
2 parents 31a5c6a + 2981975 commit 2b7ac0e
Show file tree
Hide file tree
Showing 323 changed files with 3,614 additions and 9,011 deletions.
5 changes: 5 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,3 +17,8 @@ Please describe the tests that you ran to verify your changes.

- [ ] Test A
- [ ] Test B

## Documentation
(Only relevant if this PR introduces new features)
- [ ] `all-options.xml` documents how to use the feature.
- [ ] The responsible `readXML()` documents how to use the feature.
8 changes: 7 additions & 1 deletion .github/workflows/ls1_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,9 +57,11 @@ jobs:
sudo apt-get update
# MPICH 4.0.3 seems to have a bug that triggers a FP exception in our collective communication when doing 0+0.
sudo apt-get install -y \
uuid-dev \
libcppunit-dev \
libopenmpi-dev \
libomp-dev
libomp-dev \
libxerces-c-dev
echo "Running ${JOBNAME}"
git status
mkdir build_${JOBNAME}
Expand All @@ -85,10 +87,12 @@ jobs:
cmake -DVECTOR_INSTRUCTIONS=${{ matrix.vector }} \
-DCMAKE_BUILD_TYPE=${{ matrix.target }} \
-DENABLE_AUTOPAS=${{ matrix.autopas }} \
-DAUTOPAS_ENABLE_RULES_BASED_AND_FUZZY_TUNING=ON \
-DENABLE_ALLLBL=$alllbl_enabled \
-DOPENMP=${{ matrix.openmp }} \
-DENABLE_MPI=$mpi_enabled \
-DENABLE_UNIT_TESTS=ON \
-DENABLE_VTK=ON \
..
cmake --build . --parallel 1
Expand Down Expand Up @@ -146,9 +150,11 @@ jobs:
cmake -DVECTOR_INSTRUCTIONS=${{ matrix.vector }} \
-DCMAKE_BUILD_TYPE=${{ matrix.target }} \
-DENABLE_AUTOPAS=${{ matrix.autopas }} \
-DAUTOPAS_ENABLE_RULES_BASED_AND_FUZZY_TUNING=ON \
-DENABLE_ALLLBL=$alllbl_enabled \
-DOPENMP=${{ matrix.openmp }} \
-DENABLE_MPI=$mpi_enabled \
-DENABLE_VTK=ON \
..
cmake --build . --parallel 1
Expand Down
12 changes: 6 additions & 6 deletions CITATION.cff
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
cff-version: 1.0.3
cff-version: 1.2.0
message: This file contains CFF citation information, cf. https://citation-file-format.github.io/, for the ls1 mardyn molecular dynamics code developed by the Boltzmann-Zuse Society for Computational Molecular Engineering.
title: ls1 mardyn
url: http://www.ls1-mardyn.de/
Expand All @@ -7,16 +7,16 @@ date-released: 2018-09-05
commit: Revision 6473.
version: Internal development version, situated between release 1.1.1 and prospective future release 1.2
license-url: http://www.ls1-mardyn.de/license.html
abstract: The molecular dynamics code ls1 mardyn (large systems 1: molecular dynamics), developed by the Boltzmann-Zuse Society for Computational Molecular Engineering, is a scalable massively-parallel molecular modelling and simulation code for classical-mechanical intermolecular pair potential models of low-molecular fluids.
abstract: "The molecular dynamics code ls1 mardyn (large systems 1: molecular dynamics), developed by the Boltzmann-Zuse Society for Computational Molecular Engineering, is a scalable massively-parallel molecular modelling and simulation code for classical-mechanical intermolecular pair potential models of low-molecular fluids."
contact:
- given-names: Philipp
family-names: Neumann
author:
authors:
- name: Boltzmann-Zuse Society for Computational Molecular Engineering
country: DE
references:
- type: article
title: ls1 mardyn: The massively parallel molecular dynamics code for large systems
preferred-citation:
type: article
title: "ls1 mardyn: The massively parallel molecular dynamics code for large systems"
year: 2014
authors:
- given-names: Christoph
Expand Down
3 changes: 0 additions & 3 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -70,9 +70,6 @@ include(autopas)
# ----- include mamico
include(mamico)

# ----- resilience plugin dependencies are set here
include(compression)

# ----- add adios2 dependency
include(adios2)

Expand Down
7 changes: 5 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ Prerequisites
* [FFTW3](http://www.fftw.org)
* [VTK](http://www.vtk.org)
* [QuickSched](https://arxiv.org/abs/1601.05384)

* If [AutoPas](https://autopas.github.io/doxygen_documentation/git-master/) is enabled, make sure to have [its requirements](https://github.com/AutoPas/AutoPas/blob/master/docs/userdoc/Building.md) installed.

Installation
------------
Expand Down Expand Up @@ -161,10 +161,13 @@ MarDyn [options] <inputfile>
```
where `MarDyn` is the executable build in the INSTALLATION section, `[options]` are any "--"-prefixed options as listed by `MarDyn --help` and `<inputfile>` is a input file.

Detailed help can be obtained by running
To get an overview of further command line options run
```sh
MarDyn --help
```

To understand how to write an input file check out [examples/all-options.xml](https://github.com/ls1mardyn/ls1-mardyn/blob/master/examples/all-options.xml), the various examples in the examples folder and the documentation of the various `readXML()` methods, e.g. via our doxygen documentation.

### running examples
ls1-MarDyn comes with a set of examples, which can be found in the examples folder.
```sh
Expand Down
4 changes: 2 additions & 2 deletions cmake/modules/autopas.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@ if (ENABLE_AUTOPAS)
set(AUTOPAS_USE_VECTORIZATION ${USE_VECTORIZATION} CACHE BOOL "Set via USE_VECTORIZATION" FORCE)
set(AUTOPAS_VECTOR_INSTRUCTIONS ${VECTOR_INSTRUCTIONS} CACHE STRING "Set via VECTOR_INSTRUCTIONS_OPTIONS" FORCE)

# Merge of #830 (fixRegionIterators); includes #787 (combined tuning)
set(AUTOPAS_TAG faef573 CACHE STRING "AutoPas Git tag or commit id to use")
# Last version without 3 Body support. Newer versions have API changes
set(AUTOPAS_TAG v2.0.0 CACHE STRING "AutoPas Git tag or commit id to use")

FetchContent_Declare(
autopasfetch
Expand Down
9 changes: 0 additions & 9 deletions cmake/modules/compression.cmake

This file was deleted.

39 changes: 0 additions & 39 deletions cmake/modules/lz4.cmake

This file was deleted.

21 changes: 9 additions & 12 deletions cmake/modules/mamico.cmake
Original file line number Diff line number Diff line change
@@ -1,18 +1,15 @@
option(MAMICO_COUPLING "Couple with MaMiCo" OFF)
if (MAMICO_COUPLING)
message(STATUS "MaMiCo coupling enabled. ls1 mardyn will compile as library. No executable will be created.")
set(MAMICO_COMPILE_DEFINITIONS MAMICO_COUPLING MDDim3)
option(MAMICO_ENABLE_FPIC "Enable -fPIC flag for MaMiCo python bindings" OFF)
set(MAMICO_SRC_DIR CACHE PATH "Root directory of the MaMiCo codebase")
message(STATUS "MaMiCo coupling enabled. ls1 mardyn will compile as library. No executable will be created.")
set(MAMICO_COMPILE_DEFINITIONS MAMICO_COUPLING MDDim3)
option(MAMICO_ENABLE_FPIC "Enable -fPIC flag for MaMiCo python bindings" OFF)
set(MAMICO_SRC_DIR CACHE PATH "Root directory of the MaMiCo codebase")
if(NOT MAMICO_SRC_DIR)
message(FATAL_ERROR "MaMiCo source directory not specified.")
endif()
if(ENABLE_MPI)
set(MAMICO_MPI_DEFINITIONS MDCoupledParallel TarchParallel)
endif()
if(MAMICO_ENABLE_FPIC)
set(MAMICO_COMPILE_OPTIONS "${MAMICO_COMPILE_OPTIONS} -fPIC")
endif()
message(FATAL_ERROR "MaMiCo source directory not specified.")
endif()
if(ENABLE_MPI)
set(MAMICO_MPI_DEFINITIONS MDCoupledParallel TarchParallel)
endif()
else()
message(STATUS "MaMiCo coupling disabled.")
endif()
3 changes: 1 addition & 2 deletions doc/Plugins_Summary.dox
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Plugin name | Up to 5 Keywords | Short Description (one line)
Adios2Reader | input, checkpoint, visualization, parallel, particle configurations, MegaMol | Requires ENABLE_ADIOS2=ON (downloads and installs ADIOS2 automatically, alternatively can use your preinstalled ADIOS2 with FIND_PACKAGE_ADIOS2=ON). Reads checkpoint for further computation. Use bpls tool (next to MarDyn executable) for investigation of ADIOS2 files or directories (*.bp).
Adios2Writer | output, checkpoint, visualization, parallel, particle configurations, MegaMol | Requires ENABLE_ADIOS2=ON (downloads and installs ADIOS2 automatically, alternatively can use your preinstalled ADIOS2 with FIND_PACKAGE_ADIOS2=ON). Writes out particle configuration including position, velocity, angular momentum, quaternions for all components. Also provides meta information such as the full configuration file, component information, process count, and bounding box.
CavityWriter | cavity, output, profile, grid | Sets up a grid of pseudo-molecules that check for neighbours in radius. Threshold determines if grid point counts as cavity or not. Output in .xyz format.
CheckpointWriter | checkpoint, legacy | (Legacy) Checkpoint writer. Hint: use <type>binary</type> to speed-up. See also MPICheckpointWriter and MPI_IOCheckpointWriter.
CheckpointWriter | checkpoint, legacy | (Legacy) Checkpoint writer. Hint: use <type>binary</type> to speed-up.
COMaligner | alignment, particleContainer utility, visualization | Calculates Center of Mass (COM) of all particles and aligns it with center of simulation box. Dimension/frequency/speed of alignment can be controlled via XML.
CommunicationPartnerWriter | mpi, communication, output, debugging | Prints the CommunicationPartners for each rank in a separate file.
DecompWriter | mpi, print | Writes information on the MPI Domain Decomposition. For each rank the boxmin and boxmax is printed.
Expand Down Expand Up @@ -46,7 +46,6 @@ MettDeamonFeedrateDirector | feed rate, director, reservoir, stationary, evapora
Mirror | reflection, mirror plane, wall, boundary condition | Reflect particles at a mirror plane employing different algorithms. This can be used as a simple wall or even more complex boundary conditions.
MmpldWriter | visualization, particle configurations, MegaMol, mmpld, binary | Output plugin writing visualization files containing multiple subsequently sampled frames of particle configurations in the binary MegaMol Particle List Data file format (MMPLD).
MmspdBinWriter | visualization, particle configurations, MegaMol, mmspd, binary | Output plugin writing visualization files containing multiple subsequently sampled frames of particle configurations in the binary MegaMol Simple Particle Data file format (MMSPD).
MPI_IOCheckpointWriter | checkpointing | WIP, not functionable
MPICheckpointWriter | checkpointing | WIP, not functionable (no proper reader existing)
ODF | orientation distribution function | Calculates the distribution of mutual orientations between dipolar molecules and writes them into an output. Always use dipolar vector [0 0 1] in the input when using this plugin. Only tested for molecules with exactly one dipole site. Application to other molecules should be possible with minor adjustments and some testing.
Permittivity | todo | Samples the relative permittivity for pure/mixed Stockmayer fluids and mixtures containing Stockmayer fluids and unpolar fluids. Requires long sampling times (i.e. several million steps). Using global thermostat is recommended.
Expand Down
50 changes: 0 additions & 50 deletions doc/compression.dox

This file was deleted.

Empty file modified examples/Adsorption-plugin-version/CO2/CO2_LJ93Wall.xdr
100755 → 100644
Empty file.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified examples/Adsorption-plugin-version/CO2/components_co2_stoll.xml
100755 → 100644
Empty file.
Empty file modified examples/Adsorption-plugin-version/CO2/run01/config.xml
100755 → 100644
Empty file.
Empty file.
2 changes: 1 addition & 1 deletion examples/Adsorption/Generator/adsorption.xml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
</domain>
<components>
<moleculetype id="1" name="fluid">
<site type="LJ126" id="1">
<site type="LJ126" id="1" name="LJTS">
<coords>
<x>0.0</x>
<y>0.0</y>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
</domain>
<components>
<moleculetype id="1" name="fluid">
<site type="LJ126" id="1">
<site type="LJ126" id="1" name="LJTS">
<coords>
<x>0.0</x>
<y>0.0</y>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
</domain>
<components>
<moleculetype id="1" name="fluid">
<site type="LJ126" id="1">
<site type="LJ126" id="1" name="LJTS">
<coords>
<x>0.0</x>
<y>0.0</y>
Expand Down
2 changes: 1 addition & 1 deletion examples/Argon/components.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<components version="20100525" >

<moleculetype id="1" name="Argon">
<site type="LJ126" id="1" >
<site type="LJ126" id="1" name="Ar">
<coords> <x>0.0</x> <y>0.0</y> <z>0.0</z> </coords>
<mass>0.039948</mass>
<sigma>6.4160007</sigma>
Expand Down
6 changes: 3 additions & 3 deletions examples/CO2/components.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,21 +2,21 @@
<components version="20100525" >

<moleculetype id="1" name="CO2">
<site type="LJ126" id="1" >
<site type="LJ126" id="1" name="C">
<coords> <x>0.0</x> <y>0.0</y> <z>0.0</z> </coords>
<mass>0.012</mass>
<sigma>5.31712452</sigma>
<epsilon>3.91811245e-05</epsilon>
<shifted>false</shifted>
</site>
<site type="LJ126" id="2" >
<site type="LJ126" id="2" name="O">
<coords> <x>0.0</x> <y>0.0</y> <z>-2.43188952</z> </coords>
<mass>0.016</mass>
<sigma>5.62288233</sigma>
<epsilon>0.00031824324</epsilon>
<shifted>false</shifted>
</site>
<site type="LJ126" id="3" >
<site type="LJ126" id="3" name="O">
<coords> <x>0.0</x> <y>0.0</y> <z>2.43188952</z> </coords>
<mass>0.016</mass>
<sigma>5.62288233</sigma>
Expand Down
4 changes: 2 additions & 2 deletions examples/DropletCoalescence/components.xml
100755 → 100644
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<components>

<moleculetype id="1" name="Argon">
<site type="LJ126" id="1" >
<site type="LJ126" id="1" name="Ar">
<coords> <x>0.0</x> <y>0.0</y> <z>0.0</z> </coords>
<mass>39.948</mass>
<sigma>3.3916</sigma>
Expand All @@ -18,7 +18,7 @@
</moleculetype>

<moleculetype id="2" name="Argon">
<site type="LJ126" id="1" >
<site type="LJ126" id="1" name="Ar">
<coords> <x>0.0</x> <y>0.0</y> <z>0.0</z> </coords>
<mass>39.948</mass>
<sigma>3.3916</sigma>
Expand Down
Empty file modified examples/DropletCoalescence/liq/config_2_replicateLiq.xml
100755 → 100644
Empty file.
Empty file modified examples/DropletCoalescence/mixing_2c.xml
100755 → 100644
Empty file.
Empty file modified examples/DropletCoalescence/vap/config_4_replicateVap.xml
100755 → 100644
Empty file.
Empty file modified examples/DropletCoalescence/vle/config_5_droplet.xml
100755 → 100644
Empty file.
6 changes: 3 additions & 3 deletions examples/Evaporation/stationary/components_3c.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

<components>
<moleculetype id="1" name="1CLJTS_freeze">
<site type="LJ126" id="1" >
<site type="LJ126" id="1" name="LJTS">
<coords> <x>0.0</x> <y>0.0</y> <z>0.0</z> </coords>
<mass>1.0</mass>
<sigma>1.0</sigma>
Expand All @@ -17,7 +17,7 @@
</moleculetype>

<moleculetype id="2" name="1CLJTS_j+">
<site type="LJ126" id="1" >
<site type="LJ126" id="1" name="LJTS">
<coords> <x>0.0</x> <y>0.0</y> <z>0.0</z> </coords>
<mass>1.0</mass>
<sigma>1.0</sigma>
Expand All @@ -32,7 +32,7 @@
</moleculetype>

<moleculetype id="3" name="1CLJTS_j-">
<site type="LJ126" id="1" >
<site type="LJ126" id="1" name="LJTS">
<coords> <x>0.0</x> <y>0.0</y> <z>0.0</z> </coords>
<mass>1.0</mass>
<sigma>1.0</sigma>
Expand Down
2 changes: 1 addition & 1 deletion examples/Evaporation/stationary/sphereparams_3c.xml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
<color>
<r>0</r>
<g>0</g>
<b>255</b>>
<b>255</b>
<alpha>255</alpha>
</color>
</site>
Expand Down
2 changes: 1 addition & 1 deletion examples/ExplodingLiquid/components.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

<components>
<moleculetype id="1" name="1CLJTS">
<site type="LJ126" id="1" >
<site type="LJ126" id="1" name="LJTS">
<coords> <x>0.0</x> <y>0.0</y> <z>0.0</z> </coords>
<mass>1</mass>
<sigma>1</sigma>
Expand Down
Loading

0 comments on commit 2b7ac0e

Please sign in to comment.