[TRNSYS-users] Iwent your help

habtamu tkubet hab12tkubet at yahoo.com
Mon Aug 6 08:09:43 PDT 2007


I went to add a new component and b/s of your help I make it perfectly and now I will need another help that is I wrote the equation of the new component and I went to calculate the output with initially assumed value in other word I went to use the output of the firest will be the input of the second iteration so any one besides you having a knowdlege of fortrun pleese help me .
   
  the equation will be as followes
   by using this equation you can calculate the initial value of 
  p1,Tg11,Tg21,Tf11 and Tf21 so I went to use this valu as input How can I use it

       
---------------------------------
Choose the right car based on your needs.  Check out Yahoo! Autos new Car Finder tool.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.onebuilding.org/pipermail/trnsys-users-onebuilding.org/attachments/20070806/f1821240/attachment-0005.htm>
-------------- next part --------------
			SUBROUTINE TYPE236 (TIME,XIN,OUT,T,DTDT,PAR,INFO,ICNTRL,*) 
C************************************************************************
C Object: habtish collector
C Simulation Studio Model: Type236
C 
C Author: 
C Editor: 
C Date:	 July 20, 2007 last modified: July 20, 2007
C 
C 
C *** 
C *** Model Parameters 
C *** 

C *** 
C *** Model Inputs 
C *** 
C			Ac	m^2 [-Inf;+Inf]
C			Lc	m [-Inf;+Inf]
C			p1	m [-Inf;+Inf]
C			beta	degrees [-Inf;+Inf]
C			tbe	m [-Inf;+Inf]
C			te	m [-Inf;+Inf]
C			de	m [-Inf;+Inf]
C			Ep	- [-Inf;+Inf]
C			Eg	- [-Inf;+Inf]
C			Ki	W/m.K [-Inf;+Inf]
C			Pabso	- [-Inf;+Inf]
C			Gtrans	- [-Inf;+Inf]
C			S12	m [-Inf;+Inf]
C			Vw	m/s [-Inf;+Inf]
C			rho	- [1;1]
C			sigma	- [1;1]
C			Cpa	J/kg.K [1;1]
C			Ka	W/m.K [1;1]
C			mue	N.s/m^2 [1;1]
C			Adens	kg/m^3 [1;1]
C			pr	- [1;1]
C			Ta	C [-Inf;+Inf]
C			tetai	degrees [-Inf;+Inf]
C			tetaz	degrees [-Inf;+Inf]
C			Gr	- [-Inf;+Inf]
C			Dr	kJ/hr.m^2 [-inf;+inf]
C			a	J/K [1;1]
C			g	J/K [1;1]
C			p	J/K [1;1]
C			Deltt	s [-Inf;+Inf]
C			n	- [1;365]

