Class CheckValve

All Implemented Interfaces:
Serializable, Runnable, ProcessEquipmentInterface, TwoPortInterface, ValveInterface, SimulationInterface, NamedInterface

public class CheckValve extends ThrottlingValve
Check valve (non-return valve) that prevents reverse flow.

CheckValve is a self-actuating valve that opens when forward differential pressure exceeds the cracking pressure, and closes when flow reverses or stops. It is essential for protecting equipment like pumps and compressors from reverse flow damage.

Key features:

  • Automatic operation based on differential pressure
  • Configurable cracking pressure (minimum ΔP to open)
  • Prevents backflow in piping systems
  • Zero leakage when closed (ideal model)
  • Minimal pressure drop when fully open

Common applications:

  • Pump discharge protection
  • Compressor discharge protection
  • Parallel equipment isolation
  • Gravity drainage systems
  • Preventing siphoning

Example usage:

CheckValve checkValve = new CheckValve("CV-101", pumpDischargeStream);
checkValve.setCrackingPressure(0.2); // Opens at 0.2 bar differential
checkValve.setCv(250.0); // Flow coefficient when fully open
checkValve.run();

if (checkValve.isOpen()) {
  System.out.println("Check valve is open, flow is forward");
} else {
  System.out.println("Check valve is closed, no flow or reverse ΔP");
}
Version:
1.0
Author:
ESOL
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      Serialization version UID.
      See Also:
    • crackingPressure

      private double crackingPressure
      Minimum differential pressure required to open valve (bara).
    • isOpen

      private boolean isOpen
      Indicates if valve is currently open.
    • CLOSED_RESISTANCE

      private static final double CLOSED_RESISTANCE
      Pressure drop coefficient when closed (very high resistance).
      See Also:
  • Constructor Details

    • CheckValve

      public CheckValve(String name)
      Constructor for CheckValve.
      Parameters:
      name - name of the check valve
    • CheckValve

      public CheckValve(String name, StreamInterface inStream)
      Constructor for CheckValve.
      Parameters:
      name - name of the check valve
      inStream - inlet stream
  • Method Details

    • setCrackingPressure

      public void setCrackingPressure(double crackingPressure)
      Set the cracking pressure - minimum differential pressure to open valve.
      Parameters:
      crackingPressure - cracking pressure in bara
    • getCrackingPressure

      public double getCrackingPressure()
      Get the cracking pressure.
      Returns:
      cracking pressure in bara
    • isOpen

      public boolean isOpen()
      Check if valve is currently open.
      Returns:
      true if valve is open, false if closed
    • run

      public void run()

      Override run method to implement check valve logic. Valve opens when inlet pressure exceeds outlet pressure by cracking pressure, and closes otherwise.

    • toString

      public String toString()

      Returns a string representation specific to check valves.

      Overrides:
      toString in class Object