Skip to content

Latest commit

 

History

History
227 lines (167 loc) · 12.8 KB

membrane_distillation_0D.rst

File metadata and controls

227 lines (167 loc) · 12.8 KB

Membrane Distillation (0D)

This Membrane Distillation (MD) unit model
  • is developed for direct contact configuration (other configurations are under development)
  • is developed for couterflow mode (parallel flow is under development)
  • is 0-dimensional
  • supports steady-state only
  • Assumes heat loss in equipment is negligible
  • Assumes permeate exits the membrane pores with zero salinity
  • Assumes no concentration polarization for the cold channel
  • Assumes complete vapor condensation on the cold channel
.. index::
   pair: watertap.unit_models.MD;MD

.. currentmodule:: watertap.unit_models.MD

Degrees of Freedom

In addition to the hot channel and cold channel inlet state variables (i.e, temperature, pressure, and component flowrates), the MD model has at least 4 degrees of freedom that should be fixed for the unit to be fully specified. Typically, the following variables are fixed for the MD model:

  • Membrane permeability coefficient
  • Membrane thickness
  • Membrane thermal conductivity
  • Recovery or membrane area

Configuring the MD unit to calculate temperature polarization, concentration polarization, mass transfer coefficient, and pressure drop would result in five additional degrees of freedom. In this case, in addition to the previously fixed variables, we typically fix the following variables to fully specify the unit:

  • Hot channel spacer porosity
  • Hot channel height
  • Cold channel spacer porosity
  • Cold channel height
  • Membrane length or membrane width

Model Structure

This MD model consists of a separate MDchannel0Dblock for the hot channel and the cold channel of the module.

  • Each MDchannel0Dblock includes 6 stateblocks: 2 stateBlocks for the bulk properites at the inlet and outlet (properties_in and properties_out), which are used for mass, energy, and momentum balances; 2 StateBlocks for the conditions at the membrane interface, and 2 stateblocks for the vapor phase at the membrane interface. Property packages must be declared for each MD channel block for the liquid (bulk and interface) and vapor Phases.

Sets

Description Symbol Indices
Time t [0]
Inlet/outlet x ['in', 'out']
Phases p ['Liq', 'Vap']
Components j ['H2O', solute]*

*Solute depends on the imported property model.

Variables

Description Symbol Variable Name Index Units
Membrane permeability coefficient B_0 permeability_coef [t] \text{kg/m/Pa/s}
Membrane thickness \sigma membrane_thickness None \text{m}
Membrane thermal conductivity k_m membrane_tc None \text{W/K/m}
Mass density of solvent \rho_{solvent} dens_solvent [p] \text{kg/}\text{m}^3
Mass flux across membrane J flux_mass [t, x] \text{kg/s}\text{/m}^2
Conduction heat flux across membrane q_{cond} flux_conduction_heat [t, x] \text{W}\text{/m}^2
Evaporation heat flux from hot channel q_{evap} flux_enth_hot [t, x] \text{W}\text{/m}^2
Condensation heat flux to cold channel q_{conden} flux_enth_cold [t, x] \text{W}\text{/m}^2
Membrane area A_m area None \text{m}^2
Recovery rate R recovery_mass [t] \text{dimensionless}

The following variables are only built when specific configuration key-value pairs are selected.

if has_pressure_change is set to True:

Description Symbol Variable Name Index Units
Pressure drop \Delta P deltaP [t] \text{Pa}

if temperature_polarization_type is set to TemperaturePolarizationType.fixed:

Description Symbol Variable Name Index Units
Hot channel Convective heat transfer coefficient h_{conv,h} hot_ch.h_conv [t] \text{W/K}\text{/m}^2
Cold channel Convective heat transfer coefficient h_{conv,c} hot_ch.h_conv [t] \text{W/K}\text{/m}^2

if temperature_polarization_type is set to TemperaturePolarizationType.calculated:

Description Symbol Variable Name Index Units
Hot channel Prandtl number Pr_h hot_ch.N_Pr [t] \text{dimensionless}
Cold channel Prandtl number Pr_c cold_ch.N_Pr [t] \text{dimensionless}
Hot channel Nusselt number Nu_h hot_ch.N_Nu [t] \text{dimensionless}
Cold channel Nusselt number Nu_c cold_ch.N_Nu [t] \text{dimensionless}

