-
-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #31 from precice/dumux-adapter-v2.0.0
Release v2.0.0
- Loading branch information
Showing
47 changed files
with
913 additions
and
1,581 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -3,7 +3,7 @@ | |
![build and test develop](https://github.com/precice/dumux-adapter/actions/workflows/build-and-test.yml/badge.svg) | ||
![build and test develop with DuMuX masters](https://github.com/precice/dumux-adapter/actions/workflows/build-and-test-dumux-master.yml/badge.svg) | ||
|
||
This repository provides a [DuMuX](https://dumux.org/)-specific adapter to couple to other codes using [preCICE](https://www.precice.org/). You can find the source code of this adapter [on GitHub](https://github.com/precice/dumux-adapter). The source code of the adapter was formerly stored [in a repository on the IWS GitLab](https://git.iws.uni-stuttgart.de/dumux-appl/dumux-precice). | ||
This repository provides a [DuMuX](https://dumux.org/)-specific adapter to couple to other codes using [preCICE](https://www.precice.org/). The source code of the adapter was formerly stored [in a repository on the IWS GitLab](https://git.iws.uni-stuttgart.de/dumux-appl/dumux-precice). | ||
|
||
## Structure of the repository | ||
|
||
|
@@ -23,13 +23,13 @@ The DuMuX-preCICE adapter is a DUNE module named `dumux-precice` which can be bu | |
|
||
### Prerequisites | ||
|
||
- DuMuX **newer** than 3.2 | ||
- DuMuX >= than 3.7 | ||
|
||
- Builds using the current `master` branch of DuMuX might fail. | ||
- If you run into trouble with a new DuMuX release, please open an issue in the repository and add the error message that you receive. | ||
- Needs UMFPack (available via SuiteSparse) as solver for linear systems of equations. This is needed to run the examples included in the adapter. Otherwise you can skip UMFPack. | ||
|
||
- preCICE >=2.0.0 | ||
- preCICE >=3.0.0 | ||
|
||
- The adapter is build via the DUNE build system that is based on CMake. Thus, the CMake [link instructions for preCICE](https://precice.org/installation-linking.html#cmake) apply. | ||
|
||
|
@@ -42,54 +42,54 @@ The DuMuX-preCICE adapter should build fine if DuMuX, preCICE and their dependen | |
|
||
### Detailed installation steps | ||
|
||
1. Install [DuMuX](https://dumux.org/) and the needed dependencies. The easiest way is to follow [DuMuX's installation instructions](https://dumux.org/installation/). The DuMuX project provides a script that installs and DuMuX and the DUNE modules required by DuMuX. This means, after installing DuMuX via the provided script you should be good to go to use the DuMuX-preCICE adapter. | ||
1. Install [DuMuX](https://dumux.org/) and the needed dependencies. The easiest way is to follow [DuMuX's installation instructions](https://dumux.org/docs/doxygen/master/installation.html). The DuMuX project provides a script that installs and DuMuX and the DUNE modules required by DuMuX. This means, after installing DuMuX via the provided script you should be good to go to use the DuMuX-preCICE adapter. | ||
|
||
After the installation you should have a root directory that contains the base DUNE modules, i.e. a number of directories named like `dune-common`, `dune-geometry` etc., and a directory called `dumux`. | ||
|
||
- Note that extended features of DuMuX or the DuMuX-preCICE adapter may need additional DUNE modules. | ||
|
||
2. Download the DuMuX-preCICE adapter to the same directory as the DUNE modules and the `dumux` folder. At the moment there are no adapter releases, besides an outdated `v0.1` release, such the best way is to checkout the `develop` branch of the adapter. | ||
2. Download the DuMuX-preCICE adapter to the same directory as the DUNE modules and the `dumux` folder. It is recommended to use the latest release of the adapter, which can be found by checking out the relevant release tag. | ||
|
||
```text | ||
git clone -b develop https://github.com/precice/dumux-adapter.git | ||
git clone -b v2.0.0 https://github.com/precice/dumux-adapter.git | ||
``` | ||
You can also try to clone the repository via SSH: | ||
```text | ||
git clone -b develop [email protected]:precice/dumux-adapter.git | ||
git clone -b v2.0.0 [email protected]:precice/dumux-adapter.git | ||
``` | ||
3. Verify that the `dumux-precice` folder is in the same directory as the DUNE module folders and the `dumux` folder. | ||
3. Verify that the `dumux-adapter` folder is in the same directory as the DUNE module folders and the `dumux` folder. | ||
4. Build and configure the adapter using `dunecontrol`. While being in the directory mentioned in the previous step via calling | ||
```text | ||
dunecontrol --only=dumux-precice all | ||
./dune-common/bin/dunecontrol --only=dumux-precice all | ||
``` | ||
After the build and configure step a new directory `build-cmake` was created inside the `dumux-precice` directory. | ||
After the build and configure step a new directory `build-cmake` was created inside the `dumux-adapter` directory. | ||
You can configure the build and configuration process using advanced options by manipulating CMake variables. `dunecontrol` allows to pass an options file for that | ||
```bash | ||
dunecontrol --opts=OPTSFILE.opts --only=dumux-precice all | ||
./dune-common/bin/dunecontrol --opts=OPTSFILE.opts --only=dumux-precice all | ||
``` | ||
There is an `opts`-file provided by the adapter that resides in `test/`. You can use it as | ||
```bash | ||
dunecontrol --opts=dumux-precice/test/cmake-test.opts --only=dumux-precice all | ||
./dune-common/bin/dunecontrol --opts=dumux-precice/test/cmake-test.opts --only=dumux-precice all | ||
``` | ||
This provided `cmake-test.opts` file turns off some system-dependent optimizations such that the tests create comparable results on different computers. | ||
For more ways do manipulate/adapt the build and configuration step, please consult the `dunecontrol` documentation. | ||
For more ways to manipulate/adapt the build and configuration step, please consult the `dunecontrol` documentation. | ||
5. Optional, but recommended: Build all tests to verify the installation. For this navigate in the `build-cmake/` directory and build the `build_tests` target. | ||
```bash | ||
cd dumux-precice/build-cmake | ||
cd dumux-adapter/build-cmake | ||
make -j1 build_tests | ||
``` | ||
|
@@ -131,4 +131,3 @@ There is no publication related to this code available yet. | |
### Publications using dumux-precice | ||
|
||
- Jaust A., Weishaupt K., Mehl M., Flemisch B. (2020) Partitioned Coupling Schemes for Free-Flow and Porous-Media Applications with Sharp Interfaces. In: Klöfkorn R., Keilegavlen E., Radu F., Fuhrmann J. (eds) Finite Volumes for Complex Applications IX - Methods, Theoretical Aspects, Examples. FVCA 2020. Springer Proceedings in Mathematics & Statistics, vol 323. Springer, Cham. <https://doi.org/10.1007/978-3-030-43651-3_57> | ||
- Code can be found at: <https://git.iws.uni-stuttgart.de/dumux-pub/jaust2020a> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,5 @@ | ||
# Adapter usage | ||
|
||
Please check out the examples in the `examples/` directory to get an idea on how to use the adapter. | ||
Please check out the examples in the `examples/` directory to get an idea on how to use the adapter. | ||
|
||
To use the adapter in a separate DUNE module, call `dune_enable_all_packages()` in the root `CMakeLists.txt` of the application module. If `libdumux-precice` is built as a static library, preCICE needs to be explicitly discovered with `find_package` as done in the root `CMakeLists.txt` of the adapter. To build the adapter library as a dynamic library, use the CMake option `-DBUILD_SHARED_LIBS=ON` to build `dumux-precice` and upstream modules. |
Oops, something went wrong.