GunnsFluidCheckValve - nasa/gunns GitHub Wiki

GunnsFluidCheckValve

default_img

Background

This link extends GunnsFluidValve with an automatic check valve function. A check valve prevents backwards flow by only opening for a high enough forward pressure gradient. The valve position is a function of the forward pressure gradient (delta-pressure) as shown here. The delta-pressure is always calculated as the Port 0 node pressure minus the Port 1 node pressure, which is positive for a forward pressure gradient and flow. Note that although this graph illustrates the close pressure as a negative value, check valves can have a positive or negative close pressure value.

default_img

Unlike GunnsFluidValve, this valve updates its own valve position and does not require the position to be input from a controller model.

The link does not modify the mixture of the fluid passing through it.

How To Use in GunnsDraw

The GunnsFluidCheckValve can be hooked up to nodes in exactly the same way that regular fluid conductors can. This picture shows the recommended way to place a check valve in your network, and to use a stability volume on the exit node:

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 cannot connect to the same non-Ground node.

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

Configuration Data Parameters:

  • maxConductivity: Same as GunnsFluidConductor.
  • expansionScaleFactor: Same as GunnsFluidConductor.
  • thermalLength: Same as GunnsFluidValve.
  • thermalDiameter: Same as GunnsFluidValve.
  • surfaceRoughness: Same as GunnsFluidValve.
  • rateLimit (default = 0.0 (1/s), must be >= 0): This is the maximum rate the valve position can move in response to changing delta-pressure. As with GunnsFluidValve, the full travel position of the check valve ranges from (0-1). If the network updates at 10 Hz, then a rateLimit of 10 (1/s) allows the valve to travel full-range in one step. A higher rate limit makes the valve more responsive and minimizes the amount of backflow that occurs before the valve can completely close, but can also make the valve unstable and chatter if not tuned properly. A lower rate limit makes the valve more stable, but can make the valve too unresponsive and allow more backflow before it can close. Real pneumatic valves can typically move very fast, and we recommend setting this parameter such that the model can move full-travel in one pass (so = 1 / timestep). Lower this value if chatter becomes a problem (discussed below). NOTE: setting this to zero is allowed, but zero will prevent the valve from moving, so you probably want to use a value > 0. We recommend starting with 0.1, and then changing it from there if needed.
  • openPressure (default = 0.0 (kPa, must be >= closePressure)): Also sometimes called "crack" or "full-open" pressure, this is the forward pressure gradient at and beyond which the valve will move to fully open.
  • closePressure (default = 0.0 (kPa)): Also sometimes called "reseat" pressure, this is the forward pressure gradient at and below which the valve will move to fully closed.

Input Data Parameters:

  • malfBlockageFlag: Same as GunnsFluidValve.
  • malfBlockageValue: Same as GunnsFluidValve.
  • position: Same as GunnsFluidValve.
  • malfLeakThruFlag: Same as GunnsFluidValve.
  • malfLeakThruValue: Same as GunnsFluidValve.
  • wallTemperature: Same as GunnsFluidValve.
  • malfStuckFlag (default = false): Initial state of the valve stuck malfunction activation flag. This malf causes the valve position to freeze at its current value and not move from there as long as this malfunction is active.
  • malfFailToFlag (default = false): Initial state of the valve fail-to malfunction activation flag. This malf causes the valve position to immediately move to and freeze at the given value and not move from there as long as this malfunction is active.
  • malfFailToValue (default = 0.0, must be (0-1)): Initial position value for the valve fail-to malfunction.

Common Problems

  • Valve Chatter: A common problem with an improperly tuned valve is called "chatter". This is when the valve position fluctuates rapidly open and closed whenever there is flow through it. This problem is significant because it can cause noisy pressures and flows throughout the network. There are several ways to avoid this problem:
    • The most important thing is to tune the flow rate through the valve to a realistic value -- flow rates that are unrealistically high can exacerbate the chatter. Most real valves cause a restriction in flow relative to the pipe or duct they are in, so valves should usually have a lower maxConductivity than the surrounding conductors. Valve restricted flow rates are also typically documented, so every effort should be made to tune them to flow realistic rates at a given delta-pressure. When tuning the valve conductivity, make sure the valve position is fully open. The fail-to malfunction can be used as a handy way to hold the valve fully open while tuning. Chatter can be reduced by lowering the valve conductivity -- making the valve more of a bottleneck. If need be, make up for the lower valve conductivity by raising the conductivities of other links in the flow chain to preserve the total flow rate.
    • We recommend making the downstream node capacitive. This "stability volume" slightly decouples the pressure gradient from the flow-through, which can alleviate chatter. Increase this volume for more stability at the expense of possibly unrealistically large pipe volume.
    • Valve open & close pressures can affect chatter. If the difference between open & close pressures is very small compared to the flow rates through the valve, this can lead to chatter. It is important to configure the close & open pressures based on published data for the valve whenever available. Raising openPressure and/or lowering closePressure towards zero can sometimes alleviate chatter.
    • Lower values of rateLimit can also alleviate chatter, at the expense of a less responsive valve.

References

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