C *** 
C *** Model Outputs 
C *** 
C			S22	m [-Inf;+Inf]
C			Nue	m^2/s [-Inf;+Inf]
C			A2	m^2 [-Inf;+Inf]
C			A1	m^2 [-Inf;+Inf]
C			Epg	- [-Inf;+Inf]
C			Egg	- [-Inf;+Inf]
C			Upab	W/m^2.K [-Inf;+Inf]
C			Upae	W/m^2.K [-Inf;+Inf]
C			Tao	K [-Inf;+Inf]
C			Taio	K [-Inf;+Inf]
C			Taoo	K [-Inf;+Inf]
C			Tsky	K [-Inf;+Inf]
C			Tg1o	K [-Inf;+Inf]
C			Tg2o	K [-Inf;+Inf]
C			Tpo	K [-Inf;+Inf]
C			Tf1o	K [-Inf;+Inf]
C			Tf2o	K [-Inf;+Inf]
C			Vbeta1	1/K [-Inf;+Inf]
C			Vbeta2	1/K [-Inf;+Inf]
C			Grl1	- [-Inf;+Inf]
C			ma	kg/s [-Inf;+Inf]
C			Ua	W/m^2.K [-Inf;+Inf]
C			Ug1g2	W/m^2.K [-Inf;+Inf]
C			Ug2p	W/m^2.K [-Inf;+Inf]
C			hr	W/m^2.K [-Inf;+Inf]
C			hc	W/m^2.K [-Inf;+Inf]
C			Uga	W/m^2.K [-Inf;+Inf]
C			Rb	- [-Inf;+Inf]
C			I	kJ/hr.m^2 [-Inf;+Inf]
C			Tp	K [-Inf;+Inf]
C			Tf11	K [-Inf;+Inf]
C			Tf21	K [-Inf;+Inf]
C			Tg11	K [-Inf;+Inf]
C			Tg21	K [-Inf;+Inf]
C			Efficiency	% (base 1) [-Inf;+Inf]
C			Tp10	K [-Inf;+Inf]
C			Tg220	K [-Inf;+Inf]
C			Tg110	K [-Inf;+Inf]
C			Tao00	K [-Inf;+Inf]
C			Tf110	K [-Inf;+Inf]
C			Tf220	K [-Inf;+Inf]
C			Vbeta11	1/K [-Inf;+Inf]
C			Vbeta22	1/K [-Inf;+Inf]
C			Grl11	- [-Inf;+Inf]
C			Ua1	W/m^2.K [-Inf;+Inf]
C			Ug1g22	W/m^2.K [-Inf;+Inf]
C			Ug2p2	W/m^2.K [-Inf;+Inf]
C			hr1	W/m^2.K [-Inf;+Inf]
C			hc1	W/m^2.K [-Inf;+Inf]
C			Uga1	W/m^2.K [-Inf;+Inf]
C			Rb1	- [-Inf;+Inf]
C			I1	W/m^2 [-Inf;+Inf]
C			ma	kg/s [-Inf;+Inf]
C			Tp1	K [-Inf;+Inf]
C			Tf211	K [-Inf;+Inf]
C			Tf111	K [-Inf;+Inf]
C			Tg111	K [-Inf;+Inf]
C			Tg222	K [-Inf;+Inf]

C *** 
C *** Model Derivatives 
C *** 

C (Comments and routine interface generated by TRNSYS Studio)
C************************************************************************

C    TRNSYS acess functions (allow to acess TIME etc.) 
      USE TrnsysConstants
      USE TrnsysFunctions

C-----------------------------------------------------------------------------------------------------------------------
C    REQUIRED BY THE MULTI-DLL VERSION OF TRNSYS
      !DEC$ATTRIBUTES DLLEXPORT :: TYPE236				!SET THE CORRECT TYPE NUMBER HERE
C-----------------------------------------------------------------------------------------------------------------------
C-----------------------------------------------------------------------------------------------------------------------
C    TRNSYS DECLARATIONS
      IMPLICIT NONE			!REQUIRES THE USER TO DEFINE ALL VARIABLES BEFORE USING THEM

	DOUBLE PRECISION XIN	!THE ARRAY FROM WHICH THE INPUTS TO THIS TYPE WILL BE RETRIEVED
	DOUBLE PRECISION OUT	!THE ARRAY WHICH WILL BE USED TO STORE THE OUTPUTS FROM THIS TYPE
	DOUBLE PRECISION TIME	!THE CURRENT SIMULATION TIME - YOU MAY USE THIS VARIABLE BUT DO NOT SET IT!
	DOUBLE PRECISION PAR	!THE ARRAY FROM WHICH THE PARAMETERS FOR THIS TYPE WILL BE RETRIEVED
	DOUBLE PRECISION STORED !THE STORAGE ARRAY FOR HOLDING VARIABLES FROM TIMESTEP TO TIMESTEP
	DOUBLE PRECISION T		!AN ARRAY CONTAINING THE RESULTS FROM THE DIFFERENTIAL EQUATION SOLVER
	DOUBLE PRECISION DTDT	!AN ARRAY CONTAINING THE DERIVATIVES TO BE PASSED TO THE DIFF.EQ. SOLVER
	INTEGER*4 INFO(15)		!THE INFO ARRAY STORES AND PASSES VALUABLE INFORMATION TO AND FROM THIS TYPE
	INTEGER*4 NP,NI,NOUT,ND	!VARIABLES FOR THE MAXIMUM NUMBER OF PARAMETERS,INPUTS,OUTPUTS AND DERIVATIVES
	INTEGER*4 NPAR,NIN,NDER	!VARIABLES FOR THE CORRECT NUMBER OF PARAMETERS,INPUTS,OUTPUTS AND DERIVATIVES
	INTEGER*4 IUNIT,ITYPE	!THE UNIT NUMBER AND TYPE NUMBER FOR THIS COMPONENT
	INTEGER*4 ICNTRL		!AN ARRAY FOR HOLDING VALUES OF CONTROL FUNCTIONS WITH THE NEW SOLVER
	INTEGER*4 NSTORED		!THE NUMBER OF VARIABLES THAT WILL BE PASSED INTO AND OUT OF STORAGE
	CHARACTER*3 OCHECK		!AN ARRAY TO BE FILLED WITH THE CORRECT VARIABLE TYPES FOR THE OUTPUTS
	CHARACTER*3 YCHECK		!AN ARRAY TO BE FILLED WITH THE CORRECT VARIABLE TYPES FOR THE INPUTS
