SUBROUTINE TYPE65 (TIME,XIN,OUT,T,DTDT,PAR,INFO,ICNTRL,*) C* SUBROUTINE PRESIST (P,M,PEnt,PLvg,ErrStat) C*********************************************************************** C* Copyright ASHRAE. Toolkit for HVAC System Energy Calculations c* Revised for TRNSYS by N.Blair and R.Schwarz C*********************************************************************** C* SUBROUTINE: PRESIST C* C* LANGUAGE: FORTRAN 77 C* C* PURPOSE: Calculates the pressure loss through a C* flow resistance. Outlet pressure is a C* function of inlet pressure and flow rate. C*********************************************************************** C* INPUT VARIABLES DESCRIPTION(UNITS) Sample Values C* XIN(1) M Mass flow rate through valve (kg/s) -.5 C* XIN(2) PEnt Pressure of fluid entering valve (Pa) 101325.0 C* C* OUTPUT VARIABLES C* OUT(1) PLvg Pressure of fluid leaving valve (Pa) 107759.0 C* OUT(2) ErrStat Error status indicator, 0 = ok, 1 = error (-) 0.0 C* C* PARAMETERS C* PAR(1) Resist Flow resistance coefficient (1/kg m) 25735.0 C*********************************************************************** C MAJOR RESTRICTIONS: Pressure drop proportional to square of C flow rate. C C DEVELOPER: Michael J. Brandemuehl, PhD, PE C University of Colorado at Boulder C C DATE: May 1, 1992 C C INCLUDE FILES: presist.inc C SUBROUTINES CALLED: None C FUNCTIONS CALLED: None C C REVISION HISTORY: None C C REFERENCE: None C*********************************************************************** C INTERNAL VARIABLES: C deltaP Pressure drop across the valve (Pa) C*********************************************************************** DOUBLE PRECISION XIN, OUT INTEGER ErrStat, INFO, IOPT, NI, NP, ND DIMENSION XIN(2),OUT(1),PAR(1),INFO(15) REAL PAR CHARACTER*3 YCHECK(2), OCHECK(1) DATA YCHECK/'MF2','PR3'/ DATA OCHECK/'PR3'/ ErrStat = 0 IOPT = -1 NI = 2 !CORRECT NUMBER OF INPUTS NP = 1 !CORRECT NUMBER OF PARAMETERS ND = 0 !CORRECT NUMBER OF DERIVATIVES M =XIN(1) PEnt =XIN(2) Resist =PAR(1) IF (INFO(7).EQ.-1) THEN CALL TYPECK(IOPT,INFO,NI,NP,ND) C CHECKS TO SEE IF USER'S INFO MATCHES CORRECT NUMBERS CALL RCHECK(INFO,YCHECK,OCHECK) C CHECKS TO SEE IF INPUT AND OUTPUT UNITS MATCH ENDIF C1*** Calculate the pressure drop. C2*** M*ABS(M) allows negative deltaP for negative M. deltaP = Resist*M*ABS(M) C1*** Calculate the outlet pressure. PLvg = PEnt-deltaP OUT(1) = Plvg OUT(2) = ERRSTAT RETURN 1 END