优化压力流量求解并达到四路性能门槛

This commit is contained in:
huojiarong committed 2026-08-15 11:45:22 +00:00
1 parent 6572defaa4
commit 6a064892e2
20 files changed
+711 -175

No files matched your search

@@ -410,6 +410,12 @@ class AmesimPnor001(AlgebraicComponent):
"gasvel": flow_direction * gas_velocity,
}
def pressure_flow_equation_values(self) -> tuple[float, ...]:
return (
self.port_1.m_flow + self.port_2.m_flow,
self.port_1.m_flow - self.mass_flow(self.port_1.p, self.port_2.p),
)
def pressure_flow_equation_residuals(self) -> tuple[EquationResidual, ...]:
return (
EquationResidual(
@@ -832,6 +838,12 @@ class AmesimPnvo001FixedOpening(AlgebraicComponent):
"gasvel": flow_direction * gas_velocity,
}
def pressure_flow_equation_values(self) -> tuple[float, ...]:
return (
self.port_2.m_flow + self.port_3.m_flow,
self.port_2.m_flow - self.mass_flow(self.port_2.p, self.port_3.p),
)
def pressure_flow_equation_residuals(self) -> tuple[EquationResidual, ...]:
return (
EquationResidual(
@@ -317,6 +317,12 @@ class AmesimPnl00r(AlgebraicComponent):
"ff": self.friction_factor(reynolds),
}
def pressure_flow_equation_values(self) -> tuple[float, ...]:
return (
self.port_1.m_flow + self.port_2.m_flow,
self.port_1.m_flow - self.mass_flow(self.port_1.p, self.port_2.p),
)
def pressure_flow_equation_residuals(self) -> tuple[EquationResidual, ...]:
return (
EquationResidual(
@@ -838,6 +844,13 @@ class AmesimPnl0001(ThermodynamicVolumeComponent):
"ff": self.friction_factor(reynolds),
}
def pressure_flow_equation_values(self) -> tuple[float, ...]:
props = self.medium.properties_from_mU(self.state.m, self.state.U, self.volume)
return (
self.port_2.p - props.p,
self.port_1.m_flow - self.mass_flow(self.port_1.p, props.p, props.T),
)
def pressure_flow_equation_residuals(self) -> tuple[EquationResidual, ...]:
props = self.medium.properties_from_mU(self.state.m, self.state.U, self.volume)
return (
@@ -1080,6 +1093,25 @@ class AmesimPnl0002(AmesimPnl0001):
"ff": friction,
}
def pressure_flow_equation_values(self) -> tuple[float, ...]:
props = self.medium.properties_from_mU(self.state.m, self.state.U, self.volume)
return (
self.port_1.m_flow
- self.port_mass_flow(
self.port_1.p,
props.p,
props.T,
port_name="port_1",
),
self.port_2.m_flow
- self.port_mass_flow(
self.port_2.p,
props.p,
props.T,
port_name="port_2",
),
)
def pressure_flow_equation_residuals(self) -> tuple[EquationResidual, ...]:
props = self.medium.properties_from_mU(self.state.m, self.state.U, self.volume)
return (
@@ -1411,6 +1443,14 @@ class AmesimPnl0003(DynamicComponent):
"ff": self.friction_factor(reynolds),
}
def pressure_flow_equation_values(self) -> tuple[float, ...]:
port_1 = self._properties(self.state_1)
port_2 = self._properties(self.state_2)
return (
self.port_1.p - port_1.p,
self.port_2.p - port_2.p,
)
def pressure_flow_equation_residuals(self) -> tuple[EquationResidual, ...]:
port_1 = self._properties(self.state_1)
port_2 = self._properties(self.state_2)