C-----------------------------------------------------------------------------------------------------------------------

C-----------------------------------------------------------------------------------------------------------------------
C    USER DECLARATIONS - SET THE MAXIMUM NUMBER OF PARAMETERS (NP), INPUTS (NI),
C    OUTPUTS (NOUT), AND DERIVATIVES (ND) THAT MAY BE SUPPLIED FOR THIS TYPE
      PARAMETER (NP=0,NI=31,NOUT=58,ND=0,NSTORED=0)
C-----------------------------------------------------------------------------------------------------------------------

C-----------------------------------------------------------------------------------------------------------------------
C    REQUIRED TRNSYS DIMENSIONS
      DIMENSION XIN(NI),OUT(NOUT),PAR(NP),YCHECK(NI),OCHECK(NOUT),
	1   STORED(NSTORED),T(ND),DTDT(ND)
      INTEGER NITEMS
C-----------------------------------------------------------------------------------------------------------------------
C-----------------------------------------------------------------------------------------------------------------------
C    ADD DECLARATIONS AND DEFINITIONS FOR THE USER-VARIABLES HERE


C    PARAMETERS

C    INPUTS
      DOUBLE PRECISION Ac
      DOUBLE PRECISION Lc
      DOUBLE PRECISION p1
      DOUBLE PRECISION beta
      DOUBLE PRECISION tbe
      DOUBLE PRECISION te
      DOUBLE PRECISION de
      DOUBLE PRECISION Ep
      DOUBLE PRECISION Eg
      DOUBLE PRECISION Ki
      DOUBLE PRECISION Pabso
      DOUBLE PRECISION Gtrans
      DOUBLE PRECISION S12
      DOUBLE PRECISION Vw
      DOUBLE PRECISION rho
      DOUBLE PRECISION sigma
      DOUBLE PRECISION Cpa
      DOUBLE PRECISION Ka
      DOUBLE PRECISION mue
      DOUBLE PRECISION Adens
      DOUBLE PRECISION pr
      DOUBLE PRECISION Ta
      DOUBLE PRECISION tetai
      DOUBLE PRECISION tetaz
      DOUBLE PRECISION Gr
      DOUBLE PRECISION Dr
      DOUBLE PRECISION a
      DOUBLE PRECISION g
      DOUBLE PRECISION p
      DOUBLE PRECISION Deltt
      DOUBLE PRECISION n

C-----------------------------------------------------------------------------------------------------------------------
C       READ IN THE VALUES OF THE PARAMETERS IN SEQUENTIAL ORDER

