! This component has been assigned Type Number 207. If that number conflicts with ! another user Type number, you will need to change it and recompile the appropriate ! dll. SUBROUTINE TYPE207(TIME,XIN,OUT,T,DTDT,PAR,INFO,ICNTRL,*) !DEC$ATTRIBUTES DLLEXPORT :: TYPE207 C ---------------------------------------------------------------------- C C TYPE 207 : FAN or PUMP MODEL C C Required units: pressures in kPa; specific heats in kJ/kg-C; C densities in kg/m3; flow rate in kg/s. C Head curve FUNP(Z), efficiency curve FUNN(Z), and flow KW are C dimensionless. C C*********************************************************************** DOUBLE PRECISION XIN,OUT REAL PAR,N,KW C INTEGER IOSTAT DIMENSION XIN(4),OUT(3),PAR(12) C DIMENSION IOSTAT(4) C* COMMON /PROPER/ RHOA,RHOW,CPA,CPW C The RHOA,RHOW,CPA,CPW properties @300 K, 1 atm C The units are: C RHOA,RHOW - kg/m^3 C CPA,CPW - kJ/kg-K DATA RHOA,RHOW /1.1614,999/ ! Set the version information for TRNSYS IF (INFO(7).EQ.-2) THEN INFO(12) = 15 RETURN 1 ENDIF FUNP(Z)=PAR(1)+Z*(PAR(2)+Z*(PAR(3)+Z*(PAR(4)+Z*PAR(5)))) FUNN(Z)=PAR(6)+Z*(PAR(7)+Z*(PAR(8)+Z*(PAR(9)+Z*PAR(10)))) W= XIN(1) P2= XIN(2) N= XIN(3) T1= XIN(4) D= PAR(11) MODE= PAR(12) IF (MODE .EQ. 1) THEN CALL CPCVA(T1,CPA) !added 6-23-95 CP=CPA RHO=RHOA IF (T1.LE.-30.) T1=-30. ! added 2/24/94 IF (T1.GT.65.) T1=65. ELSE CPW=WCP(T1) !added 6-23-95 CP=CPW RHO=RHOW IF (T1.LE.0.) T1=0. IF (T1.GT.120.) T1=120. ENDIF IF ( N .GT. 1.0E-3 ) THEN ! changed 2/24/94 KW=W/(RHO*D**3*N) P1=P2-0.001*FUNP(KW)*RHO*(D*N)**2 EFF=FUNN(KW) T2=T1+(P2-P1)*((1./EFF)-1.)/(RHO*CP) POWER=(P2-P1)*W/(RHO*EFF) ELSE P1=P2 T2=T1 POWER=0. ENDIF OUT(1)= P1 OUT(2)= T2 OUT(3)= POWER C DO 10 I=1,3 C IOSTAT(I)=1 C 10 CONTINUE RETURN 1 END C*********************************************************************** SUBROUTINE CPCVA(TCA,CPA) C ---------------------------------------------------------------------- C C This subroutine takes Celsius air temperature, TCA, and computes: C CPA: Specific heat of air at constant pressure [KJ/(kg K)] C C*********************************************************************** DATA A0,A1,A2/1.03409,-0.284887E-3,0.7816818E-6/ DATA A3,A4,TCONV,R/-0.4970786E-9,0.1077024E-12,273.15,0.287040/ T=TCA+TCONV CPA=A0+T*(A1+T*(A2+T*(A3+T*A4))) RETURN END C*********************************************************************** FUNCTION WCP(TW) C ---------------------------------------------------------------------- C C Specific heat of water at 1 atmosphere, 0 to 100 C. Equation from C linear least-squares regression of data from CRC Handbook (op.cit.) C page D-174; in J/g-C (or kJ/kg-C). C For temps > 100, fit to data from Karlekar & Desmond (saturated). C C*********************************************************************** DATA ACP0,ACP1,ACP2/4.21534,-0.00287819,7.4729E-05/ DATA ACP3,ACP4/-7.79624E-07,3.220424E-09/ DATA ACP5,ACP6,ACP7,ACP8/2.9735,.023049,-.00013953,3.092474E-07/ WCP=ACP0+TW*(ACP1+TW*(ACP2+TW*(ACP3+TW*ACP4))) IF (TW.GT.100.) WCP=ACP5+TW*(ACP6+TW*(ACP7+TW*ACP8)) RETURN END