C*********************************************************************** ! This component has been assigned Type Number 206. If that number conflicts with ! another user Type number, you will need to change it and recompile the appropriate ! dll. SUBROUTINE TYPE206(TIME,XIN,OUT,T,DTDT,PAR,INFO,ICNTRL,*) !DEC$ATTRIBUTES DLLEXPORT :: TYPE206 C ---------------------------------------------------------------------- C C TYPE 206 : STEAM SPRAY HUMIDIFIER C based on mathematical model by J.Chi C C*********************************************************************** INTEGER INFO DOUBLE PRECISION XIN,OUT REAL PAR C INTEGER IOSTAT DIMENSION XIN(5),OUT(3),PAR(1),INFO(15) C DIMENSION IOSTAT(3) C* COMMON /PROPER/ RHOA,RHOW,CPA,CPW C The CPA properties @300 K, 1 atm C The units are: C CPA - kJ/kg-K DATA CPA /1.007/ DATA CPS,RMOL,PATM/1.8723,0.62198,101.325/ ! Set the version information for TRNSYS IF (INFO(7).EQ.-2) THEN INFO(12) = 15 RETURN 1 ENDIF TS= XIN(1) TAI= XIN(2) WAI= XIN(3) FLWAI=XIN(4) FLWS= XIN(5) ETA=PAR(1) CPAI=(CPA+WAI*CPS)/(1.+WAI) TAO=(FLWS*CPS*TS+FLWAI*CPAI*TAI)/(FLWS*CPS+FLWAI*CPAI) WAO=WAI+FLWS*(1.+WAI)/FLWAI WAOS=RMOL*PSATS(TAO)/(PATM-PSATS(TAO)) IF (WAO.GT.ETA*WAOS)WAO=ETA*WAOS FLWAO=FLWAI*(1.+WAO)/(1.+WAI) OUT(1)=TAO OUT(2)=FLWAO OUT(3)=WAO C DO 10 I=1,3 C IOSTAT(I)=1 C 10 CONTINUE RETURN 1 END C*********************************************************************** FUNCTION PSATS(TC) C ---------------------------------------------------------------------- C C Saturation pressure of steam (KPA) as a function of temperature (C) C C*********************************************************************** DATA A0,A1,A2,A3/10.4592,-0.404897E-2,-0.417520E-4,0.368510E-6/ DATA A4,A5,A6/-0.101520E-8,0.865310E-12,0.903668E-15/ DATA A7,A8,A9/-0.199690E-17,0.779287E-21,0.191482E-24/ DATA A10,A11,TCONV,PCONV/-3968.06,39.5735,273.15,1000./ T=TC+TCONV PLOG=A0+T*(A1+T*(A2+T*(A3+T*(A4+T*(A5+T*(A6+T*(A7+T*(A8+T*A9 & )))))))) + A10/(T-A11) PSATS=PCONV*EXP(PLOG) RETURN END