C-----------------------------------------------------------------------------------------------------------------------
C    RETRIEVE THE CURRENT VALUES OF THE INPUTS TO THIS MODEL FROM THE XIN ARRAY IN SEQUENTIAL ORDER

      Ac=XIN(1)
      Lc=XIN(2)
      p1=XIN(3)
      beta=XIN(4)
      tbe=XIN(5)
      te=XIN(6)
      de=XIN(7)
      Ep=XIN(8)
      Eg=XIN(9)
      Ki=XIN(10)
      Pabso=XIN(11)
      Gtrans=XIN(12)
      S12=XIN(13)
      Vw=XIN(14)
      rho=XIN(15)
      sigma=XIN(16)
      Cpa=XIN(17)
      Ka=XIN(18)
      mue=XIN(19)
      Adens=XIN(20)
      pr=XIN(21)
      Ta=XIN(22)
      tetai=XIN(23)
      tetaz=XIN(24)
      Gr=XIN(25)
      Dr=XIN(26)
      a=XIN(27)
      g=XIN(28)
      p=XIN(29)
      Deltt=XIN(30)
      n=XIN(31)
	   IUNIT=INFO(1)
	   ITYPE=INFO(2)

C-----------------------------------------------------------------------------------------------------------------------
C    SET THE VERSION INFORMATION FOR TRNSYS
      IF(INFO(7).EQ.-2) THEN
	   INFO(12)=16
	   RETURN 1
	ENDIF
C-----------------------------------------------------------------------------------------------------------------------

C-----------------------------------------------------------------------------------------------------------------------
C    DO ALL THE VERY LAST CALL OF THE SIMULATION MANIPULATIONS HERE
      IF (INFO(8).EQ.-1) THEN
	   RETURN 1
	ENDIF
C-----------------------------------------------------------------------------------------------------------------------

C-----------------------------------------------------------------------------------------------------------------------
C    PERFORM ANY 'AFTER-ITERATION' MANIPULATIONS THAT ARE REQUIRED HERE
C    e.g. save variables to storage array for the next timestep
      IF (INFO(13).GT.0) THEN
	   NITEMS=0
C	   STORED(1)=... (if NITEMS > 0)
C        CALL setStorageVars(STORED,NITEMS,INFO)
	   RETURN 1
	ENDIF
C
C-----------------------------------------------------------------------------------------------------------------------

C-----------------------------------------------------------------------------------------------------------------------
C    DO ALL THE VERY FIRST CALL OF THE SIMULATION MANIPULATIONS HERE
      IF (INFO(7).EQ.-1) THEN

C       SET SOME INFO ARRAY VARIABLES TO TELL THE TRNSYS ENGINE HOW THIS TYPE IS TO WORK
         INFO(6)=NOUT				
         INFO(9)=1				
	   INFO(10)=0	!STORAGE FOR VERSION 16 HAS BEEN CHANGED				

C       SET THE REQUIRED NUMBER OF INPUTS, PARAMETERS AND DERIVATIVES THAT THE USER SHOULD SUPPLY IN THE INPUT FILE
C       IN SOME CASES, THE NUMBER OF VARIABLES MAY DEPEND ON THE VALUE OF PARAMETERS TO THIS MODEL....
         NIN=NI
	   NPAR=NP
	   NDER=ND
	       
C       CALL THE TYPE CHECK SUBROUTINE TO COMPARE WHAT THIS COMPONENT REQUIRES TO WHAT IS SUPPLIED IN 
C       THE TRNSYS INPUT FILE
	   CALL TYPECK(1,INFO,NIN,NPAR,NDER)

C       SET THE NUMBER OF STORAGE SPOTS NEEDED FOR THIS COMPONENT
         NITEMS=0
C	   CALL setStorageSize(NITEMS,INFO)

C       RETURN TO THE CALLING PROGRAM
         RETURN 1

      ENDIF
C-----------------------------------------------------------------------------------------------------------------------

C-----------------------------------------------------------------------------------------------------------------------
C    DO ALL OF THE INITIAL TIMESTEP MANIPULATIONS HERE - THERE ARE NO ITERATIONS AT THE INTIAL TIME
      IF (TIME .LT. (getSimulationStartTime() +
     . getSimulationTimeStep()/2.D0)) THEN

C       SET THE UNIT NUMBER FOR FUTURE CALLS
         IUNIT=INFO(1)
         ITYPE=INFO(2)

