Update README.md

This commit is contained in:
Marco De Lucia 2021-02-24 12:52:28 +01:00
parent 8b9450d3c0
commit f835d90b58

View File

@ -5,11 +5,11 @@
# POET
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
We use external libraries:
The following external header library is shipped with POET:
- **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
- CMake 3.9+
If documantiation should be build during compilation `doxygen`and `graphviz`
must be provided too.
If you want to build documentation during compilation, `doxygen`and `graphviz` 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)
- [Rcpp](https://cran.r-project.org/web/packages/Rcpp/index.html)
- [RInside](https://cran.r-project.org/web/packages/RInside/index.html)
- [RedModRphree](https://gitext.gfz-potsdam.de/delucia/RedModRphree)
- [Rmufits](https://gitext.gfz-potsdam.de/delucia/Rmufits)
- [RedModRphree](https://git.gfz-potsdam.de/delucia/RedModRphree)
- [Rmufits](https://git.gfz-potsdam.de/delucia/Rmufits)
### 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
mkdir build && cd build
@ -79,8 +78,8 @@ $ R
# install R dependencies
> install.packages(c("devtools", "Rcpp", "RInside"))
> devtools::install_git("https://gitext.gfz-potsdam.de/delucia/RedModRphree.git")
> devtools::install_git("https://gitext.gfz-potsdam.de/delucia/Rmufits.git")
> devtools::install_gitlab("delucia/RedModRphree", host="https://git.gfz-potsdam.de")
> devtools::install_gitlab("delucia/Rmufits", host="https://git.gfz-potsdam.de")
> q(save="no")
# cd into POET project root
@ -94,8 +93,8 @@ $ make install
```
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
recommend to install to hierarchies like `/usr/local/` etc.
called hereinafter `<POET_INSTALL_DIR>`. With this version of POET we **do not
recommend** to install to hierarchies like `/usr/local/` etc.
The correspondending directory tree would look like this:
@ -115,12 +114,12 @@ The correspondending directory tree would look like this:
└── 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
change paths of the R source files and recompile POET or also move `R_lib/*`
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.
## Running
@ -155,7 +154,7 @@ The following parameters can be set:
#### 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`.
#### Additions to `dht-snaps`
@ -171,9 +170,10 @@ Following values can be set:
### Example: Running from scratch
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
with 4 processes `cd` into your previously installed POET-dir
`<POET_INSTALL_DIR>/bin` and run:
which is the only simulation supported at this moment. The required flow velocities
snapshots are included in the R package Rmufits. It's a 2D, 50x50 grid, with 20 time
steps. To start the simulation with 4 processes `cd` into your previously installed
POET-dir `<POET_INSTALL_DIR>/bin` and run:
```sh
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
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
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
```
## 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()
Implemented time measurement functions uses `MPI_Wtime()`. Some important