mirror of
https://git.gfz-potsdam.de/naaice/poet.git
synced 2025-12-13 11:28:24 +01:00
data: added surfex benchmark
This commit is contained in:
parent
32d35190cb
commit
27b94065ea
3718
bench/surfex/SMILE_2021_11_01_TH.dat
Normal file
3718
bench/surfex/SMILE_2021_11_01_TH.dat
Normal file
File diff suppressed because it is too large
Load Diff
56
bench/surfex/SurfExBase.pqi
Normal file
56
bench/surfex/SurfExBase.pqi
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
## Time-stamp: "Last modified 2023-02-27 14:31:11 delucia"
|
||||||
|
KNOBS
|
||||||
|
-logfile false
|
||||||
|
-iterations 10000
|
||||||
|
-convergence_tolerance 1E-12
|
||||||
|
-step_size 2
|
||||||
|
-pe_step_size 2
|
||||||
|
SELECTED_OUTPUT
|
||||||
|
-reset false
|
||||||
|
-high_precision true
|
||||||
|
-solution true
|
||||||
|
-state true
|
||||||
|
-step true
|
||||||
|
-pH true
|
||||||
|
-pe true
|
||||||
|
-ionic_strength true
|
||||||
|
-water true
|
||||||
|
USER_PUNCH
|
||||||
|
-head total_o total_h cb C(-4) C(4) Ca Cl Fe(2) Fe(3) H(0) K Mg Na S(-2) S(2) S(4) S(6) Sr U(4) U(5) U(6) UO2(am,hyd) KdU
|
||||||
|
-start
|
||||||
|
5 w=TOT("water")
|
||||||
|
10 PUNCH TOTMOLE("O"), TOTMOLE("H"), CHARGE_BALANCE, w*TOT("C(-4)"), w*TOT("C(4)"), w*TOT("Ca"), w*TOT("Cl"), w*TOT("Fe(2)"), w*TOT("Fe(3)"), w*TOT("H(0)"), w*TOT("K"), w*TOT("Mg"), w*TOT("Na"), w*TOT("S(-2)"), w*TOT("S(2)"), w*TOT("S(4)"), w*TOT("S(6)"), w*TOT("Sr"), w*TOT("U(4)"), w*TOT("U(5)"), w*TOT("U(6)"), EQUI("UO2(am,hyd)")
|
||||||
|
20 PUNCH ((SURF("U, Ill")+SURF("U, Mll")+SURF("U, Kln")+EDL("U, Ill")+EDL("U, Mll")+EDL("U, Kln"))/((TOT("U")*1.01583)))/(0.002251896406*1000)
|
||||||
|
-end
|
||||||
|
SOLUTION 1
|
||||||
|
temp 13
|
||||||
|
units mol/kgw
|
||||||
|
pH 7.06355
|
||||||
|
pe -2.626517
|
||||||
|
C(4) 0.001990694
|
||||||
|
Ca 0.02172649
|
||||||
|
Cl 0.3227673 charge
|
||||||
|
Fe 0.0001434717
|
||||||
|
K 0.001902357
|
||||||
|
Mg 0.01739704
|
||||||
|
Na 0.2762882
|
||||||
|
S(6) 0.01652701
|
||||||
|
Sr 0.0004520361
|
||||||
|
U(4) 8.147792e-12
|
||||||
|
U(6) 2.237946e-09
|
||||||
|
-water 0.00133
|
||||||
|
SURFACE 1
|
||||||
|
-equil 1
|
||||||
|
-sites_units density
|
||||||
|
-donnan 4.9e-10
|
||||||
|
Kln_aOH 1.155 11. 5.0518
|
||||||
|
Kln_siOH 1.155
|
||||||
|
Ill_sOH 0.05 100. 5.5931
|
||||||
|
Ill_wOH 2.26
|
||||||
|
Mll_sOH 0.05 100. 1.0825
|
||||||
|
Mll_wOH 2.26
|
||||||
|
EXCHANGE 1
|
||||||
|
-equil 1
|
||||||
|
Z 0.0012585
|
||||||
|
Y 0.0009418
|
||||||
|
END
|
||||||
139
bench/surfex/surfex.R
Normal file
139
bench/surfex/surfex.R
Normal file
@ -0,0 +1,139 @@
|
|||||||
|
## Time-stamp: "Last modified 2023-02-27 18:33:30 delucia"
|
||||||
|
|
||||||
|
database <- normalizePath("./SMILE_2021_11_01_TH.dat")
|
||||||
|
input_script <- normalizePath("./SurfExBase.pqi")
|
||||||
|
|
||||||
|
cat(paste(":: R This is a test 1\n"))
|
||||||
|
|
||||||
|
#################################################################
|
||||||
|
## Section 1 ##
|
||||||
|
## Grid initialization ##
|
||||||
|
#################################################################
|
||||||
|
|
||||||
|
n <- 10
|
||||||
|
m <- 10
|
||||||
|
|
||||||
|
types <- c("scratch", "phreeqc", "rds")
|
||||||
|
|
||||||
|
init_cell <- list(H = 1.476571028625e-01,
|
||||||
|
O = 7.392297218936e-02,
|
||||||
|
Charge = -1.765225732724e-18,
|
||||||
|
`C(-4)` = 2.477908970828e-21,
|
||||||
|
`C(4)` = 2.647623016916e-06,
|
||||||
|
Ca = 2.889623169138e-05,
|
||||||
|
Cl = 4.292806181039e-04,
|
||||||
|
`Fe(2)` =1.908142472666e-07,
|
||||||
|
`Fe(3)` =3.173306589931e-12,
|
||||||
|
`H(0)` =2.675642675119e-15,
|
||||||
|
K = 2.530134809667e-06,
|
||||||
|
Mg =2.313806319294e-05,
|
||||||
|
Na =3.674633059628e-04,
|
||||||
|
`S(-2)` = 8.589766637180e-15,
|
||||||
|
`S(2)` = 1.205284362720e-19,
|
||||||
|
`S(4)` = 9.108958772790e-18,
|
||||||
|
`S(6)` = 2.198092329098e-05,
|
||||||
|
Sr = 6.012080128154e-07,
|
||||||
|
`U(4)` = 1.039668623852e-14,
|
||||||
|
`U(5)` = 1.208394829796e-15,
|
||||||
|
`U(6)` = 2.976409147150e-12)
|
||||||
|
|
||||||
|
|
||||||
|
grid <- list(
|
||||||
|
n_cells = c(n, m),
|
||||||
|
s_cells = c(1, 1),
|
||||||
|
type = "scratch",
|
||||||
|
init_cell = as.data.frame(init_cell),
|
||||||
|
database = database,
|
||||||
|
input_script = input_script
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
##################################################################
|
||||||
|
## Section 2 ##
|
||||||
|
## Diffusion parameters and boundary conditions ##
|
||||||
|
##################################################################
|
||||||
|
|
||||||
|
vecinj_diffu <- list(
|
||||||
|
list(H = 0.147659686316291,
|
||||||
|
O = 0.0739242798146046,
|
||||||
|
Charge = 7.46361643222701e-20,
|
||||||
|
`C(-4)` = 2.92438561098248e-21,
|
||||||
|
`C(4)` = 2.65160558871092e-06,
|
||||||
|
Ca = 2.89001071336443e-05,
|
||||||
|
Cl = 0.000429291158114428,
|
||||||
|
`Fe(2)` = 1.90823391198114e-07,
|
||||||
|
`Fe(3)` = 3.10832423034763e-12,
|
||||||
|
`H(0)` = 2.7888235127385e-15,
|
||||||
|
K = 2.5301787e-06,
|
||||||
|
Mg = 2.31391999937907e-05,
|
||||||
|
Na = 0.00036746969,
|
||||||
|
`S(-2)` = 1.01376078438546e-14,
|
||||||
|
`S(2)` = 1.42247026981542e-19,
|
||||||
|
`S(4)` = 9.49422092568557e-18,
|
||||||
|
`S(6)` = 2.19812504654191e-05,
|
||||||
|
Sr = 6.01218519999999e-07,
|
||||||
|
`U(4)` = 4.82255946569383e-12,
|
||||||
|
`U(5)` = 5.49050615347901e-13,
|
||||||
|
`U(6)` = 1.32462838991902e-09)
|
||||||
|
)
|
||||||
|
|
||||||
|
## diffusion coefficients
|
||||||
|
alpha_diffu <- c(H = 1E-6, O = 1E-6, Charge = 1E-6, `C(-4)` = 1E-6,
|
||||||
|
`C(4)` = 1E-6, Ca = 1E-6, Cl = 1E-6, `Fe(2)` = 1E-6,
|
||||||
|
`Fe(3)` = 1E-6, `H(0)` = 1E-6, K = 1E-6, Mg = 1E-6,
|
||||||
|
Na = 1E-6, `S(-2)` = 1E-6, `S(2)` = 1E-6,
|
||||||
|
`S(4)` = 1E-6, `S(6)` = 1E-6, Sr = 1E-6,
|
||||||
|
`U(4)` = 1E-6, `U(5)` = 1E-6, `U(6)` = 1E-6)
|
||||||
|
|
||||||
|
## list of boundary conditions/inner nodes
|
||||||
|
|
||||||
|
## vecinj_inner <- list(
|
||||||
|
## list(1,1,1)
|
||||||
|
## )
|
||||||
|
|
||||||
|
boundary <- list(
|
||||||
|
"N" = rep(1, n),
|
||||||
|
"E" = rep(0, n),
|
||||||
|
"S" = rep(0, n),
|
||||||
|
"W" = rep(0, n)
|
||||||
|
)
|
||||||
|
|
||||||
|
diffu_list <- names(alpha_diffu)
|
||||||
|
|
||||||
|
diffusion <- list(
|
||||||
|
init = init_cell,
|
||||||
|
vecinj = do.call(rbind.data.frame, vecinj_diffu),
|
||||||
|
# vecinj_inner = vecinj_inner,
|
||||||
|
vecinj_index = boundary,
|
||||||
|
alpha = alpha_diffu
|
||||||
|
)
|
||||||
|
|
||||||
|
#################################################################
|
||||||
|
## Section 3 ##
|
||||||
|
## Chemistry module (Phreeqc) ##
|
||||||
|
#################################################################
|
||||||
|
|
||||||
|
|
||||||
|
chemistry <- list(
|
||||||
|
database = database,
|
||||||
|
input_script = input_script
|
||||||
|
)
|
||||||
|
|
||||||
|
#################################################################
|
||||||
|
## Section 4 ##
|
||||||
|
## Putting all those things together ##
|
||||||
|
#################################################################
|
||||||
|
|
||||||
|
|
||||||
|
iterations <- 10
|
||||||
|
dt <- 200
|
||||||
|
|
||||||
|
setup <- list(
|
||||||
|
grid = grid,
|
||||||
|
diffusion = diffusion,
|
||||||
|
chemistry = chemistry,
|
||||||
|
iterations = iterations,
|
||||||
|
timesteps = rep(dt, iterations),
|
||||||
|
store_result = TRUE,
|
||||||
|
out_save = c(5, iterations)
|
||||||
|
)
|
||||||
Loading…
x
Reference in New Issue
Block a user