feat(python): implement python bindings for all components and solvers
This commit is contained in:
@@ -190,6 +190,7 @@ impl HeatTransferModel for EpsNtuModel {
|
||||
_hot_outlet: &FluidState,
|
||||
cold_inlet: &FluidState,
|
||||
_cold_outlet: &FluidState,
|
||||
dynamic_ua_scale: Option<f64>,
|
||||
) -> Power {
|
||||
let c_hot = hot_inlet.heat_capacity_rate();
|
||||
let c_cold = cold_inlet.heat_capacity_rate();
|
||||
@@ -205,7 +206,7 @@ impl HeatTransferModel for EpsNtuModel {
|
||||
}
|
||||
|
||||
let c_r = c_min / c_max;
|
||||
let ntu = self.effective_ua() / c_min;
|
||||
let ntu = self.effective_ua(dynamic_ua_scale) / c_min;
|
||||
|
||||
let effectiveness = self.effectiveness(ntu, c_r);
|
||||
|
||||
@@ -221,9 +222,10 @@ impl HeatTransferModel for EpsNtuModel {
|
||||
cold_inlet: &FluidState,
|
||||
cold_outlet: &FluidState,
|
||||
residuals: &mut ResidualVector,
|
||||
dynamic_ua_scale: Option<f64>,
|
||||
) {
|
||||
let q = self
|
||||
.compute_heat_transfer(hot_inlet, hot_outlet, cold_inlet, cold_outlet)
|
||||
.compute_heat_transfer(hot_inlet, hot_outlet, cold_inlet, cold_outlet, dynamic_ua_scale)
|
||||
.to_watts();
|
||||
|
||||
let q_hot =
|
||||
@@ -253,8 +255,8 @@ impl HeatTransferModel for EpsNtuModel {
|
||||
self.ua_scale = s;
|
||||
}
|
||||
|
||||
fn effective_ua(&self) -> f64 {
|
||||
self.ua * self.ua_scale
|
||||
fn effective_ua(&self, dynamic_ua_scale: Option<f64>) -> f64 {
|
||||
self.ua * dynamic_ua_scale.unwrap_or(self.ua_scale)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -304,7 +306,7 @@ mod tests {
|
||||
let cold_inlet = FluidState::new(20.0 + 273.15, 101_325.0, 80_000.0, 0.2, 4180.0);
|
||||
let cold_outlet = FluidState::new(30.0 + 273.15, 101_325.0, 120_000.0, 0.2, 4180.0);
|
||||
|
||||
let q = model.compute_heat_transfer(&hot_inlet, &hot_outlet, &cold_inlet, &cold_outlet);
|
||||
let q = model.compute_heat_transfer(&hot_inlet, &hot_outlet, &cold_inlet, &cold_outlet, None);
|
||||
|
||||
assert!(q.to_watts() > 0.0);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user