Skip to content

Commit 04a70bb

Browse files
more params
1 parent 763a007 commit 04a70bb

1 file changed

Lines changed: 26 additions & 18 deletions

File tree

model.py

Lines changed: 26 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -11,28 +11,36 @@
1111

1212
log.set_log_level(log.LogLevel.INFO)
1313

14-
tank_height = 1
15-
K_S = 1 # solubility of breeder
16-
D = 0.001 # breeder diffusivity
14+
avogadro_number = 6.022e23 # 1/mol
1715

18-
source_term = 0.01 # mol/m3/s generation term
16+
tank_height = 1 # m
17+
tank_diameter = 0.5 # m
18+
K_S = 1e20 / avogadro_number # solubility of breeder mol/m3/Pa
19+
diffusivity = 1e-9 # breeder diffusivity m2/s
1920

20-
u_b = 100 # m/s bubble rise velocity
21-
d_b = 0.01 # m bubble diameter
2221

23-
P = 10000.0 # total gas pressure # TODO should be 7 PSIG - differential at the top
24-
h_l = ((D * u_b) / (ufl.pi * d_b)) ** 0.5 # mass transport coefficient
22+
source_term = 0.001 # mol/m3/s generation term
23+
24+
u_b = 0.3 # m/s bubble velocity
25+
d_b = 0.002 # m bubble diameter
26+
27+
P = 151988 # total gas pressure # TODO should be 7 PSIG - differential at the top
28+
h_l = (
29+
(diffusivity * u_b) / (ufl.pi * d_b)
30+
) ** 0.5 # mass transport coefficient Higbie penetration model
2531

2632
R = 8.314 # J/mol/K
2733
T = 900 # K temperature
28-
epsislon_g = 0.4 # gas void fraction # TODO from correlations
29-
a = 6 * epsislon_g / d_b # specific interfacial area
30-
31-
E_g = 0.2 * D**2 * u_b # gas phase diffusivity (dispersion coefficient)
34+
epsilon_g = 0.03 # gas void fraction # TODO from correlations
35+
epsilon_l = 1 - epsilon_g # liquid void fraction
36+
a = 6 * epsilon_g / d_b # specific interfacial area
3237

38+
# FIXME is this homogeneous?
39+
E_g = 0.2 * tank_diameter**2 * u_b # gas phase diffusivity (dispersion coefficient)
40+
E_l = diffusivity # liquid phase diffusivity # FIXME
3341

3442
# MESH AND FUNCTION SPACES
35-
mesh = dolfinx.mesh.create_interval(MPI.COMM_WORLD, 1000, points=[0, tank_height])
43+
mesh = dolfinx.mesh.create_interval(MPI.COMM_WORLD, 10000, points=[0, tank_height])
3644
fdim = mesh.topology.dim - 1
3745
cg_el = basix.ufl.element("Lagrange", mesh.basix_cell(), degree=1, shape=(2,))
3846

@@ -67,12 +75,12 @@
6775
F = 0 # variational formulation
6876

6977
# transient terms
70-
F += ((c_T - c_T_n) / dt) * v_c * ufl.dx
71-
F += 1 / (R * T) * (P * (y_T2 - y_T2_n) / dt) * v_y * ufl.dx
78+
F += epsilon_l * ((c_T - c_T_n) / dt) * v_c * ufl.dx
79+
F += epsilon_g * 1 / (R * T) * (P * (y_T2 - y_T2_n) / dt) * v_y * ufl.dx
7280

7381
# diffusion/dispersion terms
74-
F += D * ufl.dot(ufl.grad(c_T), ufl.grad(v_c)) * ufl.dx
75-
F += epsislon_g * E_g * ufl.dot(ufl.grad(P * y_T2), ufl.grad(v_y)) * ufl.dx
82+
F += epsilon_l * E_l * ufl.dot(ufl.grad(c_T), ufl.grad(v_c)) * ufl.dx
83+
F += epsilon_g * E_g * ufl.dot(ufl.grad(P * y_T2), ufl.grad(v_y)) * ufl.dx
7684

7785

7886
# mass exchange (coupling term)
@@ -90,7 +98,7 @@
9098
mesh, fdim, lambda x: np.isclose(x[0], 0.0)
9199
)
92100
gas_outlet_facets = dolfinx.mesh.locate_entities_boundary(
93-
mesh, fdim, lambda x: np.isclose(x[0], 1.0)
101+
mesh, fdim, lambda x: np.isclose(x[0], tank_height)
94102
)
95103
bc1 = dolfinx.fem.dirichletbc(
96104
dolfinx.fem.Constant(mesh, 0.0),

0 commit comments

Comments
 (0)