-
Notifications
You must be signed in to change notification settings - Fork 12
GunnsFluidMultiSeparator
This is a generic fluid separator. It allows flow through it, similar to a GunnsFluidConductor, but can extract some or all of specific fluid constituents in the mixture and send the extracted fluid to separate exit nodes.
Compared to other separator links like GunnsFluidSeparatorGas, GunnsFluidSeparatorLiquid, GunnsFluidCondensingHxSeparator this link is more generic and can operate on any fluid type in the mixture, not just water. Unlike those others, this allows the fraction of fluid removed to be controlled by an outside model, rather than controlling the fraction in its own. Unlike GunnsFluidSelectiveMembrane, which has practical limits on how much of the through-flow it can separate, this link can separate up to 100% of the incoming flow. All of these features make this link applicable to a wider range of cases.
One or more fluids in the mixture can be removed, and sent to the same or different exit nodes in any combination.
This is a variable port fluid link. Ports 0 and 1 are required, and connect the bulk-through conductor-like flow. Port 2 is required as the first of the separated fluid exit nodes. Any number of extra ports starting with Port 3 can be added, allowing different fluid types to be sent to different area of the network as desired.
These are limitations on the port connection to nodes that the link enforces in run-time:
- All ports must connect to different nodes, unless it is the network Ground node.
The picture below illustrates an example setup and connections in the network. Bulk flow through the conductor flows from right to left, Ports 0 to 1. Extracted fluids are sent to Ports 2 and 3.
- maxConductance: same as maxConductivity in GunnsFluidConductor.
-
fluidTypes (default = 0, must be set): This is a list of the fluid types that are separated from the bulk through-flow by this link. The list is enclosed in curly braces, is comma delimited, and each entry is a class-scoped member of the FluidProperties::FluidType enumeration in gunns/ms-utils/properties/FluidProperties.hh. For example, to separate water vapor and CO2 gas, this field would be:
{FluidProperties::GUNNS_H2O, FluidProperties::GUNNS_CO2}
. Do not duplicate entries in this list. -
fluidPorts (default = 0, must be set): This is a list of the ports that each of the separated fluid types are sent to. This is the same kind of list as fluidTypes above, except the entries are integer port numbers. All port numbers must be >= 2. In the example above, to send H2O to port 2 and CO2 to port 3, this field would be:
{2, 3}
. But you can also send fluids to the same port, like so:{2, 2}
. -
tcTypes (default = 0): This is similar to fluidTypes above except this lists the Trace Compounds that are removed. The values are members of the ChemicalCompound::Type enumeration in gunns/ms-utils/properties/ChemicalCompounds.hh. For example to remove trace compounds methane and ammonia from the fluid, this field would be:
{ChemicalCompound::CH4, ChemicalCompound::NH3}
. This field is optional; if no TC's are desired, leave the value 0. - tcPorts (default = 0): This is similar to fluidPorts above except this tells which port each Trace Compound is sent to. It is optional: if no TC's are desired, leave the value 0.
- malfBlockageFlag same as GunnsFluidConductor.
- malfBlockageValue same as GunnsFluidConductor.
-
fluidFractions (default = 0, must be set): this is the same kind of list as fluidTypes above, except these values define the initial fraction of the fluid that is removed, for each type. These are floating point values in the range of (0-1). For example:
{0.5, 1.0}
. - tcFractions (default = 0): similar to fluidFractions, this defines the initial fraction of each Trace Compound that is removed. This field is optional: if no TC's are desired, leave the value 0.
- Note that care should be taken to ensure that the exit nodes have capacity to receive the exit flows. This link forces the exit flow into the exit nodes regardless of their capacity, similar to the flow source effect like in GunnsFluidSource. Forcing this flow into nodes with no capacity to receive it can 'blow up' the network.
- N/A