if concentration_polarization_type is set to ConcentrationPolarizationType.fixed:

Description Symbol Variable Name Index Units
Concentration polarization modulus in hot channel CP_{mod,h} hot_ch.cp_modulus [t, j] \text{dimensionless}

if concentration_polarization_type is set to ConcentrationPolarizationType.calculated:

Description Symbol Variable Name Index Units
Mass transfer coefficient in hot channel k_h hot_ch.K [t, x, j] \text{m/s}

if temperature_polarization_type is set to TemperaturePolarizationType.calculated: or mass_transfer_coefficient is set to MassTransferCoefficient.calculated or pressure_change_type is set to PressureChangeType.calculated:

Description Symbol Variable Name Index Units
Hot channel height h_{ch,h} hot_ch.channel_height None \text{m}
Hot channel Hydraulic diameter d_{h,h} cold_ch.dh None \text{m}
Hot channel Spacer porosity \epsilon_{sp,h} hot_ch.spacer_porosity None \text{dimensionless}
Hot channel Reynolds number Re_{h} hot_ch.N_Re [t, x] \text{dimensionless}
Cold channel height h_{ch,c} cold_ch.channel_height None \text{m}
Cold channel Hydraulic diameter d_{h,c} cold_ch.dh None \text{m}
Cold channel Spacer porosity \epsilon_{sp,c} cold_ch.spacer_porosity None \text{dimensionless}
Cold channel Reynolds number Re_{c} cold_ch.N_Re [t, x] \text{dimensionless}

if mass_transfer_coefficient is set to MassTransferCoefficient.calculated:

Description Symbol Variable Name Index Units
Schmidt number Sc_h hot_ch.N_Sc [t, x] \text{dimensionless}
Sherwood number Sh_h hot_ch.N_Sh [t, x] \text{dimensionless}
Schmidt number Sc_c cold_ch.N_Sc [t, x] \text{dimensionless}
Sherwood number Sh_c cold_ch.N_Sh [t, x] \text{dimensionless}

if temperature_polarization_type is set to TemperaturePolarizationType.calculated: or mass_transfer_coefficient is set to MassTransferCoefficient.calculated or pressure_change_type is NOT set to PressureChangeType.fixed_per_stage:

Description Symbol Variable Name Index Units
Membrane length L length None \text{m}
Membrane width W width None \text{m}

if pressure_change_type is set to PressureChangeType.fixed_per_unit_length:

Description Symbol Variable Name Index Units
Average pressure drop per unit length of hot channel (\frac{\Delta P}{\Delta x})_{avg,h} hot_ch.dP_dx [t] \text{Pa/m}
Average pressure drop per unit length of cold channel (\frac{\Delta P}{\Delta x})_{avg,c} cold_ch.dP_dx [t] \text{Pa/m}

if pressure_change_type is set to PressureChangeType.calculated:

Description Symbol Variable Name Index Units
Hot channel velocity v_h hot_ch.velocity [t, x] \text{m/s}
Hot channel Friction factor f_h hot_ch.friction_factor_darcy [t, x] \text{dimensionless}
Pressure drop per unit length of hot channel at inlet/outlet (\Delta P/\Delta x)_h hot_ch.dP_dx [t, x] \text{Pa/m}
Cold channel velocity v_c cold_ch.velocity [t, x] \text{m/s}
Pressure drop per unit length of cold channel at inlet/outlet (\Delta P/\Delta x)_c cold_ch.dP_dx [t, x] \text{Pa/m}

Equations

