27 Commits

Author SHA1 Message Date
Max Luebke
a5c8982b98 feat: implement SEXP export of Field structure
feat: implement NamedVector based on Rcpp::NumericVector

feat: remove hard coded checks and substitute by R hook functions,
defined in the input script

refactor: modify API of DHT_Wrapper/InterpolationModule to expect a work
package structure, where input/output values are stored as 2D vectors

test: add tests for NamedVector

test: extend tests for Field
2023-08-17 10:51:54 +02:00
Max Luebke
ff8da12193 feat: enable interpolation without DHT lookup 2023-08-10 14:15:26 +02:00
Marco De Lucia
5ce26df771 MDL: replaced all cout/cerr with macros MSG, ERRMSG... 2023-08-09 12:22:03 +02:00
Max Luebke
999ecac139 feat: introduce LookupKey and rounding schemes
feat: implement data clustering using PHT

feat: implement interpolation

refactor: use named vector for DHT species definition and significant digits

data: remove unusable input scripts

data: move Phreeqc database to benchmark dir

refactor: rename dolomite benchmark directory

refactor: remove DHT prop type from input script
2023-08-01 18:34:50 +02:00
Max Luebke
3940df0283 refactor: implement R runtime as singleton pattern 2023-07-21 12:51:56 +02:00
Max Luebke
cab0d78b15 feat: toggle progressbar by commandline option 2023-07-12 12:56:36 +02:00
Max Lübke
1d484518f0 fix: re-enable DHT correctly
feat: store excess H and O instead of total values
2023-04-24 16:58:48 +02:00
Max Luebke
3c5a762f91 BREAKING CHANGE: use Field data structure instead of plain 1D vector to
store concentrations
2023-04-24 14:25:55 +02:00
Max Luebke
59d65e6e29 BREAKING CHANGE: use dump mechanism of PhreeqcRM-GFZ to get and set
internal variables

feat: enables exchange

data: added exchange only benchmark

data: applied required changes to benchmarks
2023-04-17 12:37:43 +02:00
Max Luebke
1d89835b16 fix: write fields using R after chem simulation 2023-03-07 13:44:41 +01:00
Max Luebke
a4a5595c9e BREAKING CHANGE: Introduce ChemistryModule as extension of PhreeqcRM 2023-03-07 13:44:41 +01:00
Max Luebke
8747917832 fix: do pre-copy of fields in grid class
The idea is to later define chains of module in the input script by
setting an input and output field and the according function to call.

Currently, the code is not ready for such a chain, but the change is
done in advance.
2023-01-23 16:36:54 +01:00
Max Luebke
376e7eab80 refactor: make Grid class a bit more generic 2023-01-23 14:57:26 +01:00
Max Luebke
f33ffbd82b fix: bring back old time and dt output to RDS file 2023-01-06 10:56:05 +01:00
Marco De Lucia
ab786e75da refactor: apply changes from MDL 2023-01-06 10:56:05 +01:00
Max Luebke
bae7d769e7 BREAKING CHANGE: utilize PhreeqcRM and bring back old DHT bindings 2023-01-06 10:56:01 +01:00
Max Luebke
f7dd417c14 refactor: rename ChemSim to ChemSeq
refactor: introduce new base class BaseChemModule for both sequential
and parallel chemistry module

refactor: iterative loop of simulations in poet application via template
function

This should make the application code more readable.
2023-01-06 10:51:03 +01:00
Max Luebke
f2c81df096 BREAKING CHANGE: substitute R bindings of Phreeqc by PhreeqcRM 2023-01-06 10:51:03 +01:00
Max Luebke
788513ff83 fix: missing namespace of phreeqcrm leads to ambiguous macro names 2023-01-06 10:51:02 +01:00
Max Luebke
af9a216e83 refactor: decouple ChemSim to ChemSimSeq and ChemSimPar
refactor: cleanup of header files
2023-01-06 10:51:02 +01:00
Max Lübke
756149c061 perf: remove unused R libraries/sources 2022-11-10 16:06:12 +01:00
Max Lübke
794cefdda3 perf: remove RRuntime as there is no need anymore 2022-11-10 16:06:12 +01:00
Max Lübke
bf9f369846 refactor: cleanup of code, renaming of chemsitry module function and some output added to the diffusion module 2022-11-10 16:06:11 +01:00
Max Lübke
5a89c78bbc feat: enable parallelization with tug 2022-11-10 16:06:11 +01:00
Max Lübke
776e7d14c7 feat: allow more than one iteration in sequential mode
fix: enable timesteps to simulate
2022-11-10 16:06:11 +01:00
Max Lübke
871a2ec82a BREAKING CHANGE: integrate 'tug' as diffusion module
It is now possible to run a simulation for one iteration in sequential
mode without the use of Rmufits.

According scripts are provided.

refactor: TransportSim renamed to DiffusionModule

refactor: parsing of R input script is now done outside of simulation
modules (except ChemSim)
2022-11-10 16:06:08 +01:00
Max Lübke
1783160ba7 build: move headers to include
build: instead of several libraries, build one lib and link to poet
application
2022-10-05 12:16:53 +02:00