Update benchmark

This commit is contained in:
Max Lübke 2024-04-02 22:52:17 +02:00
parent 534cc0f6bc
commit d10bf50f66
2 changed files with 27 additions and 19 deletions

View File

@ -28,7 +28,7 @@ init_cell <- list(
grid <- list(
n_cells = c(n, m),
s_cells = c(n*10, m*10),
s_cells = c(n, m),
type = types[1]
)
@ -53,15 +53,6 @@ init_adv <- c(
## list of boundary conditions/inner nodes
vecinj_adv <- list(
list(
"H" = 110.124,
"O" = 55.0622,
"Charge" = -1.217e-09,
"C(4)" = 0,
"Ca" = 0,
"Cl" = 0,
"Mg" = 0
),
list(
"H" = 110.683,
"O" = 55.3413,
@ -70,11 +61,27 @@ vecinj_adv <- list(
"Ca" = 0,
"Cl" = 0.002,
"Mg" = 0.001
),
list(
# "H" = 110.124,
# "O" = 55.0622,
# "Charge" = -1.216307659761E-09,
# "C(4)" = 1.230067028174E-04,
# "Ca" = 1.230067028174E-04,
# "Cl" = 0,
# "Mg" = 0
"H" = 110.124,
"O" = 55.0622,
"Charge" = -1.217e-09,
"C(4)" = 0,
"Ca" = 0,
"Cl" = 0,
"Mg" = 0
)
)
vecinj_inner <- list(
l1 = c(2, 1, 1)
# l1 = c(2, 1, 1)
)
# Create a list to store grid cell information
@ -91,8 +98,7 @@ get_index <- function(row, col) {
return(index)
}
flux_val <- 0.4
flux_val <- 0.005
# Loop through each row and column to populate the flux_list
for (row in 1:n) {
for (col in 1:m) {
@ -197,8 +203,10 @@ chemistry <- list(
#################################################################
iterations <- 1000
dt <- 100
iterations <- 500
dt <- 600
out_save <- c(1, iterations)
setup <- list(
grid = grid,
@ -207,5 +215,5 @@ setup <- list(
iterations = iterations,
timesteps = rep(dt, iterations),
store_result = TRUE,
out_save = c(1, iterations)
out_save = out_save
)

View File

@ -1265,7 +1265,7 @@ Calcite
10 moles=0
20 IF ((M<=0) and (SI("Calcite")<0)) then goto 200
30 R=8.314462 # in J*K-1*mol-1
40 deltaT=1/TK-1/298.15 # wird für 40°C berechnet; TK is temp in Kelvin
40 deltaT=1/TK-1/298.15 # wird f<EFBFBD>r 40<34>C berechnet; TK is temp in Kelvin
50 e=2.718282 # Eulersche Zahl
## mechanism 1 (acid)
60 Ea=14400 # Aktivierungsenergie in J/mol => 65.0 in KJ/mol
@ -1277,7 +1277,7 @@ Calcite
120 mech_c=(10^logK25)*(e^(-Ea/R*deltaT))
130 rate=mech_a+mech_c
140 IF (SI("Calcite")<0 AND M>0) then moles=parm(1)*rate*(1-SR("Calcite")) # dissolution
## 145 IF SI("Calcite")>0 then moles=parm(1)*M*rate*(-1+SR("Calcite")) # precipitation
## 145 IF SI("Calcite")>0 then moles=parm(1)*M*rate*(-1+SR("Calcite")) # precipitation
## 150 moles=parm(1)*rate*(1-SR("Calcite")) # precipitation
200 save moles*time
-end
@ -1287,7 +1287,7 @@ Dolomite
10 moles=0
20 IF ((M<=0) and (SI("Dolomite")<0)) then goto 200
30 R=8.314462 # in J*K-1*mol-1
40 deltaT=1/TK-1/298.15 # wird für 40°C berechnet; TK is temp in Kelvin
40 deltaT=1/TK-1/298.15 # wird f<EFBFBD>r 40<34>C berechnet; TK is temp in Kelvin
50 e=2.718282 # Eulersche Zahl
## mechanism 1 (acid)
60 Ea=36100 # Aktivierungsenergie in J/mol => 65.0 in KJ/mol