コード例 #1
0
ファイル: paperIII.py プロジェクト: bo3mrh/Test
 def OBJECTIVE_Cratio(x):
     Run = solveCycle(
         "N2",
         "Zerol",
         "Zerol",
         ps,
         x[0],
         x[1],
         TL,
         298,
         pr,
         0.9,
         eta,
         eta,
         eta,
         eta,
         0.0,
         1.0,
         1.0,
         use_etac_fit=True,
     )
     return 1 / Run.Cycle.etaII
コード例 #2
0
ファイル: paperIII.py プロジェクト: bo3mrh/Test
def ConfigE():
    Tc = 233
    Th = 298
    eta = 0.8

    reCalc = False

    N = 50
    prv = np.linspace(1.5, 4.5, N)
    psv = np.linspace(300, 700, N)
    (PS, PR) = np.meshgrid(psv, prv)
    ETAII = np.zeros_like(PS)
    CAP = np.zeros_like(PS)
    ETAC = np.zeros_like(PS)
    XL = np.zeros_like(PS)
    for TL in [223.0, 275.0]:
        if reCalc == True:
            for i in range(len(prv)):
                pr = prv[i]
                for j in range(len(psv)):
                    ps = psv[j]
                    eta = 0.70

                    def OBJECTIVE_Cratio(x):
                        Run = solveCycle(
                            "N2",
                            "Zerol",
                            "Zerol",
                            ps,
                            x[0],
                            x[1],
                            TL,
                            298,
                            pr,
                            0.9,
                            eta,
                            eta,
                            eta,
                            eta,
                            0.0,
                            1.0,
                            1.0,
                            use_etac_fit=True,
                        )
                        return 1 / Run.Cycle.etaII

                    x0 = [10.0, 6.0]
                    b = [(1.0, 15.0), (1.0, 10.0)]
                    (x, f, d) = fmin_l_bfgs_b(OBJECTIVE_Cratio, np.array(x0), bounds=b, approx_grad=True)
                    Run = solveCycle(
                        "N2",
                        "Zerol",
                        "Zerol",
                        ps,
                        x[0],
                        x[1],
                        TL,
                        298,
                        pr,
                        0.9,
                        eta,
                        eta,
                        eta,
                        eta,
                        0.0,
                        1.0,
                        1.0,
                        use_etac_fit=True,
                    )
                    print x, Run.Comp.xL, Run.Exp.xL
                    print ps, pr, Run.Cycle.etaII * 100, Run.ColdHX.Q, Run.Comp.eta_c, Run.Comp.T_in
                    PS[i, j] = ps
                    PR[i, j] = pr
                    ETAII[i, j] = Run.Cycle.etaII
                    CAP[i, j] = Run.ColdHX.Q
                    ETAC[i, j] = Run.Comp.eta_c
                    XL[i, j] = Run.Comp.xL
            foldPath = os.path.join("ConfigE Joined", "%0.0f" % (TL))
            np.savetxt(os.path.join(foldPath, "PS.csv"), PS)
            np.savetxt(os.path.join(foldPath, "PR.csv"), PR)
            np.savetxt(os.path.join(foldPath, "ETAII.csv"), ETAII)
            np.savetxt(os.path.join(foldPath, "CAP.csv"), CAP)
            np.savetxt(os.path.join(foldPath, "ETAC.csv"), ETAC)
            np.savetxt(os.path.join(foldPath, "XL.csv"), XL)
        else:
            foldPath = os.path.join("ConfigE Joined", "%0.0f" % (TL))
            PS = np.loadtxt(os.path.join(foldPath, "PS.csv"))
            PR = np.loadtxt(os.path.join(foldPath, "PR.csv"))
            ETAII = np.loadtxt(os.path.join(foldPath, "ETAII.csv"))
            CAP = np.loadtxt(os.path.join(foldPath, "CAP.csv"))
            ETAC = np.loadtxt(os.path.join(foldPath, "ETAC.csv"))
            XL = np.loadtxt(os.path.join(foldPath, "XL.csv"))

        levelsCoarse = []
        levelsFine = []
        if TL == 275:
            levelsCoarse = [5, 6, 7]
            levelsFine = [5.5, 6.5, 7.5]
        elif TL == 223:
            levelsCoarse = [12, 15, 18]
            levelsFine = [13.5, 16.5]
        fig = pylab.figure(figsize=(3.5, 2.5))
        ax = fig.add_axes((0.15, 0.15, 0.8, 0.8))
        CS = ax.contourf(PS, PR, CAP, cmap=pylab.get_cmap("Blues"))
        cb = fig.colorbar(CS)
        cb.set_label("Capacity [kW]")
        CS = ax.contour(PS, PR, ETAII * 100, colors="k", levels=levelsCoarse, linewidths=0.8)
        ax.clabel(CS, fontsize=8, inline=1, fmt="%1.1f %%", inline_spacing=1)
        CS = ax.contour(PS, PR, ETAII * 100, colors="k", levels=levelsFine, linewidths=0.2, linestyles="dashed")
        ax.clabel(CS, fontsize=8, inline=1, fmt="%1.1f %%", inline_spacing=1, manual=True)
        ax.set_xlabel("$p_s$ [kPa]")
        ax.set_ylabel("$p_{ratio}$ [-]")
        fig.savefig("ConfigE" + "%0.0f" % (TL) + ".pdf")
        fig.savefig("ConfigE" + "%0.0f" % (TL) + ".eps")
        fig.savefig("ConfigE" + "%0.0f" % (TL) + ".png", dpi=400)
        pylab.close()

        ##         fig=pylab.figure(figsize=(3.5,2.5))
        ##         ax=fig.add_axes((0.15,0.15,0.8,0.8))
        ##         CS=ax.contour(PS,PR,ETAC*100,colors='k')
        ##         ax.clabel(CS,fontsize=10,inline=1,fmt='%1.1f %%')
        ##         ax.set_xlabel('$p_s$ [kPa]')
        ##         ax.set_ylabel('$p_{ratio}$ [-]')
        ##         fig.savefig('ConfigEetac'+'%0.0f'%(TL)+'.pdf')
        ##         fig.savefig('ConfigEetac'+'%0.0f'%(TL)+'.eps')
        ##         fig.savefig('ConfigEetac'+'%0.0f'%(TL)+'.png',dpi=400)
        ##         pylab.close()

        fig = pylab.figure(figsize=(3.5, 2.5))
        ax = fig.add_axes((0.15, 0.15, 0.8, 0.8))
        CS = ax.contour(PS, PR, XL * 100, colors="k", levels=[65, 70, 75, 80], linewidths=1)
        ax.clabel(CS, fontsize=8, inline=1, fmt="%1.1f %%")
        CS = ax.contour(PS, PR, XL * 100, colors="k", levels=[67.5, 72.5, 77.5], linewidths=0.2, linestyles="dashed")
        ax.clabel(CS, fontsize=8, inline=1, fmt="%1.1f %%")
        ax.set_xlabel("$p_s$ [kPa]")
        ax.set_ylabel("$p_{ratio}$ [-]")
        fig.savefig("ConfigExLopt" + "%0.0f" % (TL) + ".pdf")
        fig.savefig("ConfigExLopt" + "%0.0f" % (TL) + ".eps")
        fig.savefig("ConfigExLopt" + "%0.0f" % (TL) + ".png", dpi=400)
        pylab.close()