You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
for diffusion between two domains.
Adds a non-reactive internal interface modeling
Fickian diffusive mass transfer across a stagnant
film of finite thickness between two finite volume
domains.
kLAkHCondensationEvaporationWithReservoir adds evaporation and condensation to
302
302
(1) a liquid phase domain with a constant composition vapor resevoir, where number of moles, P, and T need to be specified, or
303
303
(2) a gas phase domain with a constant composition liquid resevoir, where number of moles, V, and T need to be specified.
304
-
kLA and kH are used to model cond/evap.
304
+
kLA and kH are used to model cond/evap.
305
305
kLA is liquid volumetric mass transfer coefficient with unit 1/s , and kH is Henry's law constant defined as gas phase partial pressure of solute over liquid phase concentration of solute.
306
306
"""
307
307
@@ -389,7 +389,7 @@ end
389
389
export VolumetricFlowRateInlet
390
390
391
391
"""
392
-
VolumeMaintainingOutlet is designed for gas phase domain such that the flow rate of this outlet will adjust to maintain the volume of the
392
+
VolumeMaintainingOutlet is designed for gas phase domain such that the flow rate of this outlet will adjust to maintain the volume of the
393
393
domain to be constant. This is particularly useful to simulate any vapor-liquid phase system where the gas phase outlet
394
394
is determined by the amount of evaporation.
395
395
"""
@@ -451,6 +451,60 @@ function getinterfaceignoremasstransferspcinds(domaingas, domainliq, ignoremasst
451
451
return indices
452
452
end
453
453
454
+
"""
455
+
FickDiffusionInternalInterface models Fickian diffusive mass transfer across a stagnant
456
+
film of finite thickness between two finite volume domains. Unlike
457
+
ConstantReservoirDiffusion, both sides carry their own state, so species
458
+
accumulate/deplete over time and mass is conserved across the interface.
459
+
460
+
The molar flux into domain1 (and equal-and-opposite out of domain2) for species i is
functionFickDiffusionInternalInterface(domain1, domain2, A, layer_thickness;
480
+
diffusivity=nothing)
481
+
@assertgetfield.(domain1.phase.species, :name) ==getfield.(domain2.phase.species, :name) "FickDiffusionInternalInterface requires both domains to share the same ordered species list"
482
+
nspc =length(domain1.phase.species)
483
+
D = diffusivity ===nothing?convert(Array{Float64,1}, domain1.diffusivity) :convert(Array{Float64,1}, diffusivity)
484
+
@assertlength(D) == nspc "diffusivity must have one entry per species ($nspc); got $(length(D)). If domain1.diffusivity is empty, pass diffusivity explicitly."
0 commit comments