GunnsFluidSelectiveMembrane - nasa/gunns GitHub Wiki

GunnsFluidSelectiveMembrane

default_img

Background

This link models a selective membrane absorber tube. The tube wall is any porous membrane that absorbs and passes a specific fluid constituent (i.e. water) between the internal bulk flow through the tube and an external "vent". The absorption rate is proportional to a given coefficient and the relative partial pressures of the absorbed fluid constituent between the inside and outside of the tube. The absorbed membrane flow can go in either direction, either to or from the external vent, depending on the relative partial pressures across the membrane (always from higher to lower partial pressure).

The external vent and the internal bulk tube flow-thru can both be either gas or liquid and can be different phases from each other. If the absorbed constituent is saturated on only one side of the membrane, then a heat of phase change is modeled as if the membrane flow were undergoing a phase change. Note however that since GUNNS cannot model mixed-phase fluids in the same node, the actual gas/liquid phases of all nodes remain the same.

By configuring the membrane to pass water, this can model things like a Nafion humidifier/de-humidifier, or a water membrane evaporator cooler, etc. Any single constituent in the network can be passed.

How To Use in GunnsDraw

Ports 0 and 1 of the link transport the bulk flow between them just like a regular GunnsFluidConductor, with positive flow direction from Port 0 to 1. This is the bulk flow through the tube. These can be connected to any nodes that have the same phase as the given internalType fluid (described below). Port 2 is the external vent port and can be connected to any node that has the same phase as the externalType fluid. All ports can also be connected to the Ground node.

As the bulk fluid flows between Ports 0 and 1, the absorbed constituent can pass through the membrane to the external vent Port, and vice-versa as described above. Like the GunnsFluidSublimator, this simulates the effects of back-pressure in the external vent area -- a higher vent partial-pressure of the absorbed constituent causes flow to the vent (the de-humidifier case) to decrease, and if the vent partial-pressure is higher than in the bulk flow, the constituent will flow into the bulk flow from the vent (the humidifier case). If no modeling of back-pressure is needed, or you want a perfect vent, hook up the exit port to the Ground node. The valid connection options are shown below:

default_img

Port Connection Rules (These are limitations on the port connection to nodes that the link enforces in run-time):

  • Ports 0 and 1 must connect to a non-Ground node with the same phase as the internalType fluid, or to the Ground node.
  • Port 2 must connect to a non-Ground node with the same phase as the externalType fluid, or to the Ground node.

Other Rules (These are extra rules you should always try to follow):

  • N/A

Configuration Data Parameters:

  • maxConductance (default = 0.0 (m2), must be >= 0 and in general you should limit non-zero values to be between 1.0E-15 and 1.0E+15): This is the maximum flow conductance of the bulk flow path between Ports 0 and 1. It is just like the maxConductivity term of a GunnsFluidConductor.
  • absorptionCoeff (default = 0.0 (kg/s/kPa), must be >= 0): This is the absorption coefficient of the membrane. Higher values cause the membrane to pass more of the absorbed constituent between the bulk flow and the vent. The absorbed flow rate is this coefficient times the difference in the partial pressures of the absorbed coefficient between the bulk flow and the vent.
  • externalType (default = FluidProperties::NO_FLUID, must be a fluid type present in the network, i.e. GUNNS_H2O): This is the fluid type of the membrane-absorbed fluid as it exists on the external side of the membrane, and sets the phase of the external side. Remember that fluid types naming convention imply the phase: names with the compound molecular formula denote gas phase (i.e. H2O), whereas spelled-out names of the compound denote liquid phase (WATER).
  • internalType (default = FluidProperties::NO_FLUID, must be a fluid type present in the network): This is the fluid type of the membrane-absorbed fluid as it exists on the internal side of the membrane, and sets the phase of the internal side. This fluid type can be the same as externalType, in which gas both sides of the membrane are the same phase, or it can be a different type, but it must have the same molecular weight as the externalType. This constrains you to using a same phase or gas/liquid pair of the same compound, such as H2O/H2O, H2O/WATER or NH3/AMMONIA, etc.

Input Data Parameters:

Common Problems

  • N/A

References

  • N/A
⚠️ **GitHub.com Fallback** ⚠️