def f3(cmpName, N, UAe, sigma, Te, Tk, DTsub, Tf): #蒸发器负荷 cmp3 = compressor(cmpName) Ts = Tsuct(Te, Tk, DTsub, sigma) cy3 = refCycle(cmp3.refType, Ts, Te, Tk, Tk - DTsub) Qe1 = UAe * (Tf - Te) Qe2 = cmp3.mf(N, Te, Tk, Ts) * cy3.qe() return Qe2 - Qe1
def f2(cmpName, N, UAcmp, sigma, Tamb, Te, Tk, DTsub, Td): #压缩机壳体负荷 cmp2 = compressor(cmpName) Ts = Tsuct(Te, Tk, DTsub, sigma) cy2 = refCycle(cmp2.refType, Ts, Te, Tk, Tk - DTsub) Qc1 = UAcmp * (Td - Tamb) Qc2 = cmp2.mf(N, Te, Tk, Ts) * (cy2.wc() / cmp2.isoEff(Te, Tk, N) - cy2.h2_1(Td)) return Qc2 - Qc1
def f1(cmpName, N, UAk, sigma, Tamb, Te, Tk, DTsub, Td): #注意函数定义时,变量排布顺序的一致性 f1:冷凝器负荷 cmp1 = compressor(cmpName) Ts = Tsuct(Te, Tk, DTsub, sigma) cy = refCycle(cmp1.refType, Ts, Te, Tk, Tk - DTsub) Qk1 = UAk * (Tk - Tamb) Qk2 = cmp1.mf(N, Te, Tk, Ts) * cy.qk(Td) return Qk2 - Qk1
# -*- coding: UTF-8 -*- from Compressor import compressor from RefCycle import refCycle import CoolProp.CoolProp as CP cmp1 = compressor("VNX1116Y") print cmp1.pistVol print cmp1.volEff(-23.3, 54.4, 1500) print cmp1.isoEff(-23.3, 54.4, 1500) cy1 = refCycle("R600a", 32.2, -23.3, 54.4, 32.2) print cy1.cycleCOP()
from Compressor import compressor import numpy as np import scipy.linalg as alg import matplotlib.pyplot as plt from matplotlib import cm from mpl_toolkits.mplot3d import Axes3D def suctionTemp(Tk, Te, Tsub, eihx): return eihx * (Tk - Tsub - Te) + Te # Data input model = "VTH1113YA" N = 1800 # rpm cmp1 = compressor(model) ref = "R600a" subcoolDegree = 1.5 condTemp = np.linspace(35, 45, 3) evapTemp = np.linspace(-30, -10, 21) Eihx = 0.85 q = np.zeros(3 * 21).reshape(3, 21) Pel = np.zeros(3 * 21).reshape(3, 21) COP_sys = np.zeros(3 * 21).reshape(3, 21) MassFlow = np.zeros(3 * 21).reshape(3, 21) for i in range(len(condTemp)): for j in range(len(evapTemp)): Tsuct = suctionTemp(condTemp[i], evapTemp[j], subcoolDegree, Eihx) rf = refCycle(ref, Tsuct, evapTemp[j], condTemp[i], condTemp[i] - subcoolDegree) q[i, j] = cmp1.mf(N, evapTemp[j], condTemp[i], Tsuct) * rf.qe()
while (abs( f1(cmpName,N,UAk,sigma,Tamb,Te,Tk,DTsub,Td)) < ep and abs(f2(cmpName,N,UAcmp,sigma,Tamb,Te,Tk,DTsub,Td))<ep \ and abs(f3(cmpName,N,UAe,sigma,Te,Tk,DTsub,Tf))<ep )== False : y = np.matrix([[f1(cmpName, N, UAk, sigma, Tamb, Te, Tk, DTsub, Td)], [f2(cmpName, N, UAcmp, sigma, Tamb, Te, Tk, DTsub, Td)], [f3(cmpName, N, UAe, sigma, Te, Tk, DTsub, Tf)]]) Jac = np.matrix([[f1dTK(cmpName,N,UAk,sigma,Tamb,Te,Tk,DTsub,Td),f1dTd(cmpName,N,UAk,sigma,Tamb,Te,Tk,DTsub,Td),\ f1dTe(cmpName,N,UAk,sigma,Tamb,Te,Tk,DTsub,Td)],[f2dTk(cmpName,N,UAcmp,sigma,Tamb,Te,Tk,DTsub,Td),\ f2dTd(cmpName,N,UAcmp,sigma,Tamb,Te,Tk,DTsub,Td), f2dTe(cmpName,N,UAcmp,sigma,Tamb,Te,Tk,DTsub,Td)],\ [f3dTk(cmpName,N,UAe,sigma,Te,Tk,DTsub,Tf),f3dTd(cmpName,N,UAe,sigma,Te,Tk,DTsub,Tf),f3dTe(cmpName,N,UAe,sigma,Te,Tk,DTsub,Tf)]]) U = U - Jac**(-1) * y Tk, Td, Te = U[0, 0], U[1, 0], U[2, 0] # main code end # data analysis Ts = Tsuct(Te, Tk, DTsub, sigma) print "Tk=", Tk, "Td=", Td, "Te=", Te, "Ts=", Ts comp = compressor(cmpName) cyFinal = refCycle(comp.refType, Ts, Te, Tk, DTsub) inputPower = comp.mf(N, Te, Tk, Ts) * cyFinal.wc() / comp.isoEff(Te, Tk, N) print inputPower Qe = UAe * (Tf - Te) Qk = UAk * (Tk - Tamb) Qcmp = UAcmp * (Td - Tamb) print Qe, Qk, Qcmp Qcab = UAcab * (Tamb - Tf) print "Cabinet load is", Qcab, "W" R = Qcab / Qe print "compressor Running ratio is:", R
from Compressor import compressor debug = False # name of the output files output_file = 'pos.hdf5' # get the input files files = [ 'posvel_196.dat', 'posvel_197.dat', 'posvel_198.dat', 'posvel_199.dat', 'posvel_200.dat' ] # print the names to check print(files) print(output_file) # run my compression code comp = compressor(files=files, output_file=output_file, num_steps=1000, num_atoms=48000, debug=debug) # will exit after 1st ns if debug == True if debug == True: exit()