Description Equation
Vapor flux across membrane J(t, x) = \frac{B_0(t)}{\sigma} \times \left( P_{\text{sat, hot}}(t, x) - P_{\text{sat, cold}}(t, x) \right)
Average flux across membrane J_{avg, j} = \frac{1}{2}\sum_{x} J_{x, j}
hot channel membrane-interface solute concentration C_{\text{interface, j, h}}(t, x) = C_{\text{bulk, j, h}}(t, x) \times \exp\left( \frac{J(t, x)}{\rho_{\text{solvent}} \times k_h(t, x, j)} \right)
Evaporation heat flux from hot channel q_{\text{evap}}(t, x) = J(t, x) \times \widehat{H}_{\text{h}}(t, x, Vap)
Condensation heat flux to cold channel q_{\text{conden}}(t, x) = J(t, x) \times \widehat{H}_{\text{c}}(t, x, Vap)
Average evaporation flux from hot channel \overline{q}_{\text{evap}}(t) = \frac{1}{2} \sum_{x} q_{\text{evap}}(t, x)
Average condensation flux to cold channel \overline{q}_{\text{conden}}(t) = \frac{1}{2} \sum_{x} q_{\text{conden}}(t, x)
Hot channel convective heat transfer h_{\text{conv}, h}(t, x) \left( T_{\text{bulk}, h}(t, x) - T_{\text{interface}, h}(t, x) \right) = q_{\text{cond}}(t, x) + q_{\text{evap}}(t, x) - J(t, x) \cdot \widehat{H}_{\text{bulk, h}}(t, x, Liq)
Cold channel convective heat transfer h_{\text{conv}, c}(t, x) \left( T_{\text{interface}, c}(t, x) - T_{\text{bulk}, c}(t, x) \right) = q_{\text{cond}}(t, x) + q_{\text{conden}}(t, x) - J(t, x) \cdot \widehat{H}_{\text{bulk}, c}(t, x, Liq)
Conduction heat flux across membrane q_{\text{cond}}(t, x) = \frac{k_{\text{m}}}{\sigma} \left( T_{\text{interface}, h}(t, x) - T_{\text{interface}, c}(t, x) \right)
Average conduction heat across membrane q_{\text{cond, avg}}(t) = \frac{1}{N} \sum_{x} q_{\text{cond}}(t, x)
Total permeate production M_p = A \cdot J_{\text{avg}}
Total conduction heat transfer q_{\text{cond,total}} = - A \cdot q_{\text{cond,avg}}
Hot channel total evapration heat q_{\text{evap,total}} = - A \cdot \overline{\widehat{H}_h}
Cold channel total condensation heat q_{\text{conden,total}} = A \cdot \overline{\widehat{H}_c}
Convective heat transfer coefficient h_{\text{conv},(t, x)} = \frac{\kappa_{(t, x)} \cdot \text{Nu}_{(t, x)}}{d_h}
Nusselt number Nu[t, x] == 0.162 * (Re[t, x] ** 0.656) * (Pr[t, x] ** 0.333)
Prandtl number Pr(t, x) = \frac{\mu(t, x) \cdot C_p(t, x)}{\kappa}
Effectiveness \epsilon(t) = \frac{T_{\text{cold, first}}(t) - T_{\text{c, last}}(t)}{T_{\text{h, first}}(t) - T_{\text{c, last}}(t)}
Thermal efficiency \eta(t) = \frac{q_{\text{evap,total}}(t)}{q_{\text{evap,total}}(t) + q_{\text{cond,total}}(t)}
Concentration polarization modulus CP_{mod} = C_{interface}/C_{bulk}
Mass transfer coefficient k_h = \frac{D Sh}{d_h}
Sherwood number Sh[t, x] == 0.2 * (Re[t, x] ** 0.57) * (Pr[t, x] ** 0.4)
Schmidt number Sc = \frac{\mu}{\rho D}
Reynolds number Re = \frac{\rho v_f d_h}{\mu}
Hydraulic diameter d_h = \frac{4\epsilon_{sp}}{2/h_{ch} + (1-\epsilon_{sp})8/h_{ch}}
Cross-sectional area A_c = h_{ch}W\epsilon_{sp}
Membrane area A_m = LW
Pressure drop \Delta P = (\frac{\Delta P}{\Delta x})_{avg}L
Hot channel velocity v_h = Q_h/A_c
Friction factor f = 0.42+\frac{189.3}{Re}
Pressure drop per unit length \frac{\Delta P}{\Delta x} = \frac{1}{2d_h}f\rho v_h^{2}
Recovery rate R = \frac{M_{p}}{M_{h,in}}

Class Documentation