Exemplo n.º 1
0
def demo_simpel_Values():
    steamTable = XSteam(XSteam.UNIT_SYSTEM_MKS)
    # get saturated liquid enthalpy for a preasure of 220 bar
    print('hV_p(220.0) =', steamTable.hL_p(220.0))
    # get saturated vapour enthalpy for a preasure of 220 bar
    print('hV_p(220.0) =', steamTable.hV_p(220.0))
    print('tcL_p(1.0) =', steamTable.tcL_p(1.0))
    print('tcL_t(25.0) =', steamTable.tcL_t(25.0))
    print('tcV_p(1.0) =', steamTable.tcV_p(1.0))
    print('tcL_t(25.0) =', steamTable.tcV_t(25.0))
    print('tc_hs(100.0, 0.34) =', steamTable.tc_hs(100.0, 0.34))
    print('tc_ph(1.0, 100.0) =', steamTable.tc_ph(1.0, 100.0))
    print('tc_pt(1.0, 25.0) =', steamTable.tc_pt(1.0, 25.0))
    print('w_ps(1.0, 1.0) =', steamTable.w_ps(1.0, 1.0))
Exemplo n.º 2
0
def demo_simpel_Values():
    steamTable = XSteam(XSteam.UNIT_SYSTEM_MKS)
    # get saturated liquid enthalpy for a preasure of 220 bar
    print('hV_p(220.0) =', steamTable.hL_p(220.0))
    # get saturated vapour enthalpy for a preasure of 220 bar
    print('hV_p(220.0) =', steamTable.hV_p(220.0))
    print('tcL_p(1.0) =', steamTable.tcL_p(1.0))
    print('tcL_t(25.0) =', steamTable.tcL_t(25.0))
    print('tcV_p(1.0) =', steamTable.tcV_p(1.0))
    print('tcL_t(25.0) =', steamTable.tcV_t(25.0))
    print('tc_hs(100.0, 0.34) =', steamTable.tc_hs(100.0, 0.34))
    print('tc_ph(1.0, 100.0) =', steamTable.tc_ph(1.0, 100.0))
    print('tc_pt(1.0, 25.0) =', steamTable.tc_pt(1.0, 25.0))
    print('w_ps(1.0, 1.0) =', steamTable.w_ps(1.0, 1.0))
Exemplo n.º 3
0
def demo_simpel_values():
    """calculate values and print the results"""
    steam_table = XSteam(XSteam.UNIT_SYSTEM_MKS)
    # get saturated liquid enthalpy for a preasure of 220 bar
    print("hV_p(220.0) =", steam_table.hL_p(220.0))
    # get saturated vapour enthalpy for a preasure of 220 bar
    print("hV_p(220.0) =", steam_table.hV_p(220.0))
    print("tcL_p(1.0) =", steam_table.tcL_p(1.0))
    print("tcL_t(25.0) =", steam_table.tcL_t(25.0))
    print("tcV_p(1.0) =", steam_table.tcV_p(1.0))
    print("tcL_t(25.0) =", steam_table.tcV_t(25.0))
    print("tc_hs(100.0, 0.34) =", steam_table.tc_hs(100.0, 0.34))
    print("tc_ph(1.0, 100.0) =", steam_table.tc_ph(1.0, 100.0))
    print("tc_pt(1.0, 25.0) =", steam_table.tc_pt(1.0, 25.0))
    print("w_ps(1.0, 1.0) =", steam_table.w_ps(1.0, 1.0))
Exemplo n.º 4
0
def get_trace_result(input_data):
    base_data = {}
    pipe_data = {}

    for i in input_data[0]:
        base_data[i['name']] = i['value']

    steam_pressure = float(base_data['steam_pressure'])
    TT = float(base_data['steam_temp'])
    Tamb = float(base_data['amb_temp'])
    wv = float(base_data['wind_velocity'])

    for i in input_data[1]:
        if i['class'] in pipe_data:
            pipe_data[i['class']][next(iter(i))] = i[next(iter(i))]
        else:
            pipe_data[i['class']] = {next(iter(i)): i[next(iter(i))]}

    for i, j in pipe_data.items():
        TP = float(j['maintain_temp'])
        NPS = float(j['pipe_dia'])
        INS = float(j['insulation_thickness'])
        ins_type = j['insulation_type']
        pipe_length = float(j['pipe_length'])

        trace = get_trace_calc(TP, TT, Tamb, NPS, ins_type, INS, wv)[1]
        heat_loss = get_trace_calc(TP, TT, Tamb, NPS, ins_type, INS, wv)[0]
        pipe_data[i]['trace'] = trace
        pipe_data[i]['heat_loss'] = round(heat_loss, 3)

        steamTable = XSteam(XSteam.UNIT_SYSTEM_FLS)
        h = steamTable.hV_p(steam_pressure +
                            14.696) - steamTable.hL_p(steam_pressure + 14.696)

        #check

        pipe_data[i]['steam_require'] = round((pipe_length * heat_loss / h), 3)

        tracer_length = get_tracer_length(steam_pressure, trace)
        pipe_data[i]['tracer_length'] = tracer_length

    return pipe_data
Exemplo n.º 5
0
h2 = h1 + w_p
print(f"H2: {round(float(h2),1)} kJ/kg")

T2 = steamTable.t_ph(p2, h2)
print(f"T2: {round(float(T2),1)} degC")

h2dash = steamTable.hL_p(p2)
s2dash = steamTable.sL_p(p2)
T2dash = steamTable.t_ph(p2, h2dash)
print('\nPoint 2dash')
print(f"H2dash: {round(float(h2dash),1)} kJ/kg")
print(f"S2dash: {round(float(s2dash),3)} kJ/kg K")
print(f"T2dash: {round(float(T2dash),1)} degC")

p3 = p2
h3 = steamTable.hV_p(p2)
s3 = steamTable.sV_p(p2)
T3 = T2dash
print('\nPoint 3')
print(f"P3: {round(float(p3),1)} bar")
print(f"T3: {round(float(T3),1)} degC")
print(f"H3: {round(float(h3),1)} kJ/kg")
print(f"S3: {round(float(s3),3)} kJ/kg K")

p4 = p1
s4 = s3
T4 = steamTable.t_ps(p4, s4)
x4 = steamTable.x_ps(p4, s4)
h4 = steamTable.h_px(p4, x4)
print('\nPoint 4')
print(f"P4: {round(float(p4),1)} bar")
h2 = h1 + w_p
print(f"H2: {round(float(h2),1)} kJ/kg")

T2 = steamTable.t_ph(p2, h2)
print(f"T2: {round(float(T2),1)} degC")

h2dash = steamTable.hL_p(p2)
s2dash = steamTable.sL_p(p2)
T2dash = steamTable.t_ph(p2, h2dash)
print('\nPoint 2 dash')
print(f"T2dash: {round(float(T2dash),1)} degC")
print(f"p2dash: {round(float(p2),1)} bar")
print(f"H2dash: {round(float(h2dash),1)} kJ/kg")
print(f"S2dash: {round(float(s2dash),3)} kJ/kg K")

