C*********************************************************************** ! This component has been assigned Type Number 205. If that number conflicts with ! another user Type number, you will need to change it and recompile the appropriate ! dll. SUBROUTINE TYPE205(TIME,XIN,OUT,T,DTDT,PAR,INFO,ICNTRL,*) !DEC$ATTRIBUTES DLLEXPORT :: TYPE205 C --------------------------------------------------------------------- C C TYPE 205 : ISENTROPIC STEAM NOZZLE C using real gas properties C C*********************************************************************** INTEGER INFO DOUBLE PRECISION XIN,OUT REAL PAR C INTEGER IOSTAT DIMENSION XIN(3),OUT(2),PAR(2),INFO(15) C DIMENSION IOSTAT(2) COMMON/LUNITS/LUR,LUW,IFORM,LUK ! Set the version information for TRNSYS IF (INFO(7).EQ.-2) THEN INFO(12) = 15 RETURN 1 ENDIF A= PAR(1) PZERO=PAR(2) TIN= XIN(1) PIN= XIN(2)+PZERO POUT=XIN(3)+PZERO TSIN=TSATS(PIN) IF (TIN.LE.TSIN)THEN C Entering steam is saturated S=SSATS(TSIN) HIN=HSATS(TSIN) ELSE C entering steam is superheated S=SS(PIN,TIN) HIN=HS(PIN,TIN) ENDIF TOUT=TPSS(POUT,S) TSAT=TSATS(POUT) SG=SSATS(TSAT) IF (S.GT.SG)THEN HOUT=HS(POUT,TOUT) VOUT=VS(POUT,TOUT) ELSE SF=SSATW(TSAT) HF=HSATW(TSAT) VF=VSATW(TSAT) VG=VSATS(POUT,TSAT) HG=HSATS(TSAT) X=(S-SF)/(SG-SF) VOUT=VF+X*(VG-VF) HOUT=HF+X*(HG-HF) ENDIF W=A/VOUT*SQRT(2*1000.*(HIN-HOUT)) OUT(1)= TOUT OUT(2)= W C IOSTAT(1)=1 C IOSTAT(2)=1 RETURN 1 END C*********************************************************************** FUNCTION SS(PKPA,TC) C ---------------------------------------------------------------------- C C Entropy of superheated steam [KJ/(KG K)] given P (KPA) and T (C) C C*********************************************************************** DATA A0,A1,A2,A3/4.6162961,1.039008E-2,-9.873085E-6,5.43411E-9/ DATA A4,B1,B2,B3,C0/-1.170465E-12,-0.4650306,0.001,10.,1.777804/ DATA C1,C2,C3,EM/-1.802468E-2,6.854459E-5,-1.184434E-7,85./ DATA C4,E1,E2,E3/8.142201E-11,42.6776,-3892.70,-9.48654/ DATA E4,E5,E6,TCNV/-387.592,-12587.5,-15.2578,273.15/ P=PKPA*B2 T=TC+TCNV TS=E1+E2/(ALOG(P)+E3) IF (P .GE. 12.33) TS=E4+E5/(ALOG(P)+E6) SS=A0+T*(A1+T*(A2+T*(A3+T*A4)))+B1*ALOG(B2+P*B3)-EXP((TS-T)/EM)* & (C0+TS*(C1+TS*(C2+TS*(C3+TS*C4)))) RETURN END C*********************************************************************** FUNCTION SSATW(TC) C ---------------------------------------------------------------------- C C Sat. entropy of liquid water [KJ/(KG K)] given sat. T (C) C C*********************************************************************** DATA E11,E21,E31,SCR/-1836.92956,14706.6352,-43146.6046,4.4289/ DATA E41,E51,E61,TCNV/48606.6733,7997.5096,-58333.9887,273.15/ DATA E71,A2,E12,TCR/33140.0718,0.912762917,-1.75702956,647.3/ DATA E22,E32,E42/1.68754095,5.82215341,-63.3354786/ DATA E52,E62,E72,A3/188.076546,-252.344531,128.058531,1.0/ DATA B3,C3,D3/-0.324817650,-2.990556709,3.2341900/ DATA E13,E23/-0.678067859,-1.91910364/ TK=TC+TCNV TR=(TCR-TK)/TCR IF (TK.LT.300)THEN Y=TR*(E11+TR*(E21+TR*(E31+TR*(E41+TR*(E51+TR*(E61+TR*E71)))))) ELSE IF (TK.LT.600)THEN Y=TR*(E12+TR*(E22+TR*(E32+TR*(E42+TR*(E52+TR*(E62+TR*E72)))))) Y=Y+A2 ELSE Y=A3+B3*TR**(1./3.)+C3*TR**(5./6.)+D3*TR**0.875+TR*(E13+TR*E23) ENDIF SSATW=Y*SCR RETURN END C*********************************************************************** FUNCTION SSATS(TC) C ---------------------------------------------------------------------- C C Entropy of saturated steam [KJ/(KG K)] given sat. T (C) C C*********************************************************************** DATA E1,E2,E3,E4,E5/-4.34839,1.34672,1.75261,-6.22295,9.99004/ DATA A,B,C,D,TCR,SCR/1.0,0.377391,-2.78368,6.93135,647.3,4.4289/ DATA TCNV/273.15/ TR=(TCR-TC-TCNV)/TCR Y=A+B*TR**(1./3.)+C*TR**(5./6.)+D*TR**0.875 Y=Y+TR*(E1+TR*(E2+TR*(E3+TR*(E4+TR*E5)))) SSATS=Y*SCR RETURN END C*********************************************************************** FUNCTION VS(PKPA,TC) C ---------------------------------------------------------------------- C C Specific volume of superheated steam (M3/KG) given P (KPA) and T (C) C C*********************************************************************** DATA R,B1,B2,B3,EM/4.61631E-4,5.27993E-2,3.75928E-3,0.022,40./ DATA A0,A1,A2,TCNV/-3.741378,-4.7838281E-3,1.5923434E-5,273.15/ DATA A3,C1,C2,C3,PCNV/10.,42.6776,-3892.70,-9.48654,0.001/ DATA C4,C5,C6/-387.592,-12587.5,-15.2578/ P=PKPA*PCNV T=TC+TCNV TS=C1+C2/(ALOG(P)+C3) IF (P .GE. 12.33) TS=C4+C5/(ALOG(P)+C6) VS=R*T/P-B1*EXP(-B2*T)+(B3-EXP(A0+TS*(A1+TS*A2)))/(A3*P) & *EXP((TS-T)/EM) RETURN END C*********************************************************************** FUNCTION HSATS(TC) C ---------------------------------------------------------------------- C C Enthalpy of saturated steam (KJ/KG) given sat. T (C) C C*********************************************************************** DATA E1,E2,E3,E4/-4.81351884,2.69411792,-7.39064542,10.4961689/ DATA E5,B,C,D/-5.46840036,0.457874342,5.08441288,-1.48513244/ DATA A,TCR,HCR,TCNV/1.0,647.3,2099.3,273.15/ TR=(TCR-TC-TCNV)/TCR Y=A+B*TR**(1./3.)+C*TR**(5./6.)+D*TR**0.875 Y=Y+TR*(E1+TR*(E2+TR*(E3+TR*(E4+TR*E5)))) HSATS=Y*HCR RETURN END C*********************************************************************** FUNCTION VSATS(PKPA,TC) C ---------------------------------------------------------------------- C C Sat. specific volume of steam (M3/KG) given sat. T (C) and P (KPA) C C*********************************************************************** DATA A,B,C,D,E1/1.,1.6351057,52.584599,-44.694653,-8.9751114/ DATA E2,E3,E4,E5/-0.43845530,-19.179576,36.765319,-19.462437/ DATA TCR,PCR,VCR,TCNV,PCNV/647.3,22.089,3.155E-3,273.15,0.001/ TR=(TCR-TC-TCNV)/TCR Y=A+B*TR**(1./3.)+C*TR**(5./6.)+D*TR**0.875 Y=Y+TR*(E1+TR*(E2+TR*(E3+TR*(E4+TR*E5)))) VSATS=Y*PCR*VCR/(PKPA*PCNV) RETURN END C*********************************************************************** FUNCTION VSATW(TC) C ---------------------------------------------------------------------- C C Sat. specific volume of water (M3/KG) given sat. T (C) C C*********************************************************************** DATA A,B,C,D,E1/1.,-1.9153882,12.015186,-7.8464025,-3.8886414/ DATA E2,E3,E4,E5/2.0582238,-2.0829991,0.82180004,0.47549742/ DATA TCR,VCR,TCNV/647.3,3.155E-3,273.15/ TR=(TCR-TC-TCNV)/TCR Y=A+B*TR**(1./3.)+C*TR**(5./6.)+D*TR**0.875 Y=Y+TR*(E1+TR*(E2+TR*(E3+TR*(E4+TR*E5)))) VSATW=Y*VCR RETURN END C*********************************************************************** FUNCTION TPSS(P,S) C ---------------------------------------------------------------------- C C Temperature (C) of steam, given P (KPA) and S [KJ/(KG K)] C C*********************************************************************** DATA E1,E2,E3,PCNV/42.6776,-3892.70,-9.48654,0.001/ DATA E4,E5,E6,TABS/-387.592,-12587.5,-15.2578,273.15/ C compare input entropy with saturation value TO=E1-TABS+E2/(ALOG(P*PCNV)+E3) IF (P .GE. 12330.) TO=E4-TABS+E5/(ALOG(P*PCNV)+E6) SO=SSATS(TO) IF (SO.GE.S)THEN TPSS=TO RETURN ENDIF C Initial guess TA is based on assumption of constant specific heat. C Subsequent approximations made by interpolation. TA=(TO+TABS)*(1.+(S-SO)/CPS(TO))-TABS SA=SS(P,TA) DO 100 I=1,10 T=TA+(TO-TA)*(S-SA)/(SO-SA) IF (ABS(T-TA).LT.0.05)GOTO 900 TO=TA SO=SA TA=T SA=SS(P,TA) 100 CONTINUE WRITE(LUW,1) 1 FORMAT(' WARNING: FUNCTION TPSS FAILS TO CONVERGE') 900 TPSS=T RETURN END C*********************************************************************** FUNCTION CPS(T) C ---------------------------------------------------------------------- C C Determine specific heat of steam, Cp, (KJ/Kg/K) given Temp. (C) C C Specific heat equation from "Fundamentals of Classical C Thermodynamics-SI Version" by Van Wylen and Sonntag C Table A.9, pg. 683. C C Valid for T between 300-3500 K max error = .43% C C*********************************************************************** DATA C1,C2,C3,C4,E1,E2/143.05,-183.54,82.751,-3.6989,.25,.5/ TK=T+273.15 T1=TK/100. CPS=(C1+C2*T1**E1+C3*T1**E2+C4*T1)/18.015 IF(TK.LT.300..OR.TK.GT.3500.)WRITE(LUW,13) 13 FORMAT(' ',' WARNING: FUNCTION CPS: T OUT OF RANGE') RETURN END C*********************************************************************** FUNCTION HS(PKPA,TC) C ---------------------------------------------------------------------- C C Enthalpy of superheated steam (KJ/KG) given P (KPA) and T (C) C C*********************************************************************** DATA B11,B12,B13,B21/2041.21,-40.4002,-0.48095,1.610693/ DATA B22,B23,B31/5.472051E-2,7.517537E-4,3.383117E-4/ DATA B32,B33,B41,B42/-1.975736E-5,-2.87409E-7,1707.82,-16.99419/ DATA B43,B44,B45,EM/6.2746295E-2,-1.0284259E-4,6.4561298E-8,45./ DATA C1,C2,C3,PCNV/42.6776,-3892.70,-9.48654,0.001/ DATA C4,C5,C6,TCNV/-387.592,-12587.5,-15.2578,273.15/ P=PKPA*PCNV T=TC+TCNV TS=C1+C2/(ALOG(P)+C3) IF(P .GE. 12.33) TS=C4+C5/(ALOG(P)+C6) A0=B11+P*(B12+P*B13) A1=B21+P*(B22+P*B23) A2=B31+P*(B32+P*B33) A3=B41+TS*(B42+TS*(B43+TS*(B44+TS*B45))) HS=A0+T*(A1+T*A2)-A3*EXP((TS-T)/EM) RETURN END C*********************************************************************** FUNCTION HSATW(TC) C ---------------------------------------------------------------------- C C Sat. enthalpy of liquid water (KJ/KG) given sat. T (C) C C*********************************************************************** DATA E11,E21,E31,HFCR/624.698837,-2343.85369,-9508.12101,2099.3/ DATA E41,E51,E61,TCNV/71628.7928,-163535.221,166531.093,273.15/ DATA E71,A2,E12/-64785.4585,0.8839230108,-2.67172935/ DATA E22,E32,E42/6.22640035,-13.1789573,-1.91322436/ DATA E52,E62,E72,A3/68.7937653,-124.819906,72.1435404,1.0/ DATA B3,C3,D3/-0.441057805,-5.52255517,6.43994847/ DATA E13,E23,TCR/-1.64578795,-1.30574143,647.3/ TK=TC+TCNV TR=(TCR-TK)/TCR IF(TK.LT.300)THEN Y=TR*(E11+TR*(E21+TR*(E31+TR*(E41+TR*(E51+TR*(E61+TR*E71)))))) ELSE IF(TK.LT.600)THEN Y=TR*(E12+TR*(E22+TR*(E32+TR*(E42+TR*(E52+TR*(E62+TR*E72)))))) Y=Y+A2 ELSE Y=A3+B3*TR**(1./3.)+C3*TR**(5./6.)+D3*TR**0.875+TR*(E13+TR*E23) ENDIF HSATW=Y*HFCR RETURN END C*********************************************************************** FUNCTION TSATS(PKPA) C ---------------------------------------------------------------------- C C Saturation temp. of steam (C) as a function of pressure (KPA) C C*********************************************************************** DATA A1,B1,C1,TCONV/42.6776,-3892.70,-9.48654,-273.15/ DATA A2,B2,C2,PCONV/-387.592,-12587.5,-15.2578,0.001/ P=PKPA*PCONV IF(P .LT. 12.33) THEN TSATS=TCONV+A1+B1/(ALOG(P)+C1) ELSE TSATS=TCONV+A2+B2/(ALOG(P)+C2) ENDIF RETURN END