Design og modellering af metanolanlæg til VEnzin-visionen Bilag
Design og modellering af metanolanlæg til VEnzin-visionen Bilag Design og modellering af metanolanlæg til VEnzin-visionen Bilag
VEnzin.for c:/dna/source/ C C*********************************************************************** C CA FKOMP − INPUT − Flag with the value: CA 1: Initialize the component. CA 2: Initialize with actual system. CA 3: Fluid composition calculation (constant). CA 4: Find residuals. CA 5: Find residuals and check variables. CA 6: Output information about component. CA MDOT − INPUT − Massflows from nodes. CA P − INPUT − Pressure in nodes. CA KOMTY − OUTPUT − Component name. CA ANTPK − OUTPUT − Number of parameters. CA ANTLK − OUTPUT − Number of equations. CA ANTEX − OUTPUT − Number of algebraic independent equations. CA ANTED − OUTPUT − Number of differential independent equations. CA ANTKN − OUTPUT − Number of nodes connected to the component. CA ANTM1 − OUTPUT − Number of massflows in the first conservation of CA mass equation. CA ANTM2 − OUTPUT − Number of massflows in the second. CA DYCOM − OUTPUT − Type of conservation equations (static or dynamic CA mass and internal energy on side 1 and 2 respectively; CA and dynamic solid internal energy). CA MEDIE − IN/OUT − Media (fluid) of the connected nodes. CA The values mean: CA 99 : Water. CA ANTME − OUTPUT − Number of fluids with variable composition. CA RES − OUTPUT − Residuals for the component. C CL K_PAR Parameter description. CL K_LIG Equation description. CL K_BET Condition description. CL K_MED Media description. C C Subroutines : COMINF C CP Programmer : Bent Lorentzen 1994 CP Lab. for Energetics, DTU, Denmark. C*********************************************************************** C C Include the common "environment" C INCLUDE ’ENVIRO.INI’ C C Parameter variables C INTEGER ANTLK, ANTKN, MEDIE(2), & ANTM1, ANTME, VARME(2) DOUBLE PRECISION RES(1), P(2), MDOT(2) CHARACTER*80 KOMTY C C Local variables C INTEGER K_MED(2) CHARACTER*100 K_PAR(1),K_STAT(1) CHARACTER*500 K_LIG(1), K_BET CHARACTER*1000 KOMDSC,K_INP CHARACTER*100 KMEDDS(2) EXTERNAL COMINF C======================================================================= GOTO (100,200,1,400,400,200) FKOMP 1 RETURN C−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− C Component name C−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 100 CONTINUE KOMTY = ’PRES_SEP’ GOTO 9999 C−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− C Component characteristics C−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 200 CONTINUE KOMTY = ’PRES_SEP’ ANTKN = 2 ANTLK = 0 ANTM1 = 2 MEDIE(1) = ANYFLU$ 51/67 19−03−2007
VEnzin.for c:/dna/source/ MEDIE(2) = ANYFLU$ ANTME = 2 VARME(1) = NODE1$ VARME(2) = NODE1$ IF (FKOMP.EQ.6) GOTO 600 ** FKOMP = 3 GOTO 9999 C−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− C Component equations. All in residual form. C Do not include the conservation laws. These are treated automatically C by DNA. C−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 400 CONTINUE C C Pressure balance C c RES(1) = P(1) − P(2) C IF (FKOMP.EQ.5) GOTO 500 GOTO 9999 C−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− C Solution check C−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 500 CONTINUE IF (MDOT(1).LT.−1D−10) GOTO 450 IF (MDOT(2).GT.1D−10) GOTO 450 GOTO 9999 450 FBETI = .FALSE. GOTO 9999 C−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− C Write component information C−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 600 CONTINUE KOMDSC = ’Utility component for seperating nodes which both have $ assigned the pressure. Can also be used as a throttle valve.’ K_BET = ’$\\dot{m}_1 \\gt 0 \\\\ \\dot{m}_2 \\lt 0$’ KMEDDS(1) = ’Fluid in’ KMEDDS(2) = ’Fluid out’ k_INP=’struc dummy PRES_SEP 1 2\\\\ $media 1 STEAM\\\\ $addco m dummy 1 1 t dummy 1 50 p 1 1 p 2 1’ C GOTO 9999 C 9999 CONTINUE RETURN END C======================================================================= C*********************************************************************** SUBROUTINE SET_X(KOMTY,ANTLK,ANTKN,ANTPK,ANTM1,MEDIE,ANTME $ ,VARME,MDOT,P,H,ZC,PAR,RES,X_J,KOMDSC,K_PAR,K_lig,K_bet $ ,KMEDDS,K_inp) C*********************************************************************** C C SETFLOW1 is a model of a control valve. The valve controls massflow C using an error input from a controller. C C*********************************************************************** C CA FKOMP − INPUT − Flag with the value: CA 1: Initialize the component. CA 2: Initialize with actual system. CA 3: Fluid composition calculation (constant). CA 4: Find residuals. CA 5: Find residuals and check variables. CA 6: Output information about component. CA MDOT − INPUT − Massflows from nodes. CA P − INPUT − Pressure in nodes. CA H − INPUT − Enthalpy of massflows. CA ZC − INPUT − Control variables. CA PAR − INPUT − Parameters of the component. CA KOMTY − OUTPUT − Component name. CA ANTPK − OUTPUT − Number of parameters. CA ANTLK − OUTPUT − Number of equations. CA ANTEX − OUTPUT − Number of algebraic independent equations. CA ANTKN − OUTPUT − Number of nodes connected to the component. CA ANTM1 − OUTPUT − Number of massflows in the first conservation of CA mass equation. 52/67 19−03−2007
- Page 271 and 272: 34. Tilføjede komponenter til DNA
- Page 273 and 274: VEnzin.for c:/dna/source/ C C Param
- Page 275 and 276: VEnzin.for c:/dna/source/ CA ANTED
- Page 277 and 278: VEnzin.for c:/dna/source/ IF (MDOT(
- Page 279 and 280: VEnzin.for c:/dna/source/ MMVAR(1)
- Page 281 and 282: VEnzin.for c:/dna/source/ ENDDO DO
- Page 283 and 284: VEnzin.for c:/dna/source/ $fluid O2
- Page 285 and 286: VEnzin.for c:/dna/source/ C−−
- Page 287 and 288: VEnzin.for c:/dna/source/ CA FKOMP
- Page 289 and 290: VEnzin.for c:/dna/source/ ENDDO NIN
- Page 291 and 292: VEnzin.for c:/dna/source/ C Subrout
- Page 293 and 294: VEnzin.for c:/dna/source/ CALL STAT
- Page 295 and 296: VEnzin.for c:/dna/source/ CA 3: Flu
- Page 297 and 298: VEnzin.for c:/dna/source/ C C C M_B
- Page 299 and 300: VEnzin.for c:/dna/source/ C C SETFL
- Page 301 and 302: VEnzin.for c:/dna/source/ C C GASCO
- Page 303 and 304: VEnzin.for c:/dna/source/ RES(5) =
- Page 305 and 306: VEnzin.for c:/dna/source/ c c c E2=
- Page 307 and 308: VEnzin.for c:/dna/source/ C C HEATE
- Page 309 and 310: VEnzin.for c:/dna/source/ $ ’$\\d
- Page 311 and 312: VEnzin.for c:/dna/source/ c 1 = Wat
- Page 313 and 314: VEnzin.for c:/dna/source/ CA 4: Fin
- Page 315 and 316: VEnzin.for c:/dna/source/ CL K_MED
- Page 317 and 318: VEnzin.for c:/dna/source/ CA MEDIE
- Page 319 and 320: VEnzin.for c:/dna/source/ CA −4 :
- Page 321: VEnzin.for c:/dna/source/ C ENDDO E
- Page 325 and 326: VEnzin.for c:/dna/source/ C C 400 C
- Page 327 and 328: VEnzin.for c:/dna/source/ GOTO 9999
- Page 329 and 330: VEnzin.for c:/dna/source/ MEDIE(1)
- Page 331 and 332: VEnzin.for c:/dna/source/ C−−
- Page 333 and 334: VEnzin.for c:/dna/source/ RES(1) =
- Page 335 and 336: VEnzin.for c:/dna/source/ C−−
- Page 337 and 338: VEnzin.for c:/dna/source/ C−−
- Page 339 and 340: 35. Metanol (fluid) til DNA - Fortr
- Page 341 and 342: methanol.for d:/DTU/Eksamensprojekt
- Page 343 and 344: methanol.for d:/DTU/Eksamensprojekt
- Page 345 and 346: methanol.for d:/DTU/Eksamensprojekt
- Page 347 and 348: methanol.for d:/DTU/Eksamensprojekt
- Page 349 and 350: methanol.for d:/DTU/Eksamensprojekt
- Page 351 and 352: methanol.for d:/DTU/Eksamensprojekt
- Page 353 and 354: methanol.for d:/DTU/Eksamensprojekt
- Page 355 and 356: methanol.for d:/DTU/Eksamensprojekt
- Page 357 and 358: methanol.for d:/DTU/Eksamensprojekt
<strong>VEnzin</strong>.for<br />
c:/dna/source/<br />
MEDIE(2) = ANYFLU$<br />
ANTME = 2<br />
VARME(1) = NODE1$<br />
VARME(2) = NODE1$<br />
IF (FKOMP.EQ.6) GOTO 600<br />
** FKOMP = 3<br />
GOTO 9999<br />
C−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−<br />
C Component equations. All in residual form.<br />
C Do not include the conservation laws. These are treated automatically<br />
C by DNA.<br />
C−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−<br />
400 CONTINUE<br />
C<br />
C Pressure balance<br />
C<br />
c RES(1) = P(1) − P(2)<br />
C<br />
IF (FKOMP.EQ.5) GOTO 500<br />
GOTO 9999<br />
C−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−<br />
C Solution check<br />
C−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−<br />
500 CONTINUE<br />
IF (MDOT(1).LT.−1D−10) GOTO 450<br />
IF (MDOT(2).GT.1D−10) GOTO 450<br />
GOTO 9999<br />
450 FBETI = .FALSE.<br />
GOTO 9999<br />
C−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−<br />
C Write component information<br />
C−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−<br />
600 CONTINUE<br />
KOMDSC = ’U<strong>til</strong>ity component for seperating nodes which both have<br />
$ assigned the pressure. Can also be used as a throttle valve.’<br />
K_BET = ’$\\dot{m}_1 \\gt 0 \\\\ \\dot{m}_2 \\lt 0$’<br />
KMEDDS(1) = ’Fluid in’<br />
KMEDDS(2) = ’Fluid out’<br />
k_INP=’struc dummy PRES_SEP 1 2\\\\<br />
$media 1 STEAM\\\\<br />
$addco m dummy 1 1 t dummy 1 50 p 1 1 p 2 1’<br />
C<br />
GOTO 9999<br />
C<br />
9999 CONTINUE<br />
RETURN<br />
END<br />
C=======================================================================<br />
C***********************************************************************<br />
SUBROUTINE SET_X(KOMTY,ANTLK,ANTKN,ANTPK,ANTM1,MEDIE,ANTME<br />
$ ,VARME,MDOT,P,H,ZC,PAR,RES,X_J,KOMDSC,K_PAR,K_lig,K_bet<br />
$ ,KMEDDS,K_inp)<br />
C***********************************************************************<br />
C<br />
C SETFLOW1 is a model of a control valve. The valve controls massflow<br />
C using an error input from a controller.<br />
C<br />
C***********************************************************************<br />
C<br />
CA FKOMP − INPUT − Flag with the value:<br />
CA 1: Initialize the component.<br />
CA 2: Initialize with actual system.<br />
CA 3: Fluid composition calculation (constant).<br />
CA 4: Find residuals.<br />
CA 5: Find residuals and check variables.<br />
CA 6: Output information about component.<br />
CA MDOT − INPUT − Massflows from nodes.<br />
CA P − INPUT − Pressure in nodes.<br />
CA H − INPUT − Enthalpy of massflows.<br />
CA ZC − INPUT − Control variables.<br />
CA PAR − INPUT − Parameters of the component.<br />
CA KOMTY − OUTPUT − Component name.<br />
CA ANTPK − OUTPUT − Number of parameters.<br />
CA ANTLK − OUTPUT − Number of equations.<br />
CA ANTEX − OUTPUT − Number of algebraic independent equations.<br />
CA ANTKN − OUTPUT − Number of nodes connected to the component.<br />
CA ANTM1 − OUTPUT − Number of massflows in the first conservation of<br />
CA mass equation.<br />
52/67<br />
19−03−2007