Dear Trnsys Users, I’m a new user of Trnsys and it’s the first time I create a new type. I wrote a code (Type182.f90) to read 2 different . txt files, mappa_ABS.txt and mappa_HD.txt, and simulate the coupling between an ABS chiller and a desalinator. From this code I created the library Type182.dll using Visual Studio 2008 (I followed the instruction of 08-ProgrammersGuide.pdf in the section “Instructions to add a new project to the Ivf90-Mvs2003 Solution”). At this point I created a simple Project.ptf to test the new component, but I obtain this error: *** Fatal Error at time : 0.000000 Generated by Unit : 4 Generated by Type : 182 TRNSYS Message 105 : A TYPE was called in the TRNSYS input file but was either not linked into trndll.dll or was not found in an external dll. A dummy subroutine was called in its place. Please link the TYPE or remove it from the input file Reported information : Not available Anyone can help me??? You can find all these files in attached to this email: • Type182.f90 • Type182.tmf • mappa_ABS.txt and mappa_HD.txt (to paste in folder C:\Program Files\Trnsys16\SourceCode\MySource) • Type182.dll • Project.dck Thanks in advance, Ph.D. Alberto Picinardi University of Bergamo, Italy Risparmia con Tutto Incluso Light: telefono + adsl 8 mega a soli 19,95 € al mese per un anno! SCONTO DI 120 EURO! L’offerta è valida solo se attivi entro il 29/07/10 http://abbonati.tiscali.it/telefono-adsl/prodotti/tc/tuttoincluso_light/?WT.mc_id=01fw
5 10 6 0.4 0.6 0.8 1.0 1.2 75 80 85 90 95 100 105 110 115 120 26 30 34 38 42 46 0.674052 0.677270 0.460276 0.612677 0.265719 0.508767 0.063248 0.222966 0.000000 0.000000 0.000000 0.000000 0.755833 0.677531 0.552988 0.628503 0.359121 0.551884 0.157866 0.383548 0.000000 0.000000 0.000000 0.000000 0.845566 0.679717 0.643610 0.639107 0.449818 0.580486 0.255936 0.479760 0.072017 0.240497 0.000000 0.000000 0.930828 0.682493 0.729303 0.651963 0.541321 0.612720 0.343769 0.540964 0.156398 0.394942 0.000000 0.000000 1.004721 0.688632 0.807271 0.664849 0.614433 0.631743 0.421663 0.580755 0.239898 0.488267 0.057243 0.219281 1.069420 0.692611 0.875074 0.672760 0.685980 0.647148 0.496228 0.608021 0.320478 0.547393 0.145102 0.398073 1.128323 0.695807 0.939837 0.679127 0.750618 0.658187 0.575652 0.631898 0.401066 0.586841 0.221699 0.483693 1.190918 0.698594 1.010113 0.685464 0.831262 0.670218 0.660742 0.650090 0.474838 0.610442 0.296071 0.539246 1.258243 0.700852 1.069917 0.688751 0.891040 0.675906 0.717470 0.658309 0.527291 0.621122 0.366321 0.579258 1.305902 0.701777 1.130129 0.693232 0.954415 0.681613 0.783352 0.666976 0.599694 0.636662 0.435842 0.607463 0.782127 0.700457 0.533577 0.638836 0.310978 0.540740 0.077776 0.257281 0.000000 0.000000 0.000000 0.000000 0.866355 0.698724 0.630984 0.650126 0.412886 0.578288 0.192179 0.424645 0.000000 0.000000 0.000000 0.000000 0.957756 0.697902 0.737156 0.660794 0.517474 0.604189 0.296951 0.507853 0.088583 0.275192 0.000000 0.000000 1.052779 0.698004 0.835606 0.670354 0.617453 0.631718 0.393495 0.563007 0.186814 0.429413 0.000000 0.000000 1.136800 0.703209 0.916284 0.679929 0.701308 0.649429 0.478675 0.598349 0.272625 0.509338 0.068461 0.249513 1.214705 0.706624 0.992950 0.687011 0.777794 0.661420 0.565686 0.625477 0.362565 0.565712 0.138716 0.382728 1.282031 0.708747 1.060748 0.691511 0.847725 0.669837 0.642034 0.642340 0.451933 0.603390 0.240340 0.495530 1.342092 0.709910 1.132762 0.695724 0.931425 0.679431 0.735875 0.659847 0.544394 0.629790 0.325865 0.551908 1.417463 0.712112 1.202645 0.698387 0.995118 0.683910 0.801208 0.667856 0.604527 0.641170 0.401193 0.586678 1.452313 0.710216 1.297494 0.703939 1.064007 0.689613 0.874448 0.675758 0.671755 0.650394 0.476599 0.613150 0.845885 0.712183 0.576791 0.651885 0.337969 0.557292 0.086493 0.276341 0.000000 0.000000 0.000000 0.000000 0.938511 0.710323 0.680631 0.662264 0.446591 0.592847 0.209345 0.442370 0.000000 0.000000 0.000000 0.000000 1.033198 0.708659 0.793118 0.671858 0.558720 0.617568 0.321742 0.522677 0.094436 0.284902 0.000000 0.000000 1.131373 0.707854 0.896807 0.679413 0.663542 0.642030 0.425757 0.576189 0.202340 0.444518 0.000000 0.000000 1.216308 0.710801 0.981249 0.687808 0.752796 0.658434 0.518268 0.609873 0.292597 0.521301 0.081732 0.281132 1.295113 0.713625 1.061569 0.694131 0.833088 0.669422 0.604341 0.633070 0.385289 0.572791 0.160012 0.414043 1.366271 0.714954 1.132925 0.698098 0.906513 0.676985 0.682433 0.649000 0.479584 0.610391 0.253030 0.503078 1.427008 0.715668 1.204346 0.701370 0.990129 0.684637 0.778786 0.664200 0.581681 0.637593 0.345344 0.560257 1.501746 0.717158 1.280123 0.704002 1.057626 0.688771 0.846857 0.672017 0.643143 0.647957 0.424004 0.593397 1.561060 0.717279 1.376552 0.708656 1.123699 0.692607 0.924782 0.680057 0.720278 0.659057 0.502473 0.618053 0.888696 0.719326 0.605033 0.659724 0.356180 0.567593 0.092433 0.288692 0.000000 0.000000 0.000000 0.000000 0.986529 0.717468 0.712698 0.669409 0.468936 0.601826 0.220785 0.453449 0.000000 0.000000 0.000000 0.000000 1.085045 0.715516 0.829289 0.678381 0.584652 0.625329 0.338201 0.531866 0.107509 0.309737 0.000000 0.000000 1.182277 0.713408 0.937875 0.685336 0.693661 0.648231 0.447179 0.584327 0.212481 0.453668 0.000000 0.000000 1.273868 0.715904 1.024270 0.692698 0.786495 0.663909 0.543018 0.616632 0.306114 0.528926 0.083842 0.285462 1.354243 0.718402 1.106885 0.698468 0.869424 0.674244 0.631396 0.638554 0.400901 0.578520 0.176727 0.435531 1.426717 0.719584 1.180574 0.702232 0.944943 0.681364 0.709930 0.652695 0.502355 0.616364 0.258889 0.504398 1.487630 0.719670 1.250945 0.704896 1.028993 0.688239 0.806505 0.667390 0.604390 0.641510 0.360568 0.566080 1.555463 0.720150 1.329012 0.707274 1.101136 0.691973 0.876838 0.674897 0.669627 0.652060 0.439140 0.597664 1.618591 0.720329 1.378978 0.707183 1.194826 0.698082 0.956636 0.682254 0.749415 0.663012 0.522089 0.622004 0.919014 0.724259 0.624906 0.664868 0.359964 0.568815 0.097205 0.298228 0.000000 0.000000 0.000000 0.000000 1.021022 0.722368 0.735290 0.674141 0.485037 0.607924 0.229154 0.461146 0.000000 0.000000 0.000000 0.000000 1.120439 0.719938 0.854335 0.682660 0.604300 0.630860 0.350007 0.538119 0.111557 0.316467 0.000000 0.000000 1.222098 0.717897 0.965931 0.688910 0.714935 0.652334 0.462430 0.589773 0.217697 0.457006 0.000000 0.000000 1.316736 0.719610 1.053703 0.695891 0.807707 0.666941 0.560679 0.621173 0.315677 0.533995 0.094766 0.309053 1.395083 0.721538 1.138455 0.701410 0.895081 0.677388 0.649496 0.641347 0.411990 0.582318 0.180326 0.439448 1.471560 0.722751 1.215296 0.705181 0.972036 0.684269 0.730792 0.655835 0.508124 0.616251 0.265171 0.509030 1.531211 0.722577 1.283533 0.707250 1.056255 0.690610 0.826632 0.669615 0.619342 0.643848 0.370284 0.569933 1.601478 0.722877 1.361403 0.709396 1.131301 0.694374 0.897753 0.675968 0.685393 0.654155 0.449926 0.600586 1.662048 0.722524 1.413355 0.709171 1.264098 0.703607 0.978852 0.684015 0.767381 0.665077 0.535941 0.624693
SUBROUTINE TYPE182 (TIME,XIN,OUT,T,DTDT,PAR,INFO,ICNTRL,*) !************************************************************************ ! Object: ABS+DHD ! Simulation Studio Model: Type182 ! ! Author: Alberto Picinardi ! Editor: ! Date: July 21, 2010 last modified: July 21, 2010 ! ! ! *** ! *** Model Parameters ! *** ! Cpw kJ/kg.K [-Inf;+Inf] ! tol - [-Inf;+Inf] ! MaxIter - [-Inf;+Inf] ! *** ! *** Model Inputs ! *** ! Qevanom kW [-Inf;+Inf] ! COPnom - [-Inf;+Inf] ! Theatin C [-Inf;+Inf] ! Tchillin C [-Inf;+Inf] ! Tamb C [-Inf;+Inf] ! Tsea C [-Inf;+Inf] ! mheat kg/s [-Inf;+Inf] ! mcool kg/s [-Inf;+Inf] ! mchill kg/s [-Inf;+Inf] ! *** ! *** Model Outputs ! *** ! Qevaeff kW [-Inf;+Inf] ! COPeff - [-Inf;+Inf] ! Qcool kW [-Inf;+Inf] ! Theatout C [-Inf;+Inf] ! Tcoolin C [-Inf;+Inf] ! Tcoolout C [-Inf;+Inf] ! Tchillout C [-Inf;+Inf] ! FreshWater kg/s [-Inf;+Inf] ! Id - [-Inf;+Inf] ! Overalleff - [-Inf;+Inf] ! SpecEnergy - [-Inf;+Inf] ! Ratio_LG - [-Inf;+Inf] ! *** ! *** Model Derivatives ! *** ! (Comments and routine interface generated by TRNSYS Studio) !************************************************************************ ! TRNSYS acess functions (allow to acess TIME etc.) USE TrnsysConstants USE TrnsysFunctions !----------------------------------------------------------------------------------------------------------------------- ! REQUIRED BY THE MULTI-DLL VERSION OF TRNSYS !DEC$ATTRIBUTES DLLEXPORT :: TYPE182 !SET THE CORRECT TYPE NUMBER HERE !----------------------------------------------------------------------------------------------------------------------- !----------------------------------------------------------------------------------------------------------------------- ! 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 !----------------------------------------------------------------------------------------------------------------------- !----------------------------------------------------------------------------------------------------------------------- ! USER DECLARATIONS - SET THE MAXIMUM NUMBER OF PARAMETERS (NP), INPUTS (NI), ! OUTPUTS (NOUT), AND DERIVATIVES (ND) THAT MAY BE SUPPLIED FOR THIS TYPE PARAMETER (NP=3,NI=9,NOUT=12,ND=0,NSTORED=0) !----------------------------------------------------------------------------------------------------------------------- !----------------------------------------------------------------------------------------------------------------------- ! REQUIRED TRNSYS DIMENSIONS DIMENSION XIN(NI),OUT(NOUT),PAR(NP),YCHECK(NI),OCHECK(NOUT),STORED(NSTORED),T(ND),DTDT(ND) INTEGER NITEMS !----------------------------------------------------------------------------------------------------------------------- !----------------------------------------------------------------------------------------------------------------------- ! ADD DECLARATIONS AND DEFINITIONS FOR THE USER-VARIABLES HERE ! PARAMETERS DOUBLE PRECISION Cpw DOUBLE PRECISION tol DOUBLE PRECISION MaxIter ! INPUTS DOUBLE PRECISION Qevanom DOUBLE PRECISION COPnom DOUBLE PRECISION Theatin DOUBLE PRECISION Tchillin DOUBLE PRECISION Tamb DOUBLE PRECISION Tsea DOUBLE PRECISION mheat DOUBLE PRECISION mcool DOUBLE PRECISION mchill ! Other Parameters CHARACTER(70), PARAMETER :: mappaABS ='C:\Program Files\Trnsys16\SourceCode\MySource\mappa_ABS.txt' CHARACTER(70), PARAMETER :: mappaHD ='C:\Program Files\Trnsys16\SourceCode\MySource\mappa_HD.txt' INTEGER i INTEGER j INTEGER k INTEGER m INTEGER n1 INTEGER n2 INTEGER n3 INTEGER m1 INTEGER m2 INTEGER m3 INTEGER NIter INTEGER istatus DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: flowrate_ratio DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: theatin_range DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: tcoolin_range DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: flowrate DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: tcoolout_range DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: tsea_range DOUBLE PRECISION, DIMENSION(:,:), ALLOCATABLE :: input DOUBLE PRECISION, DIMENSION(:,:,:), ALLOCATABLE :: Qmatrix DOUBLE PRECISION, DIMENSION(:,:,:), ALLOCATABLE :: COPmatrix DOUBLE PRECISION, DIMENSION(:,:,:), ALLOCATABLE :: Dmatrix DOUBLE PRECISION, DIMENSION(:,:,:), ALLOCATABLE :: T2matrix DOUBLE PRECISION Qevaeff DOUBLE PRECISION COPeff DOUBLE PRECISION Qcool DOUBLE PRECISION Qin DOUBLE PRECISION Lnom DOUBLE PRECISION Lratio DOUBLE PRECISION err DOUBLE PRECISION deltaD DOUBLE PRECISION deltaQ DOUBLE PRECISION FreshWater_old DOUBLE PRECISION Tcoolout_old DOUBLE PRECISION Qcool_old DOUBLE PRECISION :: FreshWater = 0.03 DOUBLE PRECISION :: Tcoolin = 30 DOUBLE PRECISION :: Tcoolout = 45 ! DOUBLE PRECISION, EXTERNAL :: LINT3 !----------------------------------------------------------------------------------------------------------------------- ! READ IN THE VALUES OF THE PARAMETERS IN SEQUENTIAL ORDER Cpw=PAR(1) tol=PAR(2) MaxIter=PAR(3) !----------------------------------------------------------------------------------------------------------------------- ! RETRIEVE THE CURRENT VALUES OF THE INPUTS TO THIS MODEL FROM THE XIN ARRAY IN SEQUENTIAL ORDER Qevanom=XIN(1) COPnom=XIN(2) Theatin=XIN(3) Tchillin=XIN(4) Tamb=XIN(5) Tsea=XIN(6) mheat=XIN(7) mcool=XIN(8) mchill=XIN(9) IUNIT=INFO(1) ITYPE=INFO(2) !----------------------------------------------------------------------------------------------------------------------- ! SET THE VERSION INFORMATION FOR TRNSYS IF(INFO(7).EQ.-2) THEN INFO(12)=16 RETURN 1 END IF !----------------------------------------------------------------------------------------------------------------------- !----------------------------------------------------------------------------------------------------------------------- ! DO ALL THE VERY LAST CALL OF THE SIMULATION MANIPULATIONS HERE IF (INFO(8).EQ.-1) THEN RETURN 1 END IF !----------------------------------------------------------------------------------------------------------------------- !----------------------------------------------------------------------------------------------------------------------- ! PERFORM ANY 'AFTER-ITERATION' MANIPULATIONS THAT ARE REQUIRED HERE ! e.g. save variables to storage array for the next timestep IF (INFO(13).GT.0) THEN NITEMS=0 ! STORED(1)=... (if NITEMS > 0) ! CALL setStorageVars(STORED,NITEMS,INFO) RETURN 1 END IF ! !----------------------------------------------------------------------------------------------------------------------- !----------------------------------------------------------------------------------------------------------------------- ! DO ALL THE VERY FIRST CALL OF THE SIMULATION MANIPULATIONS HERE IF (INFO(7).EQ.-1) THEN ! 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 ! SET THE REQUIRED NUMBER OF INPUTS, PARAMETERS AND DERIVATIVES THAT THE USER SHOULD SUPPLY IN THE INPUT FILE ! IN SOME CASES, THE NUMBER OF VARIABLES MAY DEPEND ON THE VALUE OF PARAMETERS TO THIS MODEL.... NIN=NI NPAR=NP NDER=ND ! CALL THE TYPE CHECK SUBROUTINE TO COMPARE WHAT THIS COMPONENT REQUIRES TO WHAT IS SUPPLIED IN ! THE TRNSYS INPUT FILE CALL TYPECK(1,INFO,NIN,NPAR,NDER) ! SET THE NUMBER OF STORAGE SPOTS NEEDED FOR THIS COMPONENT NITEMS=0 ! CALL setStorageSize(NITEMS,INFO) ! RETURN TO THE CALLING PROGRAM RETURN 1 END IF !----------------------------------------------------------------------------------------------------------------------- !----------------------------------------------------------------------------------------------------------------------- ! DO ALL OF THE INITIAL TIMESTEP MANIPULATIONS HERE - THERE ARE NO ITERATIONS AT THE INTIAL TIME IF (TIME .LT. (getSimulationStartTime() + getSimulationTimeStep()/2.D0)) THEN ! SET THE UNIT NUMBER FOR FUTURE CALLS IUNIT=INFO(1) ITYPE=INFO(2) ! CHECK THE PARAMETERS FOR PROBLEMS AND RETURN FROM THE SUBROUTINE IF AN ERROR IS FOUND ! IF(...) CALL TYPECK(-4,INFO,0,"BAD PARAMETER #",0) ! PERFORM ANY REQUIRED CALCULATIONS TO SET THE INITIAL VALUES OF THE OUTPUTS HERE ! Qevaeff OUT(1)=0 ! COPeff OUT(2)=0 ! Qcool OUT(3)=0 ! Theatout OUT(4)=0 ! Tcoolin OUT(5)=0 ! Tcoolout OUT(6)=0 ! Tchillout OUT(7)=0 ! FreshWater OUT(8)=0 ! Id OUT(9)=0 ! Overalleff OUT(10)=0 ! SpecEnergy OUT(11)=0 ! Ratio_LG OUT(12)=0 ! PERFORM ANY REQUIRED CALCULATIONS TO SET THE INITIAL STORAGE VARIABLES HERE NITEMS=0 ! STORED(1)=... ! PUT THE STORED ARRAY IN THE GLOBAL STORED ARRAY ! CALL setStorageVars(STORED,NITEMS,INFO) ! RETURN TO THE CALLING PROGRAM RETURN 1 END IF !----------------------------------------------------------------------------------------------------------------------- !----------------------------------------------------------------------------------------------------------------------- ! *** ITS AN ITERATIVE CALL TO THIS COMPONENT *** !----------------------------------------------------------------------------------------------------------------------- !----------------------------------------------------------------------------------------------------------------------- ! RETRIEVE THE VALUES IN THE STORAGE ARRAY FOR THIS ITERATION ! NITEMS= ! CALL getStorageVars(STORED,NITEMS,INFO) ! STORED(1)= !----------------------------------------------------------------------------------------------------------------------- !----------------------------------------------------------------------------------------------------------------------- ! CHECK THE INPUTS FOR PROBLEMS ! IF(...) CALL TYPECK(-3,INFO,'BAD INPUT #',0,0) ! IF(IERROR.GT.0) RETURN 1 !----------------------------------------------------------------------------------------------------------------------- !----------------------------------------------------------------------------------------------------------------------- ! *** PERFORM ALL THE CALCULATION HERE FOR THIS MODEL. *** !----------------------------------------------------------------------------------------------------------------------- ! ADD YOUR COMPONENT EQUATIONS HERE; BASICALLY THE EQUATIONS THAT WILL ! CALCULATE THE OUTPUTS BASED ON THE PARAMETERS AND THE INPUTS. REFER TO ! CHAPTER 3 OF THE TRNSYS VOLUME 1 MANUAL FOR DETAILED INFORMATION ON ! WRITING TRNSYS COMPONENTS. ! Reading from mappa_ABS.txt OPEN(1,FILE=mappaABS,STATUS='OLD',ACTION='READ',IOSTAT=istatus) IF(istatus==0) THEN ! the file is open correctly READ(1,*,IOSTAT=istatus)n1,n2,n3 ALLOCATE(flowrate_ratio(n1)) ALLOCATE(theatin_range(n2)) ALLOCATE(tcoolin_range(n3)) ALLOCATE(input(n1*n2*n3,2)) i=1 DO WHILE(i<(n1*n2*n3)+3) SELECT CASE(i) CASE(1) READ(1,*,IOSTAT=istatus)flowrate_ratio(:) i=i+1 CASE(2) READ(1,*,IOSTAT=istatus)theatin_range(:) i=i+1 CASE(3) READ(1,*,IOSTAT=istatus)tcoolin_range(:) i=i+1 CASE DEFAULT READ(1,*,IOSTAT=istatus)input(i-3,:) IF(istatus/=0) THEN WRITE(*,*) 'The file ', mappaABS, ' is not complete' EXIT END IF i=i+1 END SELECT END DO CLOSE(1) ELSE WRITE(*,*) 'The file ', mappaABS, ' does not exist' END IF ALLOCATE(Qmatrix(n2,n3,n1)) ALLOCATE(COPmatrix(n2,n3,n1)) m=1; DO i=1,n1 DO j=1,n2 DO k=1,n3 Qmatrix(j,k,i)=input(m,1) COPmatrix(j,k,i)=input(m,2) m=m+1 END DO END DO END DO DEALLOCATE(input) Qcool=Qevanom/COPnom+Qevanom Lnom=(Qcool*191)/3575 Lratio=mcool/Lnom ! Reading from mappa_HD.txt OPEN(1,FILE=mappaHD,STATUS='OLD',ACTION='READ',IOSTAT=istatus) IF(istatus==0) THEN ! the file is open correctly READ(1,*,IOSTAT=istatus)m1,m2,m3 ALLOCATE(flowrate(m1)) ALLOCATE(tcoolout_range(m2)) ALLOCATE(tsea_range(m3)) ALLOCATE(input(m1*m2*m3,2)) i=1 DO WHILE(i<(m1*m2*m3)+3) SELECT CASE(i) CASE(1) READ(1,*,IOSTAT=istatus)flowrate(:) i=i+1 CASE(2) READ(1,*,IOSTAT=istatus)tcoolout_range(:) i=i+1 CASE(3) READ(1,*,IOSTAT=istatus)tsea_range(:) i=i+1 CASE DEFAULT READ(1,*,IOSTAT=istatus)input(i-3,:) IF(istatus/=0) THEN WRITE(*,*) 'The file ', mappaHD, ' is not complete' EXIT END IF i=i+1 END SELECT END DO CLOSE(1) ELSE WRITE(*,*) 'The file ', mappaHD, ' does not exist' END IF ALLOCATE(Dmatrix(m2,m3,m1)) ALLOCATE(T2matrix(m2,m3,m1)) m=1; DO i=1,m1 DO j=1,m2 DO k=1,m3 Dmatrix(j,k,i)=input(m,1) T2matrix(j,k,i)=input(m,2) m=m+1 END DO END DO END DO DEALLOCATE(input) ! Resolution of the System err=1; NIter=0; DO WHILE(err>=tol.AND.NIter<MaxIter) ! Desalinator deltaD=1; DO WHILE(deltaD>0.01) IF(Tcoolout==Tcoolin) THEN FreshWater=0 Tcoolin=Tsea Tcoolout=Tsea deltaD=0 ELSE FreshWater_old=FreshWater FreshWater=LINT3(m2,m3,m1,tcoolout_range,& tsea_range,flowrate,Dmatrix,Tcoolout,Tsea,mcool) Tcoolin=lint3(m2,m3,m1,tcoolout_range,tsea_range,& flowrate,T2matrix,Tcoolout,Tsea,mcool) deltaD=ABS((FreshWater_old-FreshWater)/FreshWater_old) END IF END DO Tcoolout_old=Tcoolout ! Chiller deltaQ=1 DO WHILE(deltaQ>0.01) IF(Theatin<theatin_range(1)) THEN Tcoolout=Tcoolin Qevaeff=0 COPeff=0 Qcool=0 Qin=0 deltaQ=0 FreshWater=0 ELSE IF(Theatin>theatin_range(n2)) THEN Theatin=theatin_range(n2) END IF Qcool_old=Qcool Qevaeff=lint3(n2,n3,n1,theatin_range,tcoolin_range,& flowrate_ratio,Qmatrix,Theatin,Tcoolin,Lratio) Qevaeff=Qevaeff*Qevanom COPeff=lint3(n2,n3,n1,theatin_range,tcoolin_range,& flowrate_ratio,COPmatrix,Theatin,Tcoolin,Lratio) Qcool=Qevaeff/COPeff+Qevaeff Tcoolout=Tcoolin+Qcool/(mcool*Cpw) Qin=Qcool/(1+COPeff) deltaQ=ABS((Qcool_old-Qcool)/Qcool_old) END IF END DO err=ABS(Tcoolout_old-Tcoolout) NIter=NIter+1 END DO DEALLOCATE(flowrate_ratio) DEALLOCATE(theatin_range) DEALLOCATE(tcoolin_range) DEALLOCATE(Qmatrix) DEALLOCATE(COPmatrix) DEALLOCATE(flowrate) DEALLOCATE(tcoolout_range) DEALLOCATE(tsea_range) DEALLOCATE(Dmatrix) DEALLOCATE(T2matrix) !----------------------------------------------------------------------------------------------------------------------- !----------------------------------------------------------------------------------------------------------------------- !----------------------------------------------------------------------------------------------------------------------- ! SET THE STORAGE ARRAY AT THE END OF THIS ITERATION IF NECESSARY ! NITEMS= ! STORED(1)= ! CALL setStorageVars(STORED,NITEMS,INFO) !----------------------------------------------------------------------------------------------------------------------- !----------------------------------------------------------------------------------------------------------------------- ! REPORT ANY PROBLEMS THAT HAVE BEEN FOUND USING CALLS LIKE THIS: ! CALL MESSAGES(-1,'put your message here','MESSAGE',IUNIT,ITYPE) ! CALL MESSAGES(-1,'put your message here','WARNING',IUNIT,ITYPE) ! CALL MESSAGES(-1,'put your message here','SEVERE',IUNIT,ITYPE) ! CALL MESSAGES(-1,'put your message here','FATAL',IUNIT,ITYPE) !----------------------------------------------------------------------------------------------------------------------- !----------------------------------------------------------------------------------------------------------------------- ! SET THE OUTPUTS FROM THIS MODEL IN SEQUENTIAL ORDER AND GET OUT ! Qevaeff OUT(1)=Qevaeff ! COPeff OUT(2)=COPeff ! Qcool OUT(3)=Qcool ! Theatout OUT(4)=Theatin-Qin/(Cpw*mheat) ! Tcoolin OUT(5)=Tcoolin ! Tcoolout OUT(6)=Tcoolout ! Tchillout OUT(7)=Tchillin-Qevaeff/(Cpw*mchill) ! FreshWater OUT(8)=FreshWater ! Id OUT(9)=(FreshWater*310)/Qevaeff ! Overalleff OUT(10)=(Qevaeff+FreshWater*310)/Qin ! SpecEnergy OUT(11)=Qcool/(FreshWater*3.6) ! Ratio_LG OUT(12)=1 !----------------------------------------------------------------------------------------------------------------------- ! EVERYTHING IS DONE - RETURN FROM THIS SUBROUTINE AND MOVE ON RETURN 1 CONTAINS DOUBLE PRECISION FUNCTION LINT3(NX,NY,NZ,X,Y,Z,W,X1,Y1,Z1) INTEGER :: NX,NY,NZ !dimensioni dei vettori X, Y DOUBLE PRECISION,DIMENSION(NX) :: X !vettore ascisse della griglia DOUBLE PRECISION,DIMENSION(NY) :: Y !vettore ordinate della griglia DOUBLE PRECISION,DIMENSION(NZ) :: Z !vettore ordinata complessa della griglia DOUBLE PRECISION,DIMENSION(NX,NY,NZ):: W !iper-superficie da interpolare DOUBLE PRECISION :: X1,Y1,Z1 !coordinate di interpolazione INTEGER :: IMIN,JMIN,KMIN !valori coordinate estremo inferiore di interpolazione INTEGER :: I !valori di interpolazione parziale DOUBLE PRECISION :: w11,w12,w21,w22 DOUBLE PRECISION :: w1,w2 IMIN=0 JMIN=0 KMIN=0 !individuazione dell'estremo inferiore !(le ascisse e le ordinate siano vettori di elementi a valore crescente) IF (IMIN==0) THEN DO I=1,NX IF (X(I)>X1) THEN IMIN=I-1 EXIT END IF END DO END IF IF (JMIN==0) THEN DO I=1,NY IF(Y(I)>Y1) THEN JMIN=I-1 EXIT END IF END DO END IF IF (KMIN==0) THEN DO I=1,NZ IF(Z(I)>Z1) THEN KMIN=I-1 EXIT END IF END DO END IF IF (IMIN*JMIN*KMIN==0)THEN WRITE(*,*)"Out of boundary" LINT3=-111.111 RETURN END IF !interpolazioni parziali w11=W(IMIN,JMIN,KMIN)+(X1-X(IMIN))*(W(IMIN+1,JMIN,KMIN)-W(IMIN,JMIN,KMIN))/(X(IMIN+1)-X(IMIN)) w12=W(IMIN,JMIN+1,KMIN)+(X1-X(IMIN))*(W(IMIN+1,JMIN+1,KMIN)-W(IMIN,JMIN+1,KMIN))/(X(IMIN+1)-X(IMIN)) w1=w11+(Y1-Y(JMIN))*(w12-w11)/(Y(JMIN+1)-Y(JMIN)) w21=W(IMIN,JMIN,KMIN+1)+(X1-X(IMIN))*(W(IMIN+1,JMIN,KMIN+1)-W(IMIN,JMIN,KMIN+1))/(X(IMIN+1)-X(IMIN)) w22=W(IMIN,JMIN+1,KMIN+1)+(X1-X(IMIN))*(W(IMIN+1,JMIN+1,KMIN+1)-W(IMIN,JMIN+1,KMIN+1))/(X(IMIN+1)-X(IMIN)) w2=w21+(Y1-Y(JMIN))*(w22-w21)/(Y(JMIN+1)-Y(JMIN)) LINT3=w1+(Z1-Z(KMIN))*(w2-w1)/(Z(KMIN+1)-Z(KMIN)) RETURN END FUNCTION END !-----------------------------------------------------------------------------------------------------------------------
Attachment:
Project.dck
Description: Binary data
Attachment:
Type182.tmf
Description: Binary data
Attachment:
Type182.dll
Description: application/msdownload
7 16 6 2 3 4 5 6 7 8 35 37 39 41 43 45 47 49 51 53 55 57 59 61 63 65 20 22 24 26 28 30 0.035748 33.311169 0.032407 33.915009 0.028839 34.478284 0.025063 35.005776 0.021096 35.501888 0.016953 35.970551 0.038950 34.364842 0.035528 34.944440 0.031885 35.485498 0.028038 35.992671 0.024004 36.470180 0.019800 36.921757 0.042104 35.386240 0.038598 35.942007 0.034878 36.461315 0.030959 36.948650 0.026858 37.408034 0.022593 37.842989 0.045206 36.375909 0.041616 36.908414 0.037817 37.406561 0.033825 37.874642 0.029657 38.316459 0.025330 38.735318 0.048253 37.334516 0.044579 37.844454 0.040700 38.322130 0.036636 38.771614 0.032401 39.196480 0.028012 39.599812 0.051245 38.262831 0.047485 38.750998 0.043528 39.208963 0.039391 39.640562 0.035089 40.049131 0.030638 40.437536 0.054180 39.161708 0.050335 39.628970 0.046299 40.068036 0.042090 40.482494 0.037723 40.875445 0.033211 41.249541 0.057056 40.032063 0.053127 40.479336 0.049014 40.900343 0.044734 41.298425 0.040301 41.676448 0.035729 42.036856 0.059873 40.874860 0.055861 41.303085 0.051672 41.706890 0.047322 42.089364 0.042825 42.453148 0.038194 42.800488 0.062632 41.691093 0.058538 42.101221 0.054275 42.488677 0.049856 42.856306 0.045295 43.206533 0.040606 43.541413 0.065332 42.481770 0.061158 42.874747 0.056821 43.246696 0.052335 43.600228 0.047713 43.937563 0.042967 44.260579 0.067973 43.247904 0.063722 43.624655 0.059313 43.981918 0.054762 44.322082 0.050080 44.647169 0.045278 44.958896 0.070557 43.990498 0.066229 44.351923 0.061751 44.695294 0.057136 45.022789 0.052395 45.336251 0.047540 45.637239 0.073084 44.710538 0.068682 45.057503 0.064137 45.387743 0.059459 45.703238 0.054661 46.005669 0.049753 46.296454 0.075555 45.408989 0.071081 45.742319 0.066470 46.060154 0.061732 46.364291 0.056879 46.656257 0.051919 46.937342 0.077971 46.086782 0.073428 46.407263 0.068753 46.713380 0.063956 47.006768 0.059049 47.288808 0.054039 47.560674 0.048149 32.072791 0.043751 32.824354 0.039021 33.535385 0.033981 34.209974 0.028653 34.851982 0.023059 35.464947 0.052564 33.055913 0.048061 33.784702 0.043231 34.474298 0.038095 35.128761 0.032675 35.751883 0.026995 36.347094 0.056933 34.014304 0.052322 34.720416 0.047388 35.388764 0.042153 36.023352 0.036640 36.627873 0.030871 37.205639 0.061252 34.948145 0.056529 35.631806 0.051488 36.279198 0.046153 36.894244 0.040545 37.480520 0.034686 38.041209 0.065517 35.857700 0.060680 36.519242 0.055530 37.146059 0.050093 37.741969 0.044389 38.310416 0.038440 38.854444 0.069724 36.743302 0.064771 37.383154 0.059512 37.989854 0.053971 38.567095 0.048171 39.118174 0.042132 39.645990 0.073870 37.605353 0.068800 38.224022 0.063431 38.811125 0.057787 39.370209 0.051890 39.904418 0.045761 40.416500 0.077954 38.444309 0.072766 39.042370 0.067286 39.610453 0.061539 40.151931 0.055546 40.669797 0.049327 41.166643 0.081972 39.260680 0.076667 39.838755 0.071077 40.388403 0.065227 40.912847 0.059138 41.414905 0.052830 41.897019 0.085925 40.055008 0.080502 40.613763 0.074803 41.145618 0.068851 41.653620 0.062668 42.140426 0.056271 42.608323 0.089810 40.827877 0.084270 41.368000 0.078463 41.882705 0.072411 42.374865 0.066133 42.846971 0.059650 43.301165 0.093627 41.579890 0.087972 42.102085 0.082058 42.600295 0.075906 43.077216 0.069537 43.535176 0.062967 43.976175 0.097376 42.311667 0.091607 42.816646 0.085588 43.299014 0.079338 43.761293 0.072878 44.205655 0.066224 44.633962 0.101055 43.023840 0.095175 43.512312 0.089052 43.979485 0.082706 44.427711 0.076157 44.859012 0.069420 45.275118 0.104667 43.717047 0.098677 44.189713 0.092452 44.642327 0.086012 45.077079 0.079376 45.495843 0.072557 45.900228 0.108210 44.391917 0.102113 44.849465 0.095789 45.288142 0.089257 45.709980 0.082534 46.116719 0.075637 46.509847 0.058261 31.072763 0.053047 31.943281 0.047402 32.773854 0.041351 33.567957 0.034919 34.328940 0.028131 35.059930 0.063691 31.991058 0.058358 32.840528 0.052596 33.650920 0.046431 34.425734 0.039888 35.168316 0.032995 35.881745 0.069083 32.889952 0.063625 33.718305 0.057742 34.508538 0.051458 35.264168 0.044802 35.988500 0.037799 36.684573 0.074433 33.769464 0.068845 34.576726 0.062836 35.346916 0.056431 36.083526 0.049658 36.789821 0.042544 37.468754 0.079734 34.629665 0.074013 35.415952 0.067874 36.166278 0.061345 36.884106 0.054454 37.572629 0.047227 38.234723 0.084984 35.470676 0.079125 36.236183 0.072854 36.966896 0.066199 37.666228 0.059187 38.337288 0.051847 38.982867 0.090177 36.292670 0.084178 37.037664 0.077772 37.749075 0.070990 38.430242 0.063857 39.084188 0.056402 39.713603 0.095311 37.095856 0.089169 37.820668 0.082628 38.513136 0.075716 39.176513 0.068462 39.813723 0.060891 40.427352 0.100381 37.880489 0.094095 38.585502 0.087417 39.259433 0.080377 39.905428 0.073000 40.526304 0.065315 41.124538 0.105386 38.646858 0.098955 39.332506 0.092140 39.988331 0.084970 40.617377 0.077472 41.222340 0.069672 41.805588 0.110324 39.395282 0.103747 40.062033 0.096795 40.700220 0.089496 41.312768 0.081876 41.902254 0.073962 42.470932 0.115192 40.126110 0.108470 40.774462 0.101381 41.395498 0.093953 41.992014 0.086213 42.566468 0.078185 43.121000 0.119988 40.839713 0.113122 41.470188 0.105897 42.074575 0.098342 42.655536 0.090482 43.215407 0.082343 43.756213 0.124713 41.536481 0.117703 42.149620 0.110343 42.737864 0.102662 43.303750 0.094684 43.849488 0.086433 44.376993 0.129365 42.216818 0.122212 42.813166 0.114719 43.385785 0.106913 43.937077 0.098818 44.469131 0.090458 44.983754 0.133943 42.881138 0.126649 43.461249 0.119024 44.018758 0.111095 44.555935 0.102886 45.074750 0.094418 45.576906 0.066644 30.249198 0.060786 31.217973 0.054405 32.147689 0.047527 33.041278 0.040179 33.901624 0.032391 34.731445 0.072928 31.108789 0.066943 32.058237 0.060435 32.969164 0.053432 33.844560 0.045961 34.687331 0.038052 35.500197 0.079186 31.952863 0.073066 32.882828 0.066426 33.774897 0.059291 34.632104 0.051692 35.457364 0.043659 36.253380 0.085410 32.781367 0.079151 33.691766 0.072371 34.564979 0.065101 35.404059 0.057371 36.211916 0.049210 36.991230 0.091596 33.594290 0.085191 34.485109 0.078268 35.339517 0.070858 36.160583 0.062992 36.951195 0.054701 37.714000 0.097739 34.391643 0.091182 35.262932 0.084112 36.098650 0.076559 36.901866 0.068556 37.675429 0.060132 38.421941 0.103833 35.173479 0.097121 36.025348 0.089900 36.842541 0.082201 37.628105 0.074057 38.384851 0.065499 39.115321 0.109875 35.939881 0.103004 36.772489 0.095628 37.571366 0.087782 38.339521 0.079496 39.079712 0.070803 39.794417 0.115860 36.690955 0.108827 37.504519 0.101295 38.285330 0.093299 39.036350 0.084871 39.760275 0.076041 40.459507 0.121786 37.426843 0.114587 38.221620 0.106898 38.984655 0.098751 39.718843 0.090179 40.426807 0.081212 41.110879 0.127648 38.147712 0.120283 38.924003 0.112434 39.669573 0.104136 40.387254 0.095420 41.079587 0.086317 41.748824 0.133445 38.853753 0.125912 39.611886 0.117903 40.340336 0.109453 41.041856 0.100593 41.718900 0.091353 42.373636 0.139173 39.545174 0.131471 40.285512 0.123303 40.997207 0.114700 41.682926 0.105697 42.345034 0.096321 42.985617 0.144831 40.222207 0.136961 40.945134 0.128632 41.640458 0.119878 42.310751 0.110731 42.958285 0.101221 43.585056 0.150418 40.885101 0.142378 41.591022 0.133890 42.270371 0.124985 42.925617 0.115697 43.558942 0.106052 44.172255 0.155930 41.534119 0.147723 42.223454 0.139075 42.887228 0.130022 43.527815 0.120592 44.147302 0.110814 44.747507 0.073690 29.563185 0.067310 30.614493 0.060324 31.627799 0.052757 32.605548 0.044636 33.550202 0.035993 34.464095 0.080699 30.369881 0.074190 31.403486 0.067072 32.399382 0.059372 33.360107 0.051120 34.288153 0.042346 35.185893 0.087692 31.163964 0.081045 32.179661 0.073789 33.158032 0.065950 34.101670 0.057560 35.013107 0.048651 35.894735 0.094663 31.945351 0.087871 32.942994 0.080469 33.903767 0.072486 34.830315 0.063953 35.725187 0.054904 36.590774 0.101605 32.713984 0.094662 33.693484 0.087108 34.636640 0.078975 35.546127 0.070295 36.424510 0.061103 37.274172 0.108515 33.469831 0.101412 34.431151 0.093701 35.356708 0.085414 36.249208 0.076584 37.111215 0.067246 37.945101 0.115385 34.212886 0.108119 35.156028 0.100246 36.064052 0.091800 36.939676 0.082816 37.785456 0.073329 38.603728 0.122212 34.943154 0.114776 35.868173 0.106737 36.758772 0.098130 37.617663 0.088990 38.447381 0.079351 39.250236 0.128992 35.660669 0.121382 36.567664 0.113173 37.440974 0.104402 38.283305 0.095103 39.097162 0.085311 39.884813 0.135719 36.365491 0.127931 37.254592 0.119550 38.110788 0.110612 38.936760 0.101152 39.734973 0.091207 40.507656 0.142391 37.057687 0.134422 37.929069 0.125866 38.768354 0.116759 39.578191 0.107138 40.361003 0.097037 41.118957 0.149003 37.737356 0.140851 38.591222 0.132118 39.413828 0.122841 40.207777 0.113057 40.975437 0.102802 41.718923 0.155553 38.404607 0.147215 39.241196 0.138304 40.047371 0.128856 40.825694 0.118910 41.578472 0.108498 42.307761 0.162039 39.059574 0.153513 39.879140 0.144422 40.669160 0.134804 41.432137 0.124694 42.170313 0.114127 42.885680 0.168457 39.702396 0.159743 40.505223 0.150472 41.279379 0.140682 42.027301 0.130409 42.751167 0.119687 43.452898 0.174806 40.333233 0.165902 41.119624 0.156451 41.878220 0.146490 42.611391 0.136054 43.321238 0.125178 44.009621 0.079680 28.987788 0.072870 30.109353 0.065375 31.194027 0.057221 32.243863 0.048435 33.260923 0.039049 34.247201 0.087309 29.746891 0.080370 30.852217 0.072744 31.920798 0.064454 32.954752 0.055531 33.956213 0.046009 34.927216 0.094932 30.495577 0.087856 31.584454 0.080089 32.636784 0.071656 33.654768 0.062590 34.640578 0.052925 35.596291 0.102543 31.233766 0.095322 32.306013 0.087405 33.341989 0.078823 34.343942 0.069608 35.314093 0.059795 36.254544 0.110137 31.961384 0.102761 33.016873 0.094689 34.036416 0.085951 35.022321 0.076582 35.976839 0.066616 36.902080 0.117707 32.678380 0.110170 33.717013 0.101935 34.720088 0.093037 35.689963 0.083508 36.628896 0.073386 37.539013 0.125248 33.384710 0.117543 34.406432 0.109140 35.393044 0.100075 36.346925 0.090384 37.270358 0.080102 38.165459 0.132755 34.080351 0.124875 35.085148 0.116300 36.055322 0.107064 36.993286 0.097206 37.901322 0.086761 38.781543 0.140224 34.765299 0.132164 35.753180 0.123411 36.706983 0.114001 37.629129 0.103972 38.521900 0.093362 39.387383 0.147650 35.439553 0.139404 36.410573 0.130469 37.348096 0.120881 38.254552 0.110680 39.132200 0.099902 39.983114 0.155028 36.103140 0.146593 37.057379 0.137472 37.978744 0.127704 38.869650 0.117328 39.732345 0.106381 40.568871 0.162356 36.756094 0.153727 37.693669 0.144418 38.599013 0.134466 39.474539 0.123913 40.322464 0.112797 41.144801 0.169629 37.398472 0.160804 38.319514 0.151303 39.209006 0.141167 40.069336 0.130435 40.902693 0.119147 41.711040 0.176844 38.030331 0.167819 38.935006 0.158125 39.808833 0.147802 40.654172 0.136892 41.473164 0.125432 42.267741 0.183999 38.651752 0.174772 39.540247 0.164882 40.398615 0.154373 41.229173 0.143283 42.034025 0.131651 42.815055 0.191090 39.262826 0.181659 40.135349 0.171574 40.978473 0.160876 41.794479 0.149606 42.585422 0.137802 43.353136 0.084822 28.503390 0.077648 29.685403 0.069718 30.831667 0.061054 31.943878 0.051686 33.023754 0.041644 34.072960 0.092986 29.219621 0.085687 30.386718 0.077626 31.518096 0.068827 32.615517 0.059320 33.680773 0.049137 34.715599 0.101153 29.927134 0.093720 31.079101 0.085518 32.195422 0.076576 33.277934 0.066923 34.328492 0.056593 35.348885 0.109318 30.625854 0.101740 31.762498 0.093391 32.863630 0.084296 33.931151 0.074491 34.966970 0.064008 35.972905 0.117474 31.315706 0.109744 32.436878 0.101238 33.522714 0.091985 34.575192 0.082021 35.596250 0.071380 36.587743 0.125616 31.996634 0.117725 33.102201 0.109055 34.172677 0.099638 35.210079 0.089509 36.216388 0.078705 37.193483 0.133739 32.668580 0.125679 33.758454 0.116839 34.813520 0.107252 35.835847 0.096953 36.827445 0.085982 37.790197 0.141837 33.331508 0.133602 34.405621 0.124585 35.445263 0.114822 36.452542 0.104350 37.429479 0.093207 38.377972 0.149906 33.985383 0.141489 35.043703 0.132290 36.067929 0.122346 37.060204 0.111696 38.022558 0.100379 38.956892 0.157941 34.630190 0.149335 35.672708 0.139949 36.681558 0.129820 37.658892 0.118989 38.606758 0.107495 39.527051 0.165938 35.265920 0.157138 36.292660 0.147560 37.286184 0.137242 38.248669 0.126227 39.182161 0.114553 40.088537 0.173892 35.892580 0.164894 36.903581 0.155119 37.881862 0.144610 38.829606 0.133407 39.748846 0.121552 40.641449 0.181800 36.510179 0.172598 37.505512 0.162625 38.468649 0.151921 39.401775 0.140529 40.306905 0.128490 41.185890 0.189659 37.118745 0.180250 38.098502 0.170073 39.046618 0.159172 39.965259 0.147589 40.856435 0.135366 41.721970 0.197464 37.718312 0.187844 38.682609 0.177462 39.615834 0.166362 40.520148 0.154587 41.397533 0.142179 42.249789 0.205214 38.308931 0.195380 39.257893 0.184790 40.176381 0.173490 41.066534 0.161521 41.930309 0.148926 42.769462