Class CheckValve
- All Implemented Interfaces:
Serializable, Runnable, ProcessEquipmentInterface, TwoPortInterface, ValveInterface, SimulationInterface, NamedInterface
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 Summary
FieldsModifier and TypeFieldDescriptionprivate static final doublePressure drop coefficient when closed (very high resistance).private doubleMinimum differential pressure required to open valve (bara).private booleanIndicates if valve is currently open.private static final longSerialization version UID.Fields inherited from class ThrottlingValve
isCalcPressure, logger, molarFlow, pressure, thermoSystem, valveMechanicalDesignFields inherited from class TwoPortEquipment
inStream, outStreamFields inherited from class ProcessEquipmentBaseClass
conditionAnalysisMessage, energyStream, hasController, isSolved, properties, reportFields inherited from class SimulationBaseClass
calcIdentifier, calculateSteadyState, timeFields inherited from class NamedBaseClass
name -
Constructor Summary
ConstructorsConstructorDescriptionCheckValve(String name) Constructor for CheckValve.CheckValve(String name, StreamInterface inStream) Constructor for CheckValve. -
Method Summary
Modifier and TypeMethodDescriptiondoubleGet the cracking pressure.booleanisOpen()Check if valve is currently open.voidrun()voidsetCrackingPressure(double crackingPressure) Set the cracking pressure - minimum differential pressure to open valve.toString()Methods inherited from class ThrottlingValve
calcKv, calculateMolarFlow, calculateOutletPressure, displayResult, getCapacityDuty, getCapacityMax, getCg, getClosingTravelTime, getCv, getCv, getDeltaPressure, getDeltaPressure, getEntropyProduction, getExergyChange, getFp, getInletPressure, getKv, getMechanicalDesign, getOpeningTravelTime, getOutletPressure, getPercentValveOpening, getResultTable, getTargetPercentValveOpening, getThermoSystem, getTravelModel, getTravelTime, getTravelTimeConstant, initMechanicalDesign, isAcceptNegativeDP, isAllowChoked, isAllowLaminar, isGasValve, isIsoThermal, isValveKvSet, needRecalculation, run, runController, runTransient, setAcceptNegativeDP, setAllowChoked, setAllowLaminar, setClosingTravelTime, setCv, setCv, setDeltaPressure, setFp, setGasValve, setIsCalcOutPressure, setIsoThermal, setKv, setMaximumValveOpening, setMinimumValveOpening, setOpeningTravelTime, setOutletPressure, setOutletPressure, setPercentValveOpening, setPressure, setPressure, setTargetPercentValveOpening, setTravelModel, setTravelTime, setTravelTimeConstant, setValveKvSet, toJson, toJsonMethods inherited from class TwoPortEquipment
getInletStream, getInletTemperature, getMassBalance, getOutletStream, getOutletTemperature, setInletPressure, setInletStream, setInletTemperature, setOutletStream, setOutletTemperature, validateSetupMethods inherited from class ProcessEquipmentBaseClass
copy, equals, getConditionAnalysisMessage, getController, getEnergyStream, getMassBalance, getMinimumFlow, getPressure, getPressure, getProperty, getReport_json, getSpecification, getTemperature, getTemperature, hashCode, isActive, isActive, isSetEnergyStream, reportResults, run_step, runConditionAnalysis, setController, setEnergyStream, setEnergyStream, setFlowValveController, setMinimumFlow, setRegulatorOutSignal, setSpecification, setTemperature, solvedMethods inherited from class SimulationBaseClass
getCalculateSteadyState, getCalculationIdentifier, getTime, increaseTime, isRunInSteps, setCalculateSteadyState, setCalculationIdentifier, setRunInSteps, setTimeMethods inherited from class NamedBaseClass
getName, getTagName, setName, setTagNameMethods inherited from interface NamedInterface
getName, getTagName, setName, setTagNameMethods inherited from interface ProcessEquipmentInterface
equals, getConditionAnalysisMessage, getController, getExergyChange, getFluid, getMassBalance, getMassBalance, getPressure, getPressure, getReport_json, getRestCapacity, getSpecification, getTemperature, getTemperature, hashCode, reportResults, runConditionAnalysis, setController, setRegulatorOutSignal, setSpecification, setTemperature, validateSetupMethods inherited from interface SimulationInterface
getCalculateSteadyState, getCalculationIdentifier, getTime, increaseTime, isRunInSteps, run_step, run_step, runTransient, setCalculateSteadyState, setCalculationIdentifier, setRunInSteps, setTime, solvedMethods inherited from interface TwoPortInterface
getInletStream, getInletTemperature, getInStream, getOutletStream, getOutletTemperature, getOutStream, setInletPressure, setInletStream, setInletTemperature, setOutletStream, setOutletTemperature
-
Field Details
-
serialVersionUID
private static final long serialVersionUIDSerialization version UID.- See Also:
-
crackingPressure
private double crackingPressureMinimum differential pressure required to open valve (bara). -
isOpen
private boolean isOpenIndicates if valve is currently open. -
CLOSED_RESISTANCE
private static final double CLOSED_RESISTANCEPressure drop coefficient when closed (very high resistance).- See Also:
-
-
Constructor Details
-
CheckValve
Constructor for CheckValve.- Parameters:
name- name of the check valve
-
CheckValve
Constructor for CheckValve.- Parameters:
name- name of the check valveinStream- 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
-