mirror of
https://git.gfz-potsdam.de/naaice/poet.git
synced 2025-12-15 20:38:23 +01:00
Update README.md
This commit is contained in:
parent
8b9450d3c0
commit
f835d90b58
47
README.md
47
README.md
@ -5,11 +5,11 @@
|
|||||||
# POET
|
# POET
|
||||||
|
|
||||||
POET is a coupled reactive transport simulator implementing a parallel
|
POET is a coupled reactive transport simulator implementing a parallel
|
||||||
architecture and a fast distributed hash table.
|
architecture and a fast, original MPI-based Distributed Hash Table.
|
||||||
|
|
||||||
## External Libraries
|
## External Libraries
|
||||||
|
|
||||||
We use external libraries:
|
The following external header library is shipped with POET:
|
||||||
|
|
||||||
- **argh** - https://github.com/adishavit/argh (BSD license)
|
- **argh** - https://github.com/adishavit/argh (BSD license)
|
||||||
|
|
||||||
@ -24,20 +24,19 @@ To compile POET you need several software to be installed:
|
|||||||
- R language and environment
|
- R language and environment
|
||||||
- CMake 3.9+
|
- CMake 3.9+
|
||||||
|
|
||||||
If documantiation should be build during compilation `doxygen`and `graphviz`
|
If you want to build documentation during compilation, `doxygen`and `graphviz` must be provided too.
|
||||||
must be provided too.
|
|
||||||
|
|
||||||
The following R libraries must then be installed:
|
The following R libraries must then be installed, which will get the needed dependencies automatically:
|
||||||
|
|
||||||
- [devtools](https://www.r-project.org/nosvn/pandoc/devtools.html)
|
- [devtools](https://www.r-project.org/nosvn/pandoc/devtools.html)
|
||||||
- [Rcpp](https://cran.r-project.org/web/packages/Rcpp/index.html)
|
- [Rcpp](https://cran.r-project.org/web/packages/Rcpp/index.html)
|
||||||
- [RInside](https://cran.r-project.org/web/packages/RInside/index.html)
|
- [RInside](https://cran.r-project.org/web/packages/RInside/index.html)
|
||||||
- [RedModRphree](https://gitext.gfz-potsdam.de/delucia/RedModRphree)
|
- [RedModRphree](https://git.gfz-potsdam.de/delucia/RedModRphree)
|
||||||
- [Rmufits](https://gitext.gfz-potsdam.de/delucia/Rmufits)
|
- [Rmufits](https://git.gfz-potsdam.de/delucia/Rmufits)
|
||||||
|
|
||||||
### Compiling source code
|
### Compiling source code
|
||||||
|
|
||||||
The generation of makefiles is done with CMake. If you obtain POET from a git repository you should be able to generate Makefiles by running
|
The generation of makefiles is done with CMake. If you obtained POET from git, you should be able to generate Makefiles by running
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
mkdir build && cd build
|
mkdir build && cd build
|
||||||
@ -79,8 +78,8 @@ $ R
|
|||||||
|
|
||||||
# install R dependencies
|
# install R dependencies
|
||||||
> install.packages(c("devtools", "Rcpp", "RInside"))
|
> install.packages(c("devtools", "Rcpp", "RInside"))
|
||||||
> devtools::install_git("https://gitext.gfz-potsdam.de/delucia/RedModRphree.git")
|
> devtools::install_gitlab("delucia/RedModRphree", host="https://git.gfz-potsdam.de")
|
||||||
> devtools::install_git("https://gitext.gfz-potsdam.de/delucia/Rmufits.git")
|
> devtools::install_gitlab("delucia/Rmufits", host="https://git.gfz-potsdam.de")
|
||||||
> q(save="no")
|
> q(save="no")
|
||||||
|
|
||||||
# cd into POET project root
|
# cd into POET project root
|
||||||
@ -94,8 +93,8 @@ $ make install
|
|||||||
```
|
```
|
||||||
|
|
||||||
This will install a POET project structure into `/home/<user>/poet` which is
|
This will install a POET project structure into `/home/<user>/poet` which is
|
||||||
called hereinafter `<POET_INSTALL_DIR>`. With this version of POET I would not
|
called hereinafter `<POET_INSTALL_DIR>`. With this version of POET we **do not
|
||||||
recommend to install to hierarchies like `/usr/local/` etc.
|
recommend** to install to hierarchies like `/usr/local/` etc.
|
||||||
|
|
||||||
The correspondending directory tree would look like this:
|
The correspondending directory tree would look like this:
|
||||||
|
|
||||||
@ -115,12 +114,12 @@ The correspondending directory tree would look like this:
|
|||||||
└── parallel_r_library.R
|
└── parallel_r_library.R
|
||||||
```
|
```
|
||||||
|
|
||||||
The R libraries will be read in during runtime and the paths are hardcoded
|
The R libraries will be loaded at runtime and the paths are hardcoded
|
||||||
absolute paths inside `poet.cpp`. So, if you consider to move `bin/poet` either
|
absolute paths inside `poet.cpp`. So, if you consider to move `bin/poet` either
|
||||||
change paths of the R source files and recompile POET or also move `R_lib/*`
|
change paths of the R source files and recompile POET or also move `R_lib/*`
|
||||||
according to the binary.
|
according to the binary.
|
||||||
|
|
||||||
To display the generetated html documentation just open `docs/html/index.html`
|
To display the generated html documentation just open `docs/html/index.html`
|
||||||
with the browser of your choice.
|
with the browser of your choice.
|
||||||
|
|
||||||
## Running
|
## Running
|
||||||
@ -155,7 +154,7 @@ The following parameters can be set:
|
|||||||
|
|
||||||
#### Additions to `dht-signif`
|
#### Additions to `dht-signif`
|
||||||
|
|
||||||
Only used if no vector is given in setup file. For individual valuies per column
|
Only used if no vector is given in setup file. For individual values per column
|
||||||
use R vector `signif_vector` in `SIMFILE`.
|
use R vector `signif_vector` in `SIMFILE`.
|
||||||
|
|
||||||
#### Additions to `dht-snaps`
|
#### Additions to `dht-snaps`
|
||||||
@ -171,9 +170,10 @@ Following values can be set:
|
|||||||
### Example: Running from scratch
|
### Example: Running from scratch
|
||||||
|
|
||||||
We will continue the above example and start a simulation with `SimDol2D.R`,
|
We will continue the above example and start a simulation with `SimDol2D.R`,
|
||||||
which is the only simulation supported at this moment. To start the simulation
|
which is the only simulation supported at this moment. The required flow velocities
|
||||||
with 4 processes `cd` into your previously installed POET-dir
|
snapshots are included in the R package Rmufits. It's a 2D, 50x50 grid, with 20 time
|
||||||
`<POET_INSTALL_DIR>/bin` and run:
|
steps. To start the simulation with 4 processes `cd` into your previously installed
|
||||||
|
POET-dir `<POET_INSTALL_DIR>/bin` and run:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
mpirun -n 4 ./poet ../data/SimDol2D.R output
|
mpirun -n 4 ./poet ../data/SimDol2D.R output
|
||||||
@ -182,7 +182,7 @@ mpirun -n 4 ./poet ../data/SimDol2D.R output
|
|||||||
After a finished simulation all data generated by POET will be found in the
|
After a finished simulation all data generated by POET will be found in the
|
||||||
directory `output`.
|
directory `output`.
|
||||||
|
|
||||||
You might want to use the DHT to cache previously simulated data points and
|
You might want to use the DHT to cache previously simulated data and
|
||||||
reuse them in further time-steps. Just append `-dht` to the options of POET to
|
reuse them in further time-steps. Just append `-dht` to the options of POET to
|
||||||
activate the usage of the DHT. The resulting call would look like this:
|
activate the usage of the DHT. The resulting call would look like this:
|
||||||
|
|
||||||
@ -190,15 +190,6 @@ activate the usage of the DHT. The resulting call would look like this:
|
|||||||
mpirun -n 4 ./poet -dht SimDol2D.R output
|
mpirun -n 4 ./poet -dht SimDol2D.R output
|
||||||
```
|
```
|
||||||
|
|
||||||
## Examples included (more to come)
|
|
||||||
|
|
||||||
- **SimDol2D.R** - simple chemistry (Calcite/Dolomite) on a 50x50 2D grid, 20
|
|
||||||
time steps 2)
|
|
||||||
- ~~**SimDolKtz.R** - simple chemistry (Calcite/Dolomite) on Ketzin grid (~650k
|
|
||||||
elements), 20 time steps The flow snapshots are **NOT INCLUDED** in project
|
|
||||||
directory but must be provided separately.~~ At this moment **SimDolKtz.R** is
|
|
||||||
not supported.
|
|
||||||
|
|
||||||
## About the usage of MPI_Wtime()
|
## About the usage of MPI_Wtime()
|
||||||
|
|
||||||
Implemented time measurement functions uses `MPI_Wtime()`. Some important
|
Implemented time measurement functions uses `MPI_Wtime()`. Some important
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user