Dynamic check valve
## Copyright © EDF 2002 - 2026
## ThermoSysPro Version 4.2
This component model is documented in Sect. 13.12 of the ThermoSysPro book.
# Dynamic check valve
The dynamic check valve is modeled as a control valve which position is controlled by the flow through the clapper aperture.
The inertia of the movement of the clapper is taken into account, contrary to the [check valve](modelica://ThermoSysPro.WaterSteam.PressureLosses.CheckValve).
The model presented here only accounts for clapper check valves.
## Modelica component model
The equations mentioned below are implemented in the component *DynamicCheckValve*, located in the *WaterSteam.PressureLosses* sub-library.
This component has 2 connectors:
- C1: fluid inlet,
- C2: fluid outlet.

## Nomenclature
| Symbol| Description| Unit| Definition| Modelica name |
| :----------------------------------------------- | :------------------------------------------------------------------------------------- | :------------------------------- | :-------------------------------- | :----------- |
| \\(A\\)| Clapper hydraulic area| \\(\mathrm{m}^{2}\\)|| A |
| \\(C\_{\mathrm{f}}\\)| Friction torque acting on the clapper| \\(\mathrm{N} \mathrm{m}\\)|| Cf |
| \\(C\_{\mathrm{h}}\\)| Hydraulic torque acting on the clapper| \\(\mathrm{N} \mathrm{m}\\)|| Ch |
| \\(C\_{\mathrm{s}}\\)| Spring torque acting on the clapper| \\(\mathrm{N} \mathrm{m}\\)|| - |
| \\(C\_{\mathrm{t}}\\)| Total torque acting on the clapper| \\(\mathrm{N} \mathrm{m}\\)|| Ct |
| \\(C\_{\mathrm{v}}\\)| Flow coefficient of the valve| U.S. [USG/min]|| Cv |
| \\(C\_{\mathrm{w}}\\)| Weight torque acting on the clapper| \\(\mathrm{N} \mathrm{m}\\)|| Cp |
| \\(g\\)| Gravity constant| \\(\mathrm{m} / \mathrm{s}^{2}\\)|| g_n |
| \\(h\\)| Fluid specific enthalpy | \\(\mathrm{J} / \mathrm{kg}\\)|| h |
| \\(J\\)| Clapper moment of inertia| \\(\mathrm{kg} \mathrm{m}^{2}\\)|| J |
| \\(K\_{1}\\)| Clapper friction law coefficient| \\(-\\)|| Kf1 |
| \\(K\_{2}\\)| Clapper friction law coefficient| \\(-\\)|| Kf2 |
| \\(m\\)| Fluid mass flow rate through the valve| \\(\mathrm{kg} / \mathrm{s}\\)|| Q |
| \\(M\\)| Clapper mass| \\(\mathrm{kg}\\)|| m |
| \\(n\\)| Clapper friction law exponent| \\(-\\)|| n |
| \\(P\_{\mathrm{i}}\\)| Fluid pressure at the valve inlet| \\(\mathrm{Pa}\\)|| C1.P |
| \\(P\_{\mathrm{o}}\\)| Fluid pressure at the valve outlet| \\(\mathrm{Pa}\\)|| C2.P |
| \\(r\\)| Clapper radius| \\(\mathrm{m}\\)| \\(\frac{A}{\pi}\\)| r |
| \\(\Delta P\\)| Fluid pressure loss between the inlet and the outlet| \\(\mathrm{Pa}\\)| \\(P\_{\mathrm{i}}-P\_{\mathrm{o}}\\) | deltaP |
| \\(\theta\\)| Clapper aperture angle| \\(\mathrm{rad}\\)|| theta |
| \\(\theta\_{\min }\\)| Minimum clapper aperture angle \(valve fully closed\)| \\(\mathrm{rad}\\)|| theta_min |
| \\(\theta\_{\max }\\)| Maximum clapper aperture angle \(valve fully open\)| \\(\mathrm{rad}\\)|| theta_max |
| \\(\rho\\)| Fluid density| \\(\mathrm{kg} / \mathrm{m}^{3}\\) || rho |
| \\(\rho\_{\text {water, } 60^{\circ} \mathrm{F}}\\) | Density of water at \\(60^{\circ} \mathrm{F}\left\(15.5556^{\circ} \mathrm{C}\right\) .\\) | \\(\mathrm{kg} / \mathrm{m}^{3}\\) || - |
| \\(\omega\\)| Clapper angular velocity| \\(\mathrm{rad} / \mathrm{s}\\)|| omega |
| \\(\Omega\\)| Valve position| \\(-\\)| \\(1-\cos \(\theta\)\\)| Ouv |
## Governing equations
### Static momentum balance equation
- Validity domain:
\\(\forall \dot{m}\\) and \\(C\_{\mathrm{v}} \geq 0\\). For \\(C\_{\mathrm{v}}=0, \Delta P\\) must be defined.
- Mathematical formulation:
$$\Delta P \cdot C\_{\mathrm{v}} \cdot \lvert C\_{\mathrm{v}} \rvert
=1.732189 \times 10^{12} \cdot \frac{\dot{m} \cdot \lvert \dot{m} \rvert
}{\rho \cdot \rho\_{\text {water,60 }^{\circ} F}}$$
- Comments:
This equation is the same as the control valve’s \\(C\_{\mathrm{v}}=f\_{v}\(\Omega\)\\) where \\(f\_{v}\\) is the valve characteristic.
### Clapper equation
- Validity domain:
\\( \theta\_{\min} \leq \theta \leq \theta\_{\max} \\)
- Mathematical formulation:
$$ J \cdot \frac{\mathrm{d} \omega}{\mathrm{d}t}=\left\{\begin{array}{l} C_{\mathrm{t}} \text{ if } \theta_{\min }<\theta<\theta_{\max } \\ C_{\mathrm{t}} \text{ if } \theta \leq \theta_{\min } \text{ and } C_{\mathrm{t}}>0 \\ C_{\mathrm{t}} \text{ if } \theta \geq \theta_{\max } \text{ and } C_{\mathrm{t}}<0 \\ 0 \text{ else }\end{array}\right.$$
$$ \omega=\left\{\begin{array}{l}\frac{\mathrm{d} \theta}{\mathrm{d} t} \text{ when } \theta_{\min }<\theta<\theta_{\max } \\ 0 \text{ when } \theta \leq \theta_{\min } \text{ or } \theta \geq \theta_{\max }\end{array}\right.$$
$$ C_{\mathrm{t}} = C_{\mathrm{w}}+C_{\mathrm{s}} +C_{\mathrm{f}}+ C_{\mathrm{h}} \\ C_{\mathrm{w}} = -M \cdot g \cdot r \cdot \sin(\theta) \\ C_{\mathrm{f}} = -\operatorname{sign}(\omega) \cdot \left(K_{1}+K_{2} \cdot \lvert\omega \rvert^{n}\right) \\ C_{\mathrm{h}} = \Delta P \cdot A \cdot r \cdot \cos(\theta)$$
- Comments:
The angular velocity and acceleration are set to zero when the clapper hits
the mechanical stops. The equal sign is replaced by \\(\leq\\) or \\(\geq\\) in the transition conditions \\(\theta=\theta\_{\min }\\) and \\(\theta=\theta\_{\max }\\) because equal signs are not recognized by solvers to compare real values.
## References
El Hefni, Baligh and Bouskela, Daniel (2019). [Modeling and Simulation of Thermal Power Plants with ThermoSysPro](https://link.springer.com/book/10.1007/978-3-030-05105-1), sect. 13.1. Springer Nature Switzerland AG.
Author Daniel Bouskela
Generated at 2026-08-05T20:24:29Z by OpenModelicaOpenModelica 1.27.0 using
GenerateDoc.mos