diff --git a/FluidDynamics/Components/Orifices/HorizontalOpening.mo b/FluidDynamics/Components/Orifices/HorizontalOpening.mo
index 8e787dbf7c28251e530af566ba04cac9a058a445..43843caebc9853bb5d7701d1ac733e944ceb961e 100644
--- a/FluidDynamics/Components/Orifices/HorizontalOpening.mo
+++ b/FluidDynamics/Components/Orifices/HorizontalOpening.mo
@@ -112,8 +112,8 @@ In such a case, the HorizontalOpening is assumed behaves like a VerticalOpening
   port_a.H_flow = m_flow_i * TAeZoSysPro.FluidDynamics.Utilities.regStep(
     x = Vel, 
     x_small = 1e-3, 
-    y1 = h_a, 
-    y2 = h_b);
+    y1 = h_a + Modelica.Constants.g_n * (Alt_a - Alt_b), 
+    y2 = h_b - Modelica.Constants.g_n * (Alt_a - Alt_b));
   port_a.H_flow + port_b.H_flow = 0;
   
   annotation(defaultComponentName="opening",
diff --git a/FluidDynamics/Components/Orifices/Opening.mo b/FluidDynamics/Components/Orifices/Opening.mo
index 4f9b6d12daa3cf10e474f06e370153a248a7a95d..4a3b948e3649115e2e7999f50648d2b3fc7cf231 100644
--- a/FluidDynamics/Components/Orifices/Opening.mo
+++ b/FluidDynamics/Components/Orifices/Opening.mo
@@ -103,8 +103,8 @@ equation
   port_a.H_flow = m_flow_i * TAeZoSysPro.FluidDynamics.Utilities.regStep(
     x = Vel, 
     x_small = 1e-3, 
-    y1 = h_a, 
-    y2 = h_b);
+    y1 = h_a + Modelica.Constants.g_n * (Alt_a - Alt_b), 
+    y2 = h_b - Modelica.Constants.g_n * (Alt_a - Alt_b) );
   port_a.H_flow + port_b.H_flow = 0;
   
   annotation(defaultComponentName="opening",
diff --git a/FluidDynamics/Components/Orifices/SimpleOpeningComp.mo b/FluidDynamics/Components/Orifices/SimpleOpeningComp.mo
index da5dedb2f84886cf96abe9f839e604e0a9e0cc43..c1a427330979f7fc45f8c810ac9c6edde4620f79 100644
--- a/FluidDynamics/Components/Orifices/SimpleOpeningComp.mo
+++ b/FluidDynamics/Components/Orifices/SimpleOpeningComp.mo
@@ -91,7 +91,7 @@ equation
     y1 = port_a.d/sum(port_a.d), 
     y2 = port_a.d/sum(port_a.d));
   port_a.m_flow + port_b.m_flow = fill(0.0, Medium.nX);
-  port_a.H_flow = smooth(0, if dp >= 0.0 then m_flow * h_a else m_flow * h_b);
+  port_a.H_flow = semiLinear(m_flow, h_a + g*(Alt_a - Alt_b), h_b - g*(Alt_a - Alt_b) );
   port_a.H_flow + port_b.H_flow = 0;
   
   annotation(defaultComponentName="SimpleOpeningComp",