C       CHECK THE PARAMETERS FOR PROBLEMS AND RETURN FROM THE SUBROUTINE IF AN ERROR IS FOUND
C         IF(...) CALL TYPECK(-4,INFO,0,"BAD PARAMETER #",0)

C       PERFORM ANY REQUIRED CALCULATIONS TO SET THE INITIAL VALUES OF THE OUTPUTS HERE
C		 S22
			OUT(1)=0
C		 Nue
			OUT(2)=0
C		 A2
			OUT(3)=0
C		 A1
			OUT(4)=0
C		 Epg
			OUT(5)=0
C		 Egg
			OUT(6)=0
C		 Upab
			OUT(7)=0
C		 Upae
			OUT(8)=0
C		 Tao
			OUT(9)=0
C		 Taio
			OUT(10)=0
C		 Taoo
			OUT(11)=0
C		 Tsky
			OUT(12)=0
C		 Tg1o
			OUT(13)=0
C		 Tg2o
			OUT(14)=0
C		 Tpo
			OUT(15)=0
C		 Tf1o
			OUT(16)=0
C		 Tf2o
			OUT(17)=0
C		 Vbeta1
			OUT(18)=0
C		 Vbeta2
			OUT(19)=0
C		 Grl1
			OUT(20)=0
C		 ma
			OUT(21)=0
C		 Ua
			OUT(22)=0
C		 Ug1g2
			OUT(23)=0
C		 Ug2p
			OUT(24)=0
C		 hr
			OUT(25)=0
C		 hc
			OUT(26)=0
C		 Uga
			OUT(27)=0
C		 Rb
			OUT(28)=0
C		 I
			OUT(29)=0
C		 Tp
			OUT(30)=0
C		 Tf11
			OUT(31)=0
C		 Tf21
			OUT(32)=0
C		 Tg11
			OUT(33)=0
C		 Tg21
			OUT(34)=0
C		 Efficiency
			OUT(35)=0
C		 Tp10
			OUT(36)=0
C		 Tg220
			OUT(37)=0
C		 Tg110
			OUT(38)=0
C		 Tao00
			OUT(39)=0
C		 Tf110
			OUT(40)=0
C		 Tf220
			OUT(41)=0
C		 Vbeta11
			OUT(42)=0
C		 Vbeta22
			OUT(43)=0
C		 Grl11
			OUT(44)=0
C		 Ua1
			OUT(45)=0
C		 Ug1g22
			OUT(46)=0
C		 Ug2p2
			OUT(47)=0
C		 hr1
			OUT(48)=0
C		 hc1
			OUT(49)=0
C		 Uga1
			OUT(50)=0
C		 Rb1
			OUT(51)=0
C		 I1
			OUT(52)=0
C		 ma
			OUT(53)=0
C		 Tp1
			OUT(54)=0
C		 Tf211
			OUT(55)=0
C		 Tf111
			OUT(56)=0
C		 Tg111
			OUT(57)=0
C		 Tg222
			OUT(58)=0

C       PERFORM ANY REQUIRED CALCULATIONS TO SET THE INITIAL STORAGE VARIABLES HERE
         NITEMS=0
C	   STORED(1)=...

C       PUT THE STORED ARRAY IN THE GLOBAL STORED ARRAY
C         CALL setStorageVars(STORED,NITEMS,INFO)

C       RETURN TO THE CALLING PROGRAM
         RETURN 1

      ENDIF
C-----------------------------------------------------------------------------------------------------------------------

C-----------------------------------------------------------------------------------------------------------------------
C    *** ITS AN ITERATIVE CALL TO THIS COMPONENT ***
C-----------------------------------------------------------------------------------------------------------------------

	    
C-----------------------------------------------------------------------------------------------------------------------
C    RETRIEVE THE VALUES IN THE STORAGE ARRAY FOR THIS ITERATION
C      NITEMS=
C	CALL getStorageVars(STORED,NITEMS,INFO)
C      STORED(1)=
C-----------------------------------------------------------------------------------------------------------------------
C-----------------------------------------------------------------------------------------------------------------------
C    CHECK THE INPUTS FOR PROBLEMS
C      IF(...) CALL TYPECK(-3,INFO,'BAD INPUT #',0,0)
C	IF(IERROR.GT.0) RETURN 1
C-----------------------------------------------------------------------------------------------------------------------
C-----------------------------------------------------------------------------------------------------------------------
C    *** PERFORM ALL THE CALCULATION HERE FOR THIS MODEL. ***
C-----------------------------------------------------------------------------------------------------------------------