h3dash = steamTable.hV_p(p2)
s3dash = steamTable.sV_p(p2)
T3dash = T2dash
print('\nPoint 3dash')
print(f"T3dash: {round(float(T3dash),1)} degC")
print(f"H3dash: {round(float(h3dash),1)} kJ/kg")
print(f"S3dash: {round(float(s3dash),3)} kJ/kg K")

p3 = p2
T3 = 540
h3 = steamTable.h_pt(p3, T3)
s3 = steamTable.s_pt(p3, T3)
print('\nPoint 3')
print(f"T3: {round(float(T3),1)} degC")
print(f"p3: {round(float(p3),1)} bar")
print(f"H3: {round(float(h3),1)} kJ/kg")
Exemplo n.º 7
0
class MKS_FunctionTester(unittest.TestCase):

    def setUp(self):
        self.maxError = 1E-6
        self.steamTable = XSteam(XSteam.UNIT_SYSTEM_MKS)

    def tearDown(self):
        pass

    def test_tsat_p(self):
        error = self.steamTable.tsat_p(1.0) - 99.60591861
        self.assertLess(error, self.maxError, 'tsat_p not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_t_ph(self):
        error = self.steamTable.t_ph(1.0, 100.0) - 23.84481908
        self.assertLess(error, self.maxError, 't_ph not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_t_ps(self):
        error = self.steamTable.t_ps(1.0, 1.0) - 73.70859421
        self.assertLess(error, self.maxError, 't_ps not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_t_hs(self):
        error = self.steamTable.t_hs(100.0, 0.2) - 13.84933511
        self.assertLess(error, self.maxError, 't_hs not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_psat_t(self):
        error = self.steamTable.psat_t(100.0) - 1.014179779
        self.assertLess(error, self.maxError, 'psat_t not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_p_hs(self):
        error = self.steamTable.p_hs(84.0, 0.296) - 2.295498269
        self.assertLess(error, self.maxError, 'p_hs not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_hV_p(self):
        error = self.steamTable.hV_p(1.0) - 2674.949641
        self.assertLess(error, self.maxError, 'hV_p not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_hL_p(self):
        error = self.steamTable.hL_p(1.0) - 417.4364858
        self.assertLess(error, self.maxError, 'hL_p not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_hV_t(self):
        error = self.steamTable.hV_t(100.0) - 2675.572029
        self.assertLess(error, self.maxError, 'hV_t not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_hL_t(self):
        error = self.steamTable.hL_t(100.0) - 419.099155
        self.assertLess(error, self.maxError, 'hL_t not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_h_pt(self):
        error = self.steamTable.h_pt(1.0, 20.0) - 84.01181117
        self.assertLess(error, self.maxError, 'h_pt not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_h_ps(self):
        error = self.steamTable.h_ps(1.0, 1.0) - 308.6107171
        self.assertLess(error, self.maxError, 'h_ps not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_h_px(self):
        error = self.steamTable.h_px(1.0, 0.5) - 1546.193063
        self.assertLess(error, self.maxError, 'h_px not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_h_prho(self):
        error = self.steamTable.h_prho(1.0, 2.0) - 1082.773391
        self.assertLess(error, self.maxError, 'h_prho not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_h_tx(self):
        error = self.steamTable.h_tx(100.0, 0.5) - 1547.33559211
        self.assertLess(error, self.maxError, 'h_tx not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_vV_p(self):
        error = self.steamTable.vV_p(1.0) - 1.694022523
        self.assertLess(error, self.maxError, 'vV_p not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_vL_p(self):
        error = self.steamTable.vL_p(1.0) - 0.001043148
        self.assertLess(error, self.maxError, 'vL_p not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_vV_t(self):
        error = self.steamTable.vV_t(100.0) - 1.671860601
        self.assertLess(error, self.maxError, 'vV_t not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_vL_t(self):
        error = self.steamTable.vL_t(100.0) - 0.001043455
        self.assertLess(error, self.maxError, 'vL_t not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_v_pt(self):
        error = self.steamTable.v_pt(1.0, 100.0) - 1.695959407
        self.assertLess(error, self.maxError, 'v_pt not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_v_ph(self):
        error = self.steamTable.v_ph(1.0, 1000.0) - 0.437925658
        self.assertLess(error, self.maxError, 'v_ph not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_v_ps(self):
        error = self.steamTable.v_ps(1.0, 5.0) - 1.03463539
        self.assertLess(error, self.maxError, 'v_ps not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_rhoV_p(self):
        error = self.steamTable.rhoV_p(1.0) - 0.590310924
        self.assertLess(error, self.maxError, 'rhoV_p not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_rhoL_p(self):
        error = self.steamTable.rhoL_p(1.0) - 958.6368897
        self.assertLess(error, self.maxError, 'rhoL_p not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_rhoV_t(self):
        error = self.steamTable.rhoV_t(100.0) - 0.598135993
        self.assertLess(error, self.maxError, 'rhoV_t not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_rhoL_t(self):
        error = self.steamTable.rhoL_t(100.0) - 958.3542773
        self.assertLess(error, self.maxError, 'rhoL_t not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_rho_pt(self):
        error = self.steamTable.rho_pt(1.0, 100.0) - 0.589636754
        self.assertLess(error, self.maxError, 'rho_pt not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_rho_ph(self):
        error = self.steamTable.rho_ph(1.0, 1000.0) - 2.283492601
        self.assertLess(error, self.maxError, 'rho_ph not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_rho_ps(self):
        error = self.steamTable.rho_ps(1.0, 1.0) - 975.6236788
        self.assertLess(error, self.maxError, 'rho_ps not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_sV_p(self):
        error = self.steamTable.sV_p(0.006117) - 9.155465556
        self.assertLess(error, self.maxError, 'sV_p not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_sL_p(self):
        error = self.steamTable.sL_p(0.0061171) - 1.8359e-05
        self.assertLess(error, self.maxError, 'sL_p not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_sV_t(self):
        error = self.steamTable.sV_t(0.0001) - 9.155756716
        self.assertLess(error, self.maxError, 'sV_t not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_sL_t(self):
        error = self.steamTable.sL_t(100.0) - 1.307014328
        self.assertLess(error, self.maxError, 'sL_t not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_s_pt(self):
        error = self.steamTable.s_pt(1.0, 20.0) - 0.296482921
        self.assertLess(error, self.maxError, 's_pt not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_s_ph(self):
        error = self.steamTable.s_ph(1.0, 84.01181117) - 0.296813845
        self.assertLess(error, self.maxError, 's_ph not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_uV_p(self):
        error = self.steamTable.uV_p(1.0) - 2505.547389
        self.assertLess(error, self.maxError, 'uV_p not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_uL_p(self):
        error = self.steamTable.uL_p(1.0) - 417.332171
        self.assertLess(error, self.maxError, 'uL_p not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_uV_t(self):
        error = self.steamTable.uV_t(100.0) - 2506.015308
        self.assertLess(error, self.maxError, 'uV_t not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_uL_t(self):
        error = self.steamTable.uL_t(100.0) - 418.9933299
        self.assertLess(error, self.maxError, 'uL_t not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_u_pt(self):
        error = self.steamTable.u_pt(1.0, 100.0) - 2506.171426
        self.assertLess(error, self.maxError, 'u_pt not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_u_ph(self):
        error = self.steamTable.u_ph(1.0, 1000.0) - 956.2074342
        self.assertLess(error, self.maxError, 'u_ph not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_u_ps(self):
        error = self.steamTable.u_ps(1.0, 1.0) - 308.5082185
        self.assertLess(error, self.maxError, 'u_ps not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_CpV_p(self):
        error = self.steamTable.CpV_p(1.0) - 2.075938025
        self.assertLess(error, self.maxError, 'cpV_p not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_CpL_p(self):
        error = self.steamTable.CpL_p(1.0) - 4.216149431
        self.assertLess(error, self.maxError, 'cpL_p not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_CpV_t(self):
        error = self.steamTable.CpV_t(100.0) - 2.077491868
        self.assertLess(error, self.maxError, 'cpV_t not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_CpL_t(self):
        error = self.steamTable.CpL_t(100.0) - 4.216645119
        self.assertLess(error, self.maxError, 'cpL_t not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_Cp_pt(self):
        error = self.steamTable.Cp_pt(1.0, 100.0) - 2.074108555
        self.assertLess(error, self.maxError, 'cp_pt not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_Cp_ph(self):
        error = self.steamTable.Cp_ph(1.0, 200.0) - 4.17913573169
        self.assertLess(error, self.maxError, 'Cp_ph not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_Cp_ps(self):
        error = self.steamTable.Cp_ps(1.0, 1.0) - 4.190607038
        self.assertLess(error, self.maxError, 'Cp_ps not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_CvV_p(self):
        error = self.steamTable.CvV_p(1.0) - 1.552696979
        self.assertLess(error, self.maxError, 'CvV_p not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_CvL_p(self):
        error = self.steamTable.CvL_p(1.0) - 3.769699683
        self.assertLess(error, self.maxError, 'CvL_p not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_CvV_t(self):
        error = self.steamTable.CvV_t(100.0) - 1.553698696
        self.assertLess(error, self.maxError, 'CvV_t not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_CvL_t(self):
        error = self.steamTable.CvL_t(100.0) - 3.76770022
        self.assertLess(error, self.maxError, 'CvL_t not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_Cv_pt(self):
        error = self.steamTable.Cv_pt(1.0, 100.0) - 1.551397249
        self.assertLess(error, self.maxError, 'Cv_pt not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_Cv_ph(self):
        error = self.steamTable.Cv_ph(1.0, 200.0) - 4.035176364
        self.assertLess(error, self.maxError, 'Cv_ph not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_Cv_ps(self):
        error = self.steamTable.Cv_ps(1.0, 1.0) - 3.902919468
        self.assertLess(error, self.maxError, 'Cv_ps not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_wV_p(self):
        error = self.steamTable.wV_p(1.0) - 472.0541571
        self.assertLess(error, self.maxError, 'wV_p not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_wL_p(self):
        error = self.steamTable.wL_p(1.0) - 1545.451948
        self.assertLess(error, self.maxError, 'wL_p not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_wV_t(self):
        error = self.steamTable.wV_t(100.0) - 472.2559492
        self.assertLess(error, self.maxError, 'wV_t not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_wL_t(self):
        error = self.steamTable.wL_t(100.0) - 1545.092249
        self.assertLess(error, self.maxError, 'wL_t not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_w_pt(self):
        error = self.steamTable.w_pt(1.0, 100.0) - 472.3375235
        self.assertLess(error, self.maxError, 'w_pt not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_w_ph(self):
        error = self.steamTable.w_ph(1.0, 200.0) - 1542.682475
        self.assertLess(error, self.maxError, 'w_ph not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_w_ps(self):  # TODO: Check values and calculation
        error = self.steamTable.w_ps(1.0, 1.0) - 1557.8585
        self.assertLess(error, self.maxError, 'w_ps not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_my_pt(self):
        error = self.steamTable.my_pt(1.0, 100.0) - 1.22704e-05
        self.assertLess(error, self.maxError, 'my_pt not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_my_ph(self):
        error = self.steamTable.my_ph(1.0, 100.0) - 0.000914003770302
        self.assertLess(error, self.maxError, 'my_ph not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_my_ps(self):
        error = self.steamTable.my_ps(1.0, 1.0) - 0.000384222
        self.assertLess(error, self.maxError, 'my_ps not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_tcL_p(self):
        error = self.steamTable.tcL_p(1.0) - 0.677593822
        self.assertLess(error, self.maxError, 'tcL_p not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_tcV_p(self):
        error = self.steamTable.tcV_p(1.0) - 0.024753668
        self.assertLess(error, self.maxError, 'tcV_p not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_tcL_t(self):
        error = self.steamTable.tcL_t(25.0) - 0.607458162
        self.assertLess(error, self.maxError, 'tcL_t not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_tcV_t(self):
        error = self.steamTable.tcV_t(25.0) - 0.018326723
        self.assertLess(error, self.maxError, 'tcV_t not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_tc_pt(self):
        error = self.steamTable.tc_pt(1.0, 25.0) - 0.607509806
        self.assertLess(error, self.maxError, 'tc_pt not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_tc_ph(self):
        error = self.steamTable.tc_ph(1.0, 100.0) - 0.605710062
        self.assertLess(error, self.maxError, 'tc_ph not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_tc_hs(self):
        error = self.steamTable.tc_hs(100.0, 0.34) - 0.606283124
        self.assertLess(error, self.maxError, 'tc_hs not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_st_t(self):
        error = self.steamTable.st_t(100.0) - 0.0589118685877
        self.assertLess(error, self.maxError, 'st_t not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_st_p(self):
        error = self.steamTable.st_p(1.0) - 0.058987784
        self.assertLess(error, self.maxError, 'st_p not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_x_ph(self):
        error = self.steamTable.x_ph(1.0, 1000.0) - 0.258055424
        self.assertLess(error, self.maxError, 'x_ph not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_x_ps(self):
        error = self.steamTable.x_ps(1.0, 4.0) - 0.445397961
        self.assertLess(error, self.maxError, 'x_ps not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_vx_ph(self):
        error = self.steamTable.vx_ph(1.0, 418.0) - 0.288493093
        self.assertLess(error, self.maxError, 'vx_ph not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})

    def test_vx_ps(self):
        error = self.steamTable.vx_ps(1.0, 4.0) - 0.999233827
        self.assertLess(error, self.maxError, 'vx_ps not passed Error %(error)e allowed: %(max)e' % {'error': error, 'max': self.maxError})
Exemplo n.º 8
0
class FLS_FunctionTester(unittest.TestCase):
    def setUp(self):
        self.maxError = 1E-6
        self.steamTable = XSteam(XSteam.UNIT_SYSTEM_FLS)

    def tearDown(self):
        pass

    def test_tsat_p(self):
        error = self.steamTable.tsat_p(1.0) - 99.60591861
        self.assertLess(
            error, self.maxError,
            'tsat_p not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_t_ph(self):
        error = self.steamTable.t_ph(1.0, 100.0) - 23.84481908
        self.assertLess(
            error, self.maxError,
            't_ph not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_t_ps(self):
        error = self.steamTable.t_ps(1.0, 1.0) - 73.70859421
        self.assertLess(
            error, self.maxError,
            't_ps not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_t_hs(self):
        error = self.steamTable.t_hs(100.0, 0.2) - 13.84933511
        self.assertLess(
            error, self.maxError,
            't_hs not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_psat_t(self):
        error = self.steamTable.psat_t(100.0) - 1.014179779
        self.assertLess(
            error, self.maxError,
            'psat_t not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_p_hs(self):
        error = self.steamTable.p_hs(84.0, 0.296) - 2.295498269
        self.assertLess(
            error, self.maxError,
            'p_hs not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_hV_p(self):
        error = self.steamTable.hV_p(1.0) - 2674.949641
        self.assertLess(
            error, self.maxError,
            'hV_p not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_hL_p(self):
        error = self.steamTable.hL_p(1.0) - 417.4364858
        self.assertLess(
            error, self.maxError,
            'hL_p not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_hV_t(self):
        error = self.steamTable.hV_t(100.0) - 2675.572029
        self.assertLess(
            error, self.maxError,
            'hV_t not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_hL_t(self):
        error = self.steamTable.hL_t(100.0) - 419.099155
        self.assertLess(
            error, self.maxError,
            'hL_t not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_h_pt(self):
        error = self.steamTable.h_pt(1.0, 20.0) - 84.01181117
        self.assertLess(
            error, self.maxError,
            'h_pt not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_h_ps(self):
        error = self.steamTable.h_ps(1.0, 1.0) - 308.6107171
        self.assertLess(
            error, self.maxError,
            'h_ps not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_h_px(self):
        error = self.steamTable.h_px(1.0, 0.5) - 1546.193063
        self.assertLess(
            error, self.maxError,
            'h_px not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_h_prho(self):
        error = self.steamTable.h_prho(1.0, 2.0) - 1082.773391
        self.assertLess(
            error, self.maxError,
            'h_prho not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_h_tx(self):
        error = self.steamTable.h_tx(100.0, 0.5) - 1547.33559211
        self.assertLess(
            error, self.maxError,
            'h_tx not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_vV_p(self):
        error = self.steamTable.vV_p(1.0) - 1.694022523
        self.assertLess(
            error, self.maxError,
            'vV_p not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_vL_p(self):
        error = self.steamTable.vL_p(1.0) - 0.001043148
        self.assertLess(
            error, self.maxError,
            'vL_p not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_vV_t(self):
        error = self.steamTable.vV_t(100.0) - 1.671860601
        self.assertLess(
            error, self.maxError,
            'vV_t not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_vL_t(self):
        error = self.steamTable.vL_t(100.0) - 0.001043455
        self.assertLess(
            error, self.maxError,
            'vL_t not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_v_pt(self):
        error = self.steamTable.v_pt(1.0, 100.0) - 1.695959407
        self.assertLess(
            error, self.maxError,
            'v_pt not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_v_ph(self):
        error = self.steamTable.v_ph(1.0, 1000.0) - 0.437925658
        self.assertLess(
            error, self.maxError,
            'v_ph not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_v_ps(self):
        error = self.steamTable.v_ps(1.0, 5.0) - 1.03463539
        self.assertLess(
            error, self.maxError,
            'v_ps not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_rhoV_p(self):
        error = self.steamTable.rhoV_p(1.0) - 0.590310924
        self.assertLess(
            error, self.maxError,
            'rhoV_p not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_rhoL_p(self):
        error = self.steamTable.rhoL_p(1.0) - 958.6368897
        self.assertLess(
            error, self.maxError,
            'rhoL_p not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_rhoV_t(self):
        error = self.steamTable.rhoV_t(100.0) - 0.598135993
        self.assertLess(
            error, self.maxError,
            'rhoV_t not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_rhoL_t(self):
        error = self.steamTable.rhoL_t(100.0) - 958.3542773
        self.assertLess(
            error, self.maxError,
            'rhoL_t not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_rho_pt(self):
        error = self.steamTable.rho_pt(1.0, 100.0) - 0.589636754
        self.assertLess(
            error, self.maxError,
            'rho_pt not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_rho_ph(self):
        error = self.steamTable.rho_ph(1.0, 1000.0) - 2.283492601
        self.assertLess(
            error, self.maxError,
            'rho_ph not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_rho_ps(self):
        error = self.steamTable.rho_ps(1.0, 1.0) - 975.6236788
        self.assertLess(
            error, self.maxError,
            'rho_ps not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_sV_p(self):
        error = self.steamTable.sV_p(0.006117) - 9.155465556
        self.assertLess(
            error, self.maxError,
            'sV_p not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_sL_p(self):
        error = self.steamTable.sL_p(0.0061171) - 1.8359e-05
        self.assertLess(
            error, self.maxError,
            'sL_p not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_sV_t(self):
        error = self.steamTable.sV_t(0.0001) - 9.155756716
        self.assertLess(
            error, self.maxError,
            'sV_t not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_sL_t(self):
        error = self.steamTable.sL_t(100.0) - 1.307014328
        self.assertLess(
            error, self.maxError,
            'sL_t not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_s_pt(self):
        error = self.steamTable.s_pt(1.0, 20.0) - 0.296482921
        self.assertLess(
            error, self.maxError,
            's_pt not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_s_ph(self):
        error = self.steamTable.s_ph(1.0, 84.01181117) - 0.296813845
        self.assertLess(
            error, self.maxError,
            's_ph not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_uV_p(self):
        error = self.steamTable.uV_p(1.0) - 2505.547389
        self.assertLess(
            error, self.maxError,
            'uV_p not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_uL_p(self):
        error = self.steamTable.uL_p(1.0) - 417.332171
        self.assertLess(
            error, self.maxError,
            'uL_p not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_uV_t(self):
        error = self.steamTable.uV_t(100.0) - 2506.015308
        self.assertLess(
            error, self.maxError,
            'uV_t not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_uL_t(self):
        error = self.steamTable.uL_t(100.0) - 418.9933299
        self.assertLess(
            error, self.maxError,
            'uL_t not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_u_pt(self):
        error = self.steamTable.u_pt(1.0, 100.0) - 2506.171426
        self.assertLess(
            error, self.maxError,
            'u_pt not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_u_ph(self):
        error = self.steamTable.u_ph(1.0, 1000.0) - 956.2074342
        self.assertLess(
            error, self.maxError,
            'u_ph not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_u_ps(self):
        error = self.steamTable.u_ps(1.0, 1.0) - 308.5082185
        self.assertLess(
            error, self.maxError,
            'u_ps not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_CpV_p(self):
        error = self.steamTable.cpV_p(1.0) - 2.075938025
        self.assertLess(
            error, self.maxError,
            'cpV_p not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_CpL_p(self):
        error = self.steamTable.cpL_p(1.0) - 4.216149431
        self.assertLess(
            error, self.maxError,
            'cpL_p not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_CpV_t(self):
        error = self.steamTable.cpV_t(100.0) - 2.077491868
        self.assertLess(
            error, self.maxError,
            'cpV_t not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_CpL_t(self):
        error = self.steamTable.cpL_t(100.0) - 4.216645119
        self.assertLess(
            error, self.maxError,
            'cpL_t not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_Cp_pt(self):
        error = self.steamTable.cp_pt(1.0, 100.0) - 2.074108555
        self.assertLess(
            error, self.maxError,
            'cp_pt not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_Cp_ph(self):
        error = self.steamTable.Cp_ph(1.0, 200.0) - 4.17913573169
        self.assertLess(
            error, self.maxError,
            'Cp_ph not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_Cp_ps(self):
        error = self.steamTable.Cp_ps(1.0, 1.0) - 4.190607038
        self.assertLess(
            error, self.maxError,
            'Cp_ps not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_CvV_p(self):
        error = self.steamTable.CvV_p(1.0) - 1.552696979
        self.assertLess(
            error, self.maxError,
            'CvV_p not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_CvL_p(self):
        error = self.steamTable.CvL_p(1.0) - 3.769699683
        self.assertLess(
            error, self.maxError,
            'CvL_p not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_CvV_t(self):
        error = self.steamTable.CvV_t(100.0) - 1.553698696
        self.assertLess(
            error, self.maxError,
            'CvV_t not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_CvL_t(self):
        error = self.steamTable.CvL_t(100.0) - 3.76770022
        self.assertLess(
            error, self.maxError,
            'CvL_t not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_Cv_pt(self):
        error = self.steamTable.Cv_pt(1.0, 100.0) - 1.551397249
        self.assertLess(
            error, self.maxError,
            'Cv_pt not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_Cv_ph(self):
        error = self.steamTable.Cv_ph(1.0, 200.0) - 4.035176364
        self.assertLess(
            error, self.maxError,
            'Cv_ph not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_Cv_ps(self):
        error = self.steamTable.Cv_ps(1.0, 1.0) - 3.902919468
        self.assertLess(
            error, self.maxError,
            'Cv_ps not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_wV_p(self):
        error = self.steamTable.wV_p(1.0) - 472.0541571
        self.assertLess(
            error, self.maxError,
            'wV_p not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_wL_p(self):
        error = self.steamTable.wL_p(1.0) - 1545.451948
        self.assertLess(
            error, self.maxError,
            'wL_p not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_wV_t(self):
        error = self.steamTable.wV_t(100.0) - 472.2559492
        self.assertLess(
            error, self.maxError,
            'wV_t not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_wL_t(self):
        error = self.steamTable.wL_t(100.0) - 1545.092249
        self.assertLess(
            error, self.maxError,
            'wL_t not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_w_pt(self):
        error = self.steamTable.w_pt(1.0, 100.0) - 472.3375235
        self.assertLess(
            error, self.maxError,
            'w_pt not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_w_ph(self):
        error = self.steamTable.w_ph(1.0, 200.0) - 1542.682475
        self.assertLess(
            error, self.maxError,
            'w_ph not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_w_ps(self):
        error = self.steamTable.w_ps(1.0, 1.0) - 1557.8585
        self.assertLess(
            error, self.maxError,
            'w_ps not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_my_pt(self):
        error = self.steamTable.my_pt(1.0, 100.0) - 1.22704e-05
        self.assertLess(
            error, self.maxError,
            'my_pt not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_my_ph(self):
        error = self.steamTable.my_ph(1.0, 100.0) - 0.000914003770302
        self.assertLess(
            error, self.maxError,
            'my_ph not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_my_ps(self):
        error = self.steamTable.my_ps(1.0, 1.0) - 0.000384222
        self.assertLess(
            error, self.maxError,
            'my_ps not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_tcL_p(self):
        error = self.steamTable.tcL_p(1.0) - 0.677593822
        self.assertLess(
            error, self.maxError,
            'tcL_p not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_tcV_p(self):
        error = self.steamTable.tcV_p(1.0) - 0.024753668
        self.assertLess(
            error, self.maxError,
            'tcV_p not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_tcL_t(self):
        error = self.steamTable.tcL_t(25.0) - 0.607458162
        self.assertLess(
            error, self.maxError,
            'tcL_t not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_tcV_t(self):
        error = self.steamTable.tcV_t(25.0) - 0.018326723
        self.assertLess(
            error, self.maxError,
            'tcV_t not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_tc_pt(self):
        error = self.steamTable.tc_pt(1.0, 25.0) - 0.607509806
        self.assertLess(
            error, self.maxError,
            'tc_pt not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_tc_ph(self):
        error = self.steamTable.tc_ph(1.0, 100.0) - 0.605710062
        self.assertLess(
            error, self.maxError,
            'tc_ph not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_tc_hs(self):
        error = self.steamTable.tc_hs(100.0, 0.34) - 0.606283124
        self.assertLess(
            error, self.maxError,
            'tc_hs not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_st_t(self):
        error = self.steamTable.st_t(100.0) - 0.0589118685877
        self.assertLess(
            error, self.maxError,
            'st_t not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_st_p(self):
        error = self.steamTable.st_p(1.0) - 0.058987784
        self.assertLess(
            error, self.maxError,
            'st_p not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_x_ph(self):
        error = self.steamTable.x_ph(1.0, 1000.0) - 0.258055424
        self.assertLess(
            error, self.maxError,
            'x_ph not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_x_ps(self):
        error = self.steamTable.x_ps(1.0, 4.0) - 0.445397961
        self.assertLess(
            error, self.maxError,
            'x_ps not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_vx_ph(self):
        error = self.steamTable.vx_ph(1.0, 418.0) - 0.288493093
        self.assertLess(
            error, self.maxError,
            'vx_ph not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })

    def test_vx_ps(self):
        error = self.steamTable.vx_ps(1.0, 4.0) - 0.999233827
        self.assertLess(
            error, self.maxError,
            'vx_ps not passed Error %(error)e allowed: %(max)e' % {
                'error': error,
                'max': self.maxError
            })
Exemplo n.º 9
0
    z_LC = 0.6
    
else:
    print('Erreur ! Experience mal renseigneé')

g = 9.81
G = mpoint/(np.pi*0.25*D**2) # Flux massique du mélange
z_e = 0. # Position de l'entrée
z_s = L_c # Position de la sortie

q = P_th / (np.pi * D*L_c)


# Titre en sortie pour la BC
L_sc = (steamTable.hL_p(P_s)-steamTable.h_pt(P_s,T_e))*mpoint/(np.pi*D*q)
x_s = 4*q*(L_c-L_sc)/(G*D*(steamTable.hV_p(P_s)-steamTable.hL_p(P_s)))
#####################################################################
###################### Imports tensorflow ###########################
#####################################################################

p_tf   = tf.placeholder(dtype=tf.float32,shape=[None,1])
t_tf   = tf.placeholder(dtype=tf.float32,shape=[None,1])
z_tf   = tf.placeholder(dtype=tf.float32,shape=[None,1])
eps_tf = tf.placeholder(dtype=tf.float32,shape=[None,1])


#
#init = tf.compat.v1.global_variables_initializer()
#
#sess = tf.compat.v1.Session(config=tf.compat.v1.ConfigProto(allow_soft_placement=True, log_device_placement=True))
#
Exemplo n.º 10
0
steamTable = XSteam(XSteam.UNIT_SYSTEM_MKS)

# print(steamTable.hV_p(1.01325))

atm = 1.01325  # bar
# atm = 3
# nT = 0.9  # turbine efficiency
nT = 1
# nP = 0.9  # pump efficiency
nP = 1
rho = 997  # kg/m3
# rho = 1000
T = 20  # celsius
# max_press = 60  # 60 bar is close to the operating press of real nuke systems
max_press = 100 # maybe we can cheat a bit cause mdot is gonna be lower
h6 = steamTable.hV_p(max_press)
s6 = steamTable.sV_p(max_press)
h5 = steamTable.hL_p(max_press)

turbine_powers = np.linspace(35, 85, 6)  # mw
# pressures = np.linspace(2, 10, 9)  #  bar
pressures = np.linspace(20, 60, 100)  # bar, holds the low pressure turbine val
flow_tab_low = []
flow_tab_med = []
flow_tab_hig = []
flow_tab = []
pump_tab = []
qcore_tab = []
efficiency_tab = []
# mass_flows = []
# going to first calculate with isentropic pump and turbine
Exemplo n.º 11
0
def demo_ms_and_ofwh():
    """
    converted example from Stu Blair, found at https://github.com/stu314159/xsteam/blob/42767648a05c6759ad11aea95256cb24e4fc9499/Examples/Rankine_MS_and_OFWH.m
    """
    print("converted example from Stu Blair / https://github.com/stu314159")
    print(
        "Purpose: test XSteam functionality with slightly more complex Rankine. Uses scipy.optimize.fsolve"
    )
    print(
        """Problem Description:
    A Pressurized Water Reactor transfers heat to a Rankine cycle with the following properties:
    * Steam Generator Outlet Pressure: 820 psia, quality = 100%
    * High Pressure turbine: outlet pressure 164 psia, isentropic efficiency of 94%.
    * Moisture separator draining to OFWH (Open Feed Water Heater)
    * Flow extraction downstream of M/S set to make OFWH outlet temperature equal to saturation temp at its pressure
    * LP Turbine with outlet pressure of 3 psia, isentropic efficiency of 94%.
    * Condenser outlet quality = 0.0
    * Main condensate pump (efficiency = 84%) outlet pressure 164 psia
    * Main Feed pump (efficiency = 84%) outlet pressure 820 psia"""
    )

    steam_table = XSteam(XSteam.UNIT_SYSTEM_FLS)

    # % Calculations
    # %% state point 1 - condenser outlet
    state_point_1 = dict()
    state_point_1["P"] = 3.0  # % psia - given
    state_point_1["x"] = 0.0  # % quality - given
    state_point_1["T"] = steam_table.hL_p(state_point_1["P"])
    state_point_1["h"] = steam_table.tsat_p(state_point_1["P"])
    state_point_1["s"] = steam_table.sL_p(state_point_1["P"])

    # %% state point 2
    # % compression in main condensate pump
    eta_mcp = 0.84  # % pump isentropic efficiency - given
    state_point_2 = dict()
    state_point_2["s_s"] = state_point_1["s"]
    state_point_2["P"] = 164.0  # % psia - given
    state_point_2["h_s"] = steam_table.h_ps(state_point_2["P"], state_point_2["s_s"])
    state_point_2["h"] = (
        state_point_1["h"] - (state_point_1["h"] - state_point_2["h_s"]) / eta_mcp
    )

    # %% state point 3 OFWH exit
    state_point_3 = dict()
    state_point_3["P"] = state_point_2["P"]  # % constant pressure in OFWH
    state_point_3["x"] = 0.0
    state_point_3["h"] = steam_table.hL_p(state_point_3["P"])
    state_point_3["s"] = steam_table.sL_p(state_point_3["P"])

    # %% State point 4 MFP exit
    eta_mfp = 0.84
    state_point_4 = dict()
    state_point_4["P"] = 820.0  # % psia - given
    state_point_4["s_s"] = state_point_3["s"]
    state_point_4["h_s"] = steam_table.h_ps(state_point_4["P"], state_point_4["s_s"])
    state_point_4["h"] = (
        state_point_3["h"] - (state_point_3["h"] - state_point_4["h_s"]) / eta_mfp
    )

    # %% State point 5 S/G Exit
    state_point_5 = dict()
    state_point_5["P"] = state_point_4["P"]  # % assume isobaric in S/G
    state_point_5["x"] = 1.0  # % saturated steam; given
    state_point_5["h"] = steam_table.hV_p(state_point_5["P"])
    state_point_5["s"] = steam_table.sV_p(state_point_5["P"])

    # %% State point 6 HP Turbine Exhaust
    eta_hpt = 0.94  # % hp turbine isentropic efficiency; given
    state_point_6 = dict()
    state_point_6["P"] = 164.0  # % psia - given
    state_point_6["s_s"] = state_point_5["s"]
    state_point_6["h_s"] = steam_table.h_ps(state_point_6["P"], state_point_6["s_s"])
    state_point_6["h"] = state_point_5["h"] - eta_hpt * (
        state_point_5["h"] - state_point_6["h_s"]
    )
    state_point_6["x"] = steam_table.x_ph(state_point_6["P"], state_point_6["h"])

    # %% State point 7 Moisture Separator vapor exit
    state_point_7 = dict()
    state_point_7["P"] = state_point_6["P"]  # assume isobaric process in M/S
    state_point_7["x"] = 1.0  # quality - given
    state_point_7["h"] = steam_table.hV_p(state_point_7["P"])
    state_point_7["s"] = steam_table.sV_p(state_point_7["P"])

    # %% State point 8 LP Turbine exhaust
    eta_lpt = 0.94  # % lp turbine isentropic efficiency; given
    state_point_8 = dict()
    state_point_8["P"] = state_point_1["P"]
    state_point_8["s_s"] = state_point_7["s"]
    state_point_8["h_s"] = steam_table.h_ps(state_point_8["P"], state_point_8["s_s"])
    state_point_8["h"] = state_point_7["h"] - eta_lpt * (
        state_point_7["h"] - state_point_8["h_s"]
    )
    state_point_8["x"] = steam_table.x_ph(state_point_8["P"], state_point_8["h"])

    # %% State point 9 Moisture Separator liquid drain to OFWH
    state_point_9 = dict()
    # % same pressure as HP Turbine exhaust
    state_point_9["P"] = state_point_6["P"]
    state_point_9["h"] = steam_table.hL_p(state_point_9["P"])

    # http://mathesaurus.sourceforge.net/matlab-numpy.html

    # %% Energy balance on OFWH to find flow fraction f1 at extraction point
    # OFWH_Ebal = @(f1) x(6)*(1-f1)*h(2)+x(6)*f1*h(7)+(1-x(6))*h(9) - h(3)
    def OFWH_Ebal(f1):
        # https://de.mathworks.com/help/matlab/matlab_prog/matlab-operators-and-special-characters.html
        # x(6)*(1-f1)*h(2)+x(6)*f1*h(7)+(1-x(6))*h(9) - h(3)
        return (
            state_point_6["x"] * (1 - f1) * state_point_2["h"]
            + state_point_6["x"] * f1 * state_point_7["h"]
            + (1 - state_point_6["x"]) * state_point_9["h"]
            - state_point_3["h"]
        )

    f1 = fsolve(OFWH_Ebal, 0.05)[0]

    # %% Specific Work and Energy Balance
    w_mcp = (state_point_1["h"] - state_point_2["h"]) * f1 * state_point_6["x"]
    w_mfp = state_point_3["h"] - state_point_4["h"]
    w_hpt = state_point_5["h"] - state_point_6["h"]
    w_lpt = (state_point_7["h"] - state_point_8["h"]) * (1 - f1) * state_point_6["x"]

    w_net = w_mcp + w_mfp + w_hpt + w_lpt

    q_cond = (state_point_1["h"] - state_point_8["h"]) * (1 - f1) * state_point_6["x"]
    q_sg = state_point_5["h"] - state_point_4["h"]

    q_net = q_cond + q_sg
    eta_th = w_net / q_sg

    print(f"Net heat: {q_net:.3f} BTU/lbm Net work: {w_net:.3f} BTU/lbm")
    print(f"Thermal efficiency: {eta_th*100:.2f} percent")
Exemplo n.º 12
0
def demo_reheat_ms_ofwh():
    """
    converted example from Stu Blair, found at https://github.com/stu314159/xsteam/blob/42767648a05c6759ad11aea95256cb24e4fc9499/Examples/Rankine_Reheat_MS_OFWH.m
    """
    print("converted example from Stu Blair / https://github.com/stu314159")
    print("Purpose: use fminsearch / scipy.optimize.fmin")
    print(
        """Problem Description:
    (a picture would be better....)
    """
    )

    steam_table = XSteam(XSteam.UNIT_SYSTEM_FLS)

    # %% State point 1 - condenser exit
    state_point_1 = dict()
    state_point_1["P"] = 1.5  # % psia
    state_point_1["h"] = steam_table.hL_p(state_point_1["P"])
    state_point_1["s"] = steam_table.sL_p(state_point_1["P"])

    # %% State point 1 -> 2, main condensate pump
    eta_mcp = 0.84
    state_point_2 = dict()
    state_point_2["P"] = 164.0  # % psia
    state_point_2["s_s"] = state_point_1["s"]
    state_point_2["h_s"] = steam_table.h_ps(state_point_2["P"], state_point_2["s_s"])
    state_point_2["h"] = (
        state_point_1["h"] - (state_point_1["h"] - state_point_2["h_s"]) / eta_mcp
    )

    # %% State point 3, OFWH exit, saturated liquid
    state_point_3 = dict()
    state_point_3["P"] = state_point_2["P"]
    state_point_3["h"] = steam_table.hL_p(state_point_3["P"])
    state_point_3["s"] = steam_table.sL_p(state_point_3["P"])

    # %% State point 3 -> 4, main feed pump
    eta_mfp = 0.84
    state_point_4 = dict()
    state_point_4["P"] = 820.0  # % psia
    state_point_4["s_s"] = state_point_3["s"]
    state_point_4["h_s"] = steam_table.h_ps(state_point_4["P"], state_point_4["s_s"])
    state_point_4["h"] = (
        state_point_3["h"] - (state_point_3["h"] - state_point_4["h_s"]) / eta_mfp
    )

    # %% State point 5 - Steam generator exit
    state_point_5 = dict()
    state_point_5["P"] = state_point_4["P"]
    state_point_5["h"] = steam_table.hV_p(state_point_5["P"])
    state_point_5["s"] = steam_table.sV_p(state_point_5["P"])

    # %% State point 6 - HP Turbine Exhaust
    eta_hpt = 0.94
    state_point_6 = dict()
    state_point_6["P"] = 164.0  # % psia
    state_point_6["s_s"] = state_point_5["s"]
    state_point_6["h_s"] = steam_table.h_ps(state_point_6["P"], state_point_6["s_s"])
    state_point_6["h"] = state_point_5["h"] - eta_hpt * (
        state_point_5["h"] - state_point_6["h_s"]
    )
    state_point_6["x"] = steam_table.x_ph(state_point_6["P"], state_point_6["h"])

    # %% State point 7 - Moisture Separator Exit
    state_point_7 = dict()
    state_point_7["P"] = state_point_6["P"]
    state_point_7["h"] = steam_table.hV_p(state_point_7["P"])
    state_point_7["s"] = steam_table.sV_p(state_point_7["P"])

    # %% State point 8 - Reheater Mid-Pressure Steam exit
    state_point_8 = dict()
    state_point_8["P"] = state_point_7["P"]
    state_point_8["T"] = 490.0  # % degrees F
    state_point_8["h"] = steam_table.h_pt(state_point_8["P"], state_point_8["T"])
    state_point_8["s"] = steam_table.s_pt(state_point_8["P"], state_point_8["T"])

    # %% State point 9 - LP Turbine Exhaust
    state_point_9 = dict()
    state_point_9["P"] = state_point_1["P"]
    eta_lpt = 0.94
    state_point_9["s_s"] = state_point_8["s"]
    state_point_9["h_s"] = steam_table.h_ps(state_point_9["P"], state_point_9["s_s"])
    state_point_9["h"] = state_point_8["h"] - eta_lpt * (
        state_point_8["h"] - state_point_9["h_s"]
    )

    # %% State point 10 - Reheater HP Steam exit
    state_point_10 = dict()
    state_point_10["P"] = state_point_5["P"]
    # % assume steam exits as a saturated liquid.
    state_point_10["h"] = steam_table.hL_p(state_point_10["P"])

    # %% State point 11 - pressure trap exit to OFWH
    state_point_11 = dict()
    state_point_11["P"] = state_point_2["P"]
    # % assume isenthalpic expansion in the trap.
    state_point_11["h"] = state_point_10["h"]

    # %% State point 12 - Moisture Separator liquid drain to OFWH
    state_point_12 = dict()
    state_point_12["P"] = state_point_6["P"]
    state_point_12["h"] = steam_table.hL_p(state_point_12["P"])

    # %% Heat Balance - find the flow fractions
    def RH_heatBalance(f):
        return (
            f[0] * state_point_5["h"]
            + (1 - f[0]) * state_point_6["x"] * (1 - f[1]) * state_point_7["h"]
        ) - (
            f[0] * state_point_10["h"]
            + (1 - f[0]) * state_point_6["x"] * (1 - f[1]) * state_point_8["h"]
        )

    def OFWH_heatBalance(f):
        return (
            (1 - f[0]) * (1 - f[1]) * state_point_6["x"] * state_point_2["h"]
            + f[0] * state_point_11["h"]
            + (1 - f[0]) * state_point_6["x"] * f[1] * state_point_7["h"]
            + (1 - f[0]) * (1 - state_point_6["x"]) * state_point_12["h"]
        ) - state_point_3["h"]

    def totalFunctional(f):
        return math.fabs(RH_heatBalance(f)) + math.fabs(OFWH_heatBalance(f))

    # % the strategy is to minimize the total functional.  The minimum value is
    # % when they are both equal to zero.
    initialGuess = [0.1, 0.1]
    f = fmin(func=totalFunctional, x0=initialGuess)

    # % % calculate heat and energy balances
    w_mcp = (
        (state_point_1["h"] - state_point_2["h"])
        * (1 - f[0])
        * (1 - f[1])
        * state_point_6["x"]
    )
    w_mfp = state_point_3["h"] - state_point_4["h"]
    w_hpt = (state_point_5["h"] - state_point_6["h"]) * (1 - f[0])
    w_lpt = (
        (state_point_8["h"] - state_point_9["h"])
        * (1 - f[0])
        * (1 - f[1])
        * state_point_6["x"]
    )

    w_net = w_mcp + w_mfp + w_hpt + w_lpt

    q_cond = (
        (state_point_1["h"] - state_point_9["h"])
        * (1 - f[0])
        * (1 - f[1])
        * state_point_6["x"]
    )
    q_sg = state_point_5["h"] - state_point_4["h"]

    q_net = q_cond + q_sg

    eta_th = w_net / q_sg

    # % % report the results:
    print(f"Net heat: {q_net:.3f} BTU/lbm Net work: {w_net:.3f} BTU/lbm")
    print(f"Thermal efficiency: {eta_th*100:.2f} percent")
Exemplo n.º 13
0
def demo_simple_cycle():
    """
    converted example from Stu Blair
    found at https://github.com/stu314159/xsteam/blob/42767648a05c6759ad11aea95256cb24e4fc9499/Examples/SimpleRankineCycle.m
    """
    print("Purpose: test xsteam functionality for simple Rankine Cycle")
    print(
        """Problem Description:
    Advanced Boiling Water Reactor (ABWR) produces saturated steam at 7.17 MPa (71.7 bar) to a set of turbine generators.
    The turbines exhaust to condensers maintained at 8 kPa (0.08 bar).
    Assume the turbines and pumps have isentropic efficiencies of 100%
    Assume fluid leaving the condenser is saturated liquid."""
    )
    print(
        """Goal:
    Calculate enthalpy, entropy, and temperature for all state points.
    Calculate net work and thermal efficiency for this cycle"""
    )

    steam_table = XSteam(XSteam.UNIT_SYSTEM_MKS)

    # state point 1: condenser outlet / feed pump inlet
    # state point 2: feed pump discharge / Reactor core inlet
    # state point 3: reactor core outlet / turbine inlet
    # state point 4: turbine exhaust / condenser inlet

    # %% State Point 1
    # condenser outlet / feed pump inlet
    state_point_1 = dict()
    state_point_1["P"] = 0.08  # bar - given
    state_point_1["x"] = 0.0  # given
    state_point_1["T"] = steam_table.tsat_p(state_point_1["P"])
    state_point_1["h"] = steam_table.hL_p(state_point_1["P"])
    state_point_1["s"] = steam_table.sL_p(state_point_1["P"])

    # %% State Point 2
    # feed pump discharge / Reactor core inlet
    # process: isentropic compression
    state_point_2 = dict()
    state_point_2["s"] = state_point_1["s"]
    state_point_2["P"] = 71.1  # bar - given
    state_point_2["h"] = steam_table.t_ps(state_point_2["P"], state_point_2["s"])
    state_point_2["T"] = steam_table.t_ph(state_point_2["P"], state_point_2["h"])
    # state_point_2["x"] = float("NaN")

    pump_work = state_point_1["h"] - state_point_2["h"]

    # %% State Point 3
    # reactor core outlet / turbine inlet
    # % process: isobaric heat addition
    state_point_3 = dict()
    state_point_3["P"] = state_point_2["P"]
    state_point_3["x"] = 1.0
    state_point_3["T"] = steam_table.tsat_p(state_point_3["P"])
    state_point_3["h"] = steam_table.hV_p(state_point_3["P"])
    state_point_3["s"] = steam_table.sV_p(state_point_3["P"])

    heat_in = state_point_3["h"] - state_point_2["h"]

    # %% State Point 4
    # turbine exhaust / condenser inlet
    # % process: isentropic expansion
    state_point_4 = dict()
    state_point_4["s"] = state_point_3["s"]
    state_point_4["P"] = state_point_1["P"]
    # % for isobaric heat rejection in next step
    state_point_4["h"] = steam_table.h_ps(state_point_4["P"], state_point_4["s"])
    state_point_4["x"] = steam_table.x_ph(state_point_4["P"], state_point_4["h"])

    turbine_work = state_point_3["h"] - state_point_4["h"]

    # % % State Point 1
    # % process: isobaric heat rejection

    heat_out = state_point_1["h"] - state_point_4["h"]

    # % % Energy Balance
    net_heat = heat_in + heat_out
    net_work = turbine_work + pump_work

    eta_th = net_work / heat_in

    print(f"Net heat: {net_heat:.3f} Net work: {net_work:.3f}")
    print(f"Thermal efficiency: {eta_th*100:.2f} percent")