Merge remote-tracking branch 'origin/main'

Max Lübke 2024-04-12 14:40:17 +02:00
commit ca11b9299d

@ -2,9 +2,7 @@
## Setup list
The _setup_ list holds all values, which can be parsed by poet. It's divided
into components of POET e.g. _chemistry_, _diffusion_ etc. and hold metadata
information like _timestep_ of each iteration, count of _iterations_ etc.
The _setup_ list holds all values, which can be parsed by poet. It's divided into components of POET e.g. _chemistry_, _diffusion_ etc. and hold metadata information like _timestep_ of each iteration, count of _iterations_ etc.
```r
# Define a setup list for simulation configuration
@ -40,9 +38,7 @@ Grid <- list(
## Diffusion
As the current code refactoring is still in progress, the diffusion setup is
focused on 2D grids. There is no support for 1D grids right now, but can be
implemented in the future quite easily.
As the current code refactoring is still in progress, the diffusion setup is focused on 2D grids. There is no support for 1D grids right now, but can be implemented in the future quite easily.
```r
Diffusion <- list(
@ -56,6 +52,11 @@ Diffusion <- list(
"E" = list(...),
# You can also leave sides out -> closed boundary on complete side
),
inner_boundaries = list( # define inner constant boundaries for diffusion
"row" = numeric(), # Define the row ID; counting begins @ 1
"col" = numeric(), # Define the column ID; counting begins @ 1
"sol_id" = numeric() # Define the Phreeqc solution ID for the boundary
),
# alphas can be set by a list of matrices for ALL species to transport
alpha_x = list(
"element1" = numeric(nrow * ncol), # column-major order
@ -74,14 +75,9 @@ Diffusion <- list(
## Chemistry
I think we need to refactor the list of inputs. Maybe we should move the hook
functions into a separate input file and evaluete them at runtime.
I think we need to refactor the list of inputs. Maybe we should move the hook functions into a separate input file and evaluete them at runtime.
Instead of preprocessing them and write them to the simulation initialization
file, my suggestion is to output a template file after initialization, defining
all species and allowing the user to adjust significant digits for DHT and
Interpolation keys. This file can, when not edited in its definings etc, be read
by POET without any problems.
Instead of preprocessing them and write them to the simulation initialization file, my suggestion is to output a template file after initialization, defining all species and allowing the user to adjust significant digits for DHT and Interpolation keys. This file can, when not edited in its definings etc, be read by POET without any problems.
For the hook functions, I don't have a good idea right now.
@ -92,8 +88,8 @@ Chemistry <- list(
hooks = list( # optional: List of hooks to run before and after certain steps
dht_fill = logical() <- function(numeric(), numeric()), # function to run before writing DHT
dht_fuzz = numeric() <- function(numeric()), # function to run before reading DHT
interp_pre_func = numeric() <- function(numeric(), list()), # function to run before interpolation
interp_post_func = logical() <- function(numeric()) # function to run after interpolation
interp_pre = numeric() <- function(numeric(), list()), # function to run before interpolation
interp_post = logical() <- function(numeric()) # function to run after interpolation
)
)
```