Beispiel #1
0
 def output_constraint(b, t):
     if t == t0:
         return pyo.Constraint.Skip
     else:
         return self.output[t] ==\
             smooth_min(
                 smooth_max(self.unconstrained_output[t], l, e), h, e)
Beispiel #2
0
 def minimum_pressure(b, t, i):
     if i == self.inlet_list[0]:
         return self.inlet_blocks[i][t].pressure
     else:
         pi = self.inlet_list[self.inlet_list.index(i) - 1]
         prev_p = self.minimum_pressure[t, pi]
         this_p = self.inlet_blocks[i][t].pressure
         return smooth_min(this_p, prev_p, self.eps_pressure)
Beispiel #3
0
 def minimum_pressure_constraint(b, t, i):
     if i == self.inlet_idx.first():
         return self.minimum_pressure[t, i] == (
             inlet_blocks[i - 1][t].pressure)
     else:
         return self.minimum_pressure[t, i] == (smooth_min(
             self.minimum_pressure[t, i - 1],
             inlet_blocks[i - 1][t].pressure, self.eps_pressure))
Beispiel #4
0
 def rule_Cmin(blk, t):
     caph = (blk.hot_side.properties_in[t].flow_mol *
             blk.hot_side.properties_in[t].cp_mol)
     capc = pyunits.convert(blk.cold_side.properties_in[t].flow_mol *
                            blk.cold_side.properties_in[t].cp_mol,
                            to_units=hunits("power") /
                            hunits("temperature"))
     return smooth_min(caph, capc, eps=blk.eps_cmin)
Beispiel #5
0
def test_smooth_min(simple_model):
    # Test that smooth_min gives correct values
    assert smooth_min(3.0, 12.0) == pytest.approx(3.0, abs=1e-4)
    assert value(smooth_min(simple_model.a,
                            simple_model.b,
                            simple_model.e)) == pytest.approx(-4.0, abs=1e-4)
Beispiel #6
0
 def rule_teq(b):
     return b._teq[phase_pair] == smooth_min(
         _t1, b.temperature_dew[phase_pair], eps_2)
Beispiel #7
0
 def inlet_pressure_eqn(b, t):
     return b.valve_1.control_volume.properties_in[t].pressure == \
         smooth_min(600000, smooth_max(500000, 50000*(b.time_var[t] - 10) + 500000))
Beispiel #8
0
 def rule_teq(b):
     return b._teq == smooth_min(b._t1, b.temperature_dew, b.eps_2)