The IDAES Moving Bed Reactor (MBR) model represents a unit operation where two material streams – a solid phase and a gas phase – pass through a linear reactor vessel while undergoing chemical reaction(s). The two streams have opposite flow directions (counter-flow). The MBR mathematical model is a 1-D rigorous first-principles model consisting of a set of differential equations obtained by applying the mass, energy (for each phase) and momentum balance equations.
Assumptions:
- The radial concentration and temperature gradients are assumed to be negligible.
- The reactor is assumed to be adiabatic.
- The solid phase is assumed to be moving at a constant velocity determined by the solids feed rate to the reactor.
Requirements:
- Property package contains temperature and pressure variables.
- Property package contains minimum fluidization velocity.
The MBR model is based on:
- Ostace, A. Lee, C.O. Okoli, A.P. Burgard, D.C. Miller, D. Bhattacharyya, Mathematical modeling of a moving-bed reactor for chemical looping combustion of methane, in: M.R. Eden, M. Ierapetritou, G.P. Towler (Eds.),13th Int. Symp. Process Syst. Eng. (PSE 2018), Computer-Aided Chemical Engineering 2018, pp. 325–330 , San Diego, CA.
MBRs generally have at least 2 (or more) degrees of freedom, consisting of design and operating variables. The design variables of reactor length and diameter are typically the minimum variables to be fixed.
The core MBR unit model consists of two ControlVolume1DBlock Blocks (named gas_phase and solid_phase), each with one Inlet Port (named gas_inlet and solid_inlet) and one Outlet Port (named gas_outlet and solid_outlet).
In the following, the subscripts g and s refer to the gas and solid phases, respectively. In addition to the constraints written by the control_volume Block, MBR units write the following Constraints:
Area of the reactor bed:
Area of the gas domain:
Ag, t, x = εAbed
Area of the solid domain:
As, t, x = (1 − ε)Abed
Length of the gas domain:
Lg = Lbed
Length of the solid domain:
Ls = Lbed
Superficial velocity of the gas:
Superficial velocity of the solids:
Pressure drop:
The constraints written by the MBR model to compute the pressure drop (if has_pressure_change is 'True') in the reactor depend upon the construction arguments chosen:
If pressure_drop_type is `simple_correlation`:
If pressure_drop_type is `ergun_correlation`:
Gas phase reaction extent:
If gas_phase_config.reaction_package is not 'None':
ξg, t, x, r = rg, t, x, rAg, t, x
Solid phase reaction extent:
If solid_phase_config.reaction_package is not 'None':
ξs, t, x, r = rs, t, x, rAs, t, x
Gas phase heterogeneous rate generation/consumption:
Particle Reynolds number:
Prandtl number:
Particle Nusselt number:
Nup, t, x = 2 + 1.1Prt, x1/3|Rep, t, x|0.6
Particle to fluid heat transfer coefficient
hgs, t, xdp = Nup, t, xkg, t, x
If energy_balance_type not `EnergyBalanceType.none`:
Gas phase - gas to solid heat transfer:
Solid phase - gas to solid heat transfer:
Variable | Description | Reference to |
---|---|---|
Abed | Reactor bed cross-sectional area | bed_area |
Ag, t, x | Gas phase area (interstitial cross-sectional area) | gas_phase.area |
As, t, x | Solid phase area | solid_phase.area |
cp, t, x | Gas phase heat capacity (constant P) | gas_phase.properties.cp_mass |
Dbed | Reactor bed diameter | bed_diameter |
Fmass, s, t, inlet | Total mass flow rate of solids, at inlet (x = 1) | solid_phase.properties.flow_mass |
Fmol, g, t, x | Total molar flow rate of gas | gas_phase.properties.flow_mol |
Hg, t, x | Gas to solid heat transfer term, gas phase | gas_phase.heat |
Hs, t, x | Gas to solid heat transfer term, solid phase | solid_phase.heat |
hgs, t, x | Gas-solid heat transfer coefficient | gas_solid_htc |
kg, t, x | Gas thermal conductivity | gas_phase.properties.therm_cond |
Lbed | Reactor bed height | bed_height |
Lg | Gas domain length | gas_phase.length |
Ls | Solid domain length | solid_phase.length |
Mg, t, x, p, j | Rate generation/consumption term, gas phase | gas_phase.mass_transfer_term |
Nup, t, x | Particle Nusselt number | Nu_particle |
dPg, t, x | Total pressure derivative w.r.t. x (axial position) | gas_phase.deltaP |
Prt, x | Prandtl number | Pr |
rg, t, x, r | Gas phase reaction rate | gas_phase.reactions.reaction_rate |
rs, t, x, r | Solid phase reaction rate | solid_phase.reactions.reaction_rate |
Rep, t, x | Particle Reynolds number | Re_particle |
Tg, t, x | Gas phase temperature | gas_phase.properties.temperature |
Ts, t, x | Solid phase temperature | solid_phase.properties.temperature |
ug, t, x | Superficial velocity of the gas | velocity_superficial_gas |
us, t | Superficial velocity of the solids | velocity_superficial_solid |
Greek letters | ||
ε | Reactor bed voidage | bed_voidage |
μg, t, x | Dynamic viscosity of gas mixture | gas_phase.properties.visc_d |
ξg, t, x, r | Gas phase reaction extent | gas_phase.rate_reaction_extent |
ξs, t, x, r | Solid phase reaction extent | solid_phase.rate_reaction_extent |
ρmass, g, t, inlet | Density of gas mixture | gas_phase.properties.dens_mass |
ρmass, s, t, inlet | Density of solid particles | solid_phase.properties.dens_mass_particle |
ρmol, g, t, x | Molar density of the gas | gas_phase.properties.dens_mole |
Parameter | Description | Reference to |
---|---|---|
dp | Solid particle diameter | solid_phase.properties._params.particle_dia |
νs, j, r | Stoichiometric coefficients | solid_phase.reactions.rate_reaction_stoichiometry |
The initialization method for this model will save the current state of the model before commencing initialization and reloads it afterwards. The state of the model will be the same after initialization, only the initial guesses for unfixed variables will be changed.
The model allows for the passing of a dictionary of values of the state variables of the gas and solid phases that can be used as initial guesses for the state variables throughout the time and spatial domains of the model. This is optional but recommended. A typical guess could be values of the gas and solid inlet port variables at time t = 0.
The model initialization proceeds through a sequential hierarchical method where the model equations are deactivated at the start of the initialization routine, and the complexity of the model is built up through activation and solution of various sub-model blocks and equations at each initialization step. At each step the model variables are updated to better guesses obtained from the model solution at that step.
The initialization routine proceeds in as follows:
- Step 1: Initialize the thermo-physical and transport properties model blocks.
- Step 2: Initialize the hydrodynamic properties.
- Step 3a: Initialize mass balances without reactions and pressure drop.
- Step 3b: Initialize mass balances with reactions and without pressure drop.
- Step 3c: Initialize mass balances with reactions and pressure drop.
- Step 4: Initialize energy balances.
idaes.gas_solid_contactors.unit_models.moving_bed
MBR
MBRData