C		ADD YOUR COMPONENT EQUATIONS HERE; BASICALLY THE EQUATIONS THAT WILL
C		CALCULATE THE OUTPUTS BASED ON THE PARAMETERS AND THE INPUTS.	REFER TO
C		CHAPTER 3 OF THE TRNSYS VOLUME 1 MANUAL FOR DETAILED INFORMATION ON
C		WRITING TRNSYS COMPONENTS.













C-----------------------------------------------------------------------------------------------------------------------

C-----------------------------------------------------------------------------------------------------------------------
C-----------------------------------------------------------------------------------------------------------------------
C    SET THE STORAGE ARRAY AT THE END OF THIS ITERATION IF NECESSARY
C      NITEMS=
C      STORED(1)=
C	CALL setStorageVars(STORED,NITEMS,INFO)
C-----------------------------------------------------------------------------------------------------------------------
C-----------------------------------------------------------------------------------------------------------------------
C    REPORT ANY PROBLEMS THAT HAVE BEEN FOUND USING CALLS LIKE THIS:
C      CALL MESSAGES(-1,'put your message here','MESSAGE',IUNIT,ITYPE)
C      CALL MESSAGES(-1,'put your message here','WARNING',IUNIT,ITYPE)
C      CALL MESSAGES(-1,'put your message here','SEVERE',IUNIT,ITYPE)
C      CALL MESSAGES(-1,'put your message here','FATAL',IUNIT,ITYPE)
C-----------------------------------------------------------------------------------------------------------------------
C-----------------------------------------------------------------------------------------------------------------------
C    SET THE OUTPUTS FROM THIS MODEL IN SEQUENTIAL ORDER AND GET OUT

C		 S22
			OUT(1)=de-S12
C		 Nue
			OUT(2)=mue/Adens
C		 A2
			OUT(3)=P1*(de-S12)
C		 A1
			OUT(4)=P1*S12
C		 Epg
			OUT(5)=1/((1/Ep)+(1/Eg)-1)
C		 Egg
			OUT(6)=1/((1/Eg)+(1/Eg)-1)
C		 Upab
			OUT(7)=(ki/tbe)
C		 Upae
			OUT(8)=OUT(7)
C		 Tao
			OUT(9)=Ta+273
C		 Taio
			OUT(10)=OUT(9)
C		 Taoo
			OUT(11)=OUT(9)
C		 Tsky
			OUT(12)=OUT(9)-6
C		 Tg1o
			OUT(13)=OUT(9)-0.5
C		 Tg2o
			OUT(14)=OUT(9)-0.5
C		 Tpo
			OUT(15)=OUT(9)+0.5
C		 Tf10
			OUT(16)=(OUT(13)+OUT(14))/2
C 	      Tf20
             OUT(17)=(OUT(10)+OUT(9))/2
C		 Vbeta1
			OUT(18)=1/OUT(16)
C		 Vbeta2
			OUT(19)=1/OUT(17)
C		 GrL1
		OUT(20)=(9.81*OUT(19)*(OUT(15)-OUT(14))*(S12**3))
     &		/(OUT(2)**2)
C		 mass flow rate of air
			OUT(21)=1.7*(mue)*Lc*(OUT(20)/(Pr**2+
     &			(Pr+0.9524)))**0.25
C		 Ua
	 OUT(22)=0.664*(Ka/Lc)*((Pr*OUT(20)*COS(beta/57.3))/(Pr+0.9524))
     &			**0.25
C		 Ug1g2
		OUT(23)=((0.06-(0.017*beta/90))*(Ka/S12)*OUT(20)** (1/3))+
     &		(OUT(6)*sigma*((OUT(13))**2+(OUT(14))**2)*(OUT(13)
     &         +OUT(14)))
C		 Ug2p
		OUT(24)=(0.06-(0.017*(beta/90)))*(Ka/OUT(1))*OUT(20)**(1/3)+
     &	(OUT(5)*sigma*((OUT(14))**2+(OUT(15))**2)*(OUT(14)+OUT(15)))
C		 hr
			OUT(25)=Eg*sigma*((OUT(13))**4-(OUT(12))**4)/
     &			(OUT(13)-OUT(9))
C		 hc
			OUT(26)=5.7+3.8*Vw
C		 Uga
			OUT(27)=OUT(25)+OUT(26)
C          Rb
            OUT(28)=tetai/tetaz
C           I
        OUT(29)=(OUT(28)*(Gr-Dr))+(0.5*(1+COS(beta/57.3))*Dr)+(0.5*0.2*
     &		 (1-COS(beta/57.3))*Gr)
C		 Tp
	    OUT(30)=OUT(15)+((Ac*OUT(29)*10*Pabso*Gtrans**2*time)/(p*36))-
     &	 (((OUT(22)*Ac*time)/p)*(OUT(15)- OUT(17)))-(((OUT(24)*
     &	 Ac*time)/p)*(OUT(15)-OUT(14)))-(((OUT(7)*Ac*time)/p)
     &	 *(OUT(15)-OUT(9)))-(((OUT(8)*OUT(4)*time)/p)*
     &	 (((OUT(15)+OUT(9))/2)-OUT(9)))
C        Tf11
          OUT(31)=OUT(16)+(((OUT(22)*Ac*time)/a)*(OUT(13)-OUT(16)))
     &	+(((Ac*OUT(22)*time)/a)*(OUT(14)-OUT(16)))-(((OUT(21)
     &	*Cpa*Ac*time)/a)*(OUT(11)-OUT(10)))
C		 Tf21
		OUT(32)=OUT(17)+(((OUT(22)*Ac*time)/a)*(OUT(15)-OUT(17)))
     &       +(((OUT(22)*Ac*time)/a)*(OUT(14)-OUT(17)))-(((OUT(21)
     &         *Cpa*Ac)/a)*(OUT(11)-OUT(10)))
C		 Tg11
		OUT(33)=OUT(13)+((Ac*OUT(29)*10*(1-Gtrans)*time)/(g*36))-
     &	(((Ac*OUT(23)*time)/g)*(OUT(13)-OUT(14)))-(((Ac*OUT(27)
     &	*time)/g)*(OUT(13)-OUT(9)))-(((OUT(22)*Ac*time)/g)*
     &			(OUT(13)-OUT(16)))
C		 Tg22
	 OUT(34)=OUT(14)+((OUT(29)*10*(1-Gtrans)*Gtrans*Ac*time)/(g*36))
     &		-(((Ac*OUT(22)*time)/g)*(OUT(14)-OUT(16)))-(((Ac*
     &		OUT(22)*time)/g)*(OUT(14)-OUT(17)))-(((Ac*OUT(24)
     &		*time)/g)*(OUT(14)-OUT(15)))-(((Ac*OUT(23)
     &         *time)/g)*(OUT(14)-OUT(13)))
C          Tp1o
             OUT(35)=(OUT(30)+OUT(15))/2
C          Tg220
             OUT(36)=(OUT(34)+OUT(14))/2
C         Tg11o
            OUT(37) =(OUT(33)+OUT(13))/2
C          Tao00
             OUT(38)=(OUT(32)+OUT(9))/2
C		 Tf110
			OUT(39)=(OUT(36)+OUT(37))/2
C 	      Tf220
             OUT(40)=(OUT(38)+OUT(9))/2
C		 Vbeta11
			OUT(41)=1/OUT(39)
C		 Vbeta22
			OUT(42)=1/OUT(40)
C		 GrL11
		OUT(43)=(9.81*OUT(42)*(OUT(35)-OUT(36))*(S12**3))
     &		/(OUT(2)**2)
C		 Ua1
			OUT(44)=0.664*(Ka/Lc)*((Pr*OUT(43)*COS(beta/57.3))
     &			/(Pr+0.9524))**0.25
C		 Ug1g22
		OUT(45)=((0.06-(0.017*beta/90))*(Ka/S12)*OUT(43)** (1/3))+
     &		(OUT(6)*sigma*((OUT(37))**2+(OUT(36))**2)*(OUT(36)
     &         +OUT(37)))
C		 Ug2p2
		OUT(46)=(0.06-(0.017*(beta/90)))*(Ka/OUT(1))*OUT(20)**(1/3)+
     &	(OUT(5)*sigma*((OUT(35))**2+(OUT(36))**2)*(OUT(35)+OUT(36)))
C		 hr1
			OUT(47)=Eg*sigma*((OUT(37))**4-(OUT(12))**4)/
     &			(OUT(37)-OUT(9))
C		 hc1
			OUT(48)=5.7+3.8*Vw
C		 Uga1
			OUT(49)=OUT(47)+OUT(48)
C          Rb1
            OUT(50)=tetai/tetaz
C           I1
        OUT(51)=(OUT(50)*(Gr-Dr))+(0.5*(1+COS(beta/57.3))*Dr)+(0.5*0.2*
     &		 (1-COS(beta/57.3))*Gr)
C		 ma
			OUT(52)=(Ac/Cpa)*(OUT(51)/(OUT(38)-OUT(10)))
C		 Tp1
	    OUT(53)=OUT(35)+((Ac*OUT(51)*10*Pabso*Gtrans**2*time)/(p*36))-
     &	 (((OUT(44)*Ac*time)/p)*(OUT(35)-OUT(40)))-(((OUT(46)*
     &	 Ac*time)/p)*(OUT(35)-OUT(36)))-(((OUT(7)*Ac*time)/p)
     &	 *(OUT(35)-OUT(9)))-(((OUT(8)*OUT(4)*time)/p)*
     &	 (((OUT(35)+OUT(9))/2)-OUT(9)))
C        Tf211
          OUT(54)=OUT(39)+(((OUT(44)*Ac*time)/a)*(OUT(35)-OUT(40)))
     &	+(((Ac*OUT(44)*time)/a)*(OUT(36)-OUT(40)))-(((OUT(52)
     &	*Cpa*Ac*time)/a)*(OUT(38)-OUT(10)))
C		 Tf111
		OUT(55)=OUT(40)+(((OUT(44)*Ac*time)/a)*(OUT(37)-OUT(39)))
     &       +(((OUT(44)*Ac*time)/a)*(OUT(36)-OUT(39)))-(((OUT(52)
     &         *Cpa*Ac)/a)*(OUT(38)-OUT(10)))
C		 Tg111
		OUT(56)=OUT(37)+((Ac*OUT(51)*10*(1-Gtrans)*time)/(g*36))-
     &	(((Ac*OUT(45)*time)/g)*(OUT(37)-OUT(36)))-(((Ac*OUT(44)
     &	*time)/g)*(OUT(37)-OUT(9)))-(((OUT(44)*Ac*time)/g)*
     &			(OUT(37)-OUT(39)))
C		 Tg222
	 OUT(57)=OUT(36)+((OUT(51)*10*(1-Gtrans)*Gtrans*Ac*time)/(g*36))
     &		-(((Ac*OUT(44)*time)/g)*(OUT(36)-OUT(39)))-(((Ac*
     &		OUT(44)*time)/g)*(OUT(36)-OUT(40)))-(((Ac*OUT(46)
     &			*time)/g)*(OUT(35)-OUT(36)))-(((Ac*OUT(45)
     &         *time)/g)*(OUT(36)-OUT(37)))
C        Efficiency
         OUT(58)=(OUT(52)*Cpa*36*(OUT(32)-OUT(9)))/(Ac*OUT(51)*10)

C-----------------------------------------------------------------------------------------------------------------------
C    EVERYTHING IS DONE - RETURN FROM THIS SUBROUTINE AND MOVE ON
      RETURN 1
      END
C-----------------------------------------------------------------------------------------------------------------------


More information about the TRNSYS-users mailing list