fix: align PNL0003 Reynolds diagnostic with AMESim

This commit is contained in:
huojiarong committed 2026-08-19 10:40:57 +00:00
1 parent 60b743dd81
commit 27f9f4add8
5 files changed
+100 -3

No files matched your search

+12 -1
View File
@@ -1667,6 +1667,16 @@ class AmesimPnl0003(DynamicComponent):
viscosity = self._dynamic_viscosity(temperature)
return 4.0 * abs(mass_flow) / (pi * self.diam * viscosity)
def reported_reynolds_number(
self,
mass_flow: float,
temperature: float,
) -> float:
"""Return AMESim's derived re without changing pipe dynamics."""
viscosity = self.medium.diagnostic_dynamic_viscosity(temperature)
return 4.0 * abs(mass_flow) / (pi * self.diam * viscosity)
def friction_factor(self, reynolds_number: float) -> float:
return AmesimPnl00r.friction_factor(self, reynolds_number)
@@ -1734,6 +1744,7 @@ class AmesimPnl0003(DynamicComponent):
center_flow = self.resistance_mass_flow()
upstream = port_1 if center_flow >= 0.0 else port_2
reynolds = self.reynolds_number(center_flow, upstream.T)
reported_reynolds = self.reported_reynolds_number(center_flow, upstream.T)
friction = self.friction_factor(reynolds)
return {
"m1": self.state_1.m,
@@ -1751,7 +1762,7 @@ class AmesimPnl0003(DynamicComponent):
"u2": port_2.u,
"h2": port_2.h,
"dmctr": center_flow,
"re": reynolds,
"re": reported_reynolds,
"cm": _bare_pipe_mass_flow_parameter(
center_flow,
area=self.area,