CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   Phoenics (http://www.cfd-online.com/Forums/phoenics/)
-   -   How to use q1 and ground file? (http://www.cfd-online.com/Forums/phoenics/51248-how-use-q1-ground-file.html)

zheh September 7, 2001 08:45

How to use q1 and ground file?
 
Hello!

Request for your help.

I have read a lecture about the gas/particle two phase flow simulation, and it provided the q1 and ground.for file. What should I do to finish the simulation if I use the above q1 file and modified ground.for file.

Eager for your help!

Kike September 7, 2001 09:50

Re: How to use q1 and ground file?
 
Dear Zheh

Your question is so general that it is too difficult to answer (for me at least). Please be precise in what you want to know.

Nevertheless, to answer your questions I can tell you the following. If you are working in Windows try to use the "Task Manager" to finish your simulation; if you are working in Unix enviroment then you have more options but "top" could be a usefull program to manage your process.

Regards

Kike

zheh September 7, 2001 22:39

Re: How to use q1 and ground file?
 
Dear Kike:

Thank you for your acknowledgment.

My problem: (1).In Win98 system. (2).q1 and ground.for file in the following accessories. (3).How to continue the simulation if i use the above q1 and ground.for file(compile and link for instance). (4).thanks a lot in advance.

Accessories:

q1 file

TALK=T;RUN( 1, 1)

**LOAD(14) from the PHOENICS Input Library

Special-14: Always-valid character declarations and settings

NODET=T

Declarations CHAR(ASK,ANS,CLS,PAUSE,UNIGRID) CHAR(SPELL,EXPRT,EQUALVEL,SOLIDMAT,FLUIDMAT,USE_PR OPS,IMMERSOL,MFM) CHAR(GENTRA,SOLVEL,SOLTEM,GRAVITY,SOLSTR,ASLP0,FLU ID,CPVNAM,SPPNAM) char(solvetem) Settings ASK=Y;ANS=N;solvetem=n;EQUALVEL=$W100;PAUSE=$13;UN IGRID=$50 SPELL=$20; CLS=$21; EXPRT=$30; SOLIDMAT=$70; FLUIDMAT=$71 USE_PROPS=$72; SOLVEL=$73; IMMERSOL=$R001; MFM=$L099 GENTRA=$G001; GRAVITY=$74; SOLSTR=$S001; SOLTEM=$51; ASLP0=$P030 FLUID=FIINIT(PRPS) NODEF=F LIBREF=14 ************************************************** **********

Q1 created by GENERAL menu, Version 3.3, Date 24/07/00 CHAR(CPVNAM); CPVNAM=GENERAL ************************************************** ********** IRUNN = 1 ;LIBREF = 14 ************************************************** ********** Group 1. Run Title TEXT(2D GAS/SOLIDS FLOW IN A CFB. ) ************************************************** ********** Group 2. Transience STEADY = F

*Set overall time and no.of steps TFIRST=0.000E+00 TLAST=GRND LSTEP=9999 ************************************************** ********** Groups 3, 4, 5 Grid Information

* Overall number of cells, RSET(M,NX,NY,NZ,tolerance) RSET(M,30,100,1,1.000E-05)

* Set overall domain extent:

* xulast yvlast zwlast name XSI= 6.400E-02; YSI= 1.000E+00; ZSI= 1.000E+00; RSET(D,OVERALL )

*Set objectTs: x0 y0 z0

* dx dy dz name XPO= 0.000E+00;YPO= 0.000E+00;ZPO= 0.000E+00 XSI= 1.600E-02;YSI= 1.000E+00;ZSI= 1.000E+00;RSET(B,REGION1) XPO= 1.600E-02;YPO= 0.000E+00;ZPO= 0.000E+00 XSI= 1.600E-02;YSI= 1.000E+00;ZSI= 1.000E+00;RSET(B,REGION2) XPO= 3.200E-02;YPO= 0.000E+00;ZPO= 0.000E+00 XSI= 3.200E-02;YSI= 1.000E+00;ZSI= 1.000E+00;RSET(B,REGION3) RSET(X,1,8,1.3) RSET(X,2,8,-1.3) RSET(X,3,14,1.1) ************************************************** ********** Group 6. Body-Fitted coordinates ************************************************** ********** Group 7. Variables: STOREd,SOLVEd,NAMEd ONEPHS = F *Non-default variable names NAME(34) =MVF2 NAME(35) =MTE2;NAME(36) =MVE2 NAME(37) =XS;NAME(38) =PS NAME(39) =DVDY;NAME(40) =DUDY NAME(41) =DVDX;NAME(42) =DUDX NAME(43) =DIVU;NAME(44) =PRL NAME(45) =CFIP;NAME(46) =SIZE NAME(47) =PRPS;NAME(48) =CD NAME(49) =VREL;NAME(50) =REYN * Solved variables list SOLVE(P1 ,U1 ,U2 ,V1 ,V2 ,R1 ,R2 ,C2 ) * Stored variables list STORE(REYN,VERL,CD ,PRPS,SIZE,CFIP,PRL) STORE(DIVU,DUDX,DVDX,DUDY,DVDY,PS ,XS ,MVE2,MTE2,MVF2) ************************************************** ********** Group 8. Terms & Devices

* Y in TERMS argument list denotes:

* 1-built-in source 2-convection 3-diffusion 4-transient

* 5-first phase variable 6-interphase transport TERMS(R1 ,Y,Y,N,Y,Y,N) TERMS(R2 ,Y,Y,N,Y,N,N) ************************************************** ********** Group 9. Properties SETPRPS(1, 0) RHO1 = 1.189E+00 PRESS0 = 1.000E+05 RHO2 = 1.600E+03 ENUL = 1.510E-05 TURMOD(SGSMOD) PRDNTL(R1)= 1.000E+10;PRDNTL(R2)= 1.000E+10 PRDNTL(U1)= 1.000E+00;PRDNTL(V1)= 1.000E+00 PRDNTL(U2)= GRND;PRDNTL(V2)= GRND PRDNTL(C2)= GRND PRT(R1)= 1.000E+10;PRT(R2)= 1.000E+10 PRT(U1)= 1.000E+00;PRT(V1)= 1.000E+00 PRT(U2)= 1.000E+10;PRT(V2)= 1.000E+10 PRT(C2)= 1.000E+10 ************************************************** ********** Group 10.Inter-Phase Transfer Processes CFIPS = GRND7 RLOLIM = 1.000E-06;CMDOT = 0.000E+00 CFIPA = 1.000E-03;CFIPB = 6.000E-05 CFIPC = 0.000E+00;CFIPD =7.000E+00 ************************************************** ********** Group 11.Initialise Var/Porosity Fields FIINIT(R1 ) = 1.000E+00 ;FIINIT(R2 ) = 0.000E+00 FIINIT(C2 ) = 0.000E+00

PATCH(B1 ,INIVAL, 17, 30, 1, 4, 1, 1, 1, 1) INIT(B1 ,PRPS, 0.000E+00, 1.980E+02) PATCH(B2 ,INIVAL, 17, 25, 7, 70, 1, 1, 1, 1) INIT(B2 ,PRPS, 0.000E+00, 1.980E+02) PATCH(B3 ,INIVAL, 17, 23, 71, 94, 1, 1, 1, 1) INIT(B3 ,PRPS, 0.000E+00, 1.980E+02) PATCH(B4 ,INIVAL, 17, 22, 95, 97, 1, 1, 1, 1) INIT(B4 ,PRPS, 0.000E+00, 1.980E+02) PATCH(B5 ,INIVAL, 28, 30, 7, 70, 1, 1, 1, 1) INIT(B5 ,PRPS, 0.000E+00, 1.980E+02) PATCH(B6 ,INIVAL, 30, 30, 71, 94, 1, 1, 1, 1) INIT(B6 ,PRPS, 0.000E+00, 1.980E+02)

PATCH(BED ,INIVAL, 1, 16, 1, 5, 1, 1, 1, 1) INIT(BED ,R1 ,0.000E+00, 5.000E-01) INIT(BED ,R2 ,0.000E+00, 5.000E-01)

INIADD = F ************************************************** ********** Group 12. Convection and diffusion adjustments

No PATCHes used for this Group ************************************************** ********** Group 13. Boundary & Special Sources INLET(INN_1 ,SOUTH, 1, 16, 1, 1, 1, 1, 1, LSTEP) VALUE(INN_1 ,P1 ,8.442E-01) VALUE(INN_1 ,P2 ,0.000E+00) VALUE(INN_1 ,U1 ,0.000E+00) VALUE(INN_1 ,U2 ,0.000E+00) VALUE(INN_1 ,V1 ,0.710E+00) VALUE(INN_1 ,V2 ,0.000E+00)

INLET(INN_2 ,EAST, 32, 32, 5, 6, 1, 1, 1, LSTEP) VALUE(INN_2 ,P1 ,1.189E-01) VALUE(INN_2 ,P2 ,0.000E+00) VALUE(INN_2 ,U1 ,-1.000E-01) VALUE(INN_2 ,U2 ,0.000E+00) VALUE(INN_2 ,V1 ,0.000E+00) VALUE(INN_2 ,V2 ,0.000E+00)

OUTLET(OUT ,NORTH, 26, 29, 100, 100, 1, 1, 1, LSTER) COVAL(OUT ,R1 ,FIXFLU ,-2.995E+00) COVAL(OUT ,R2 ,FIXFLU , 0.000E+00)

PATCH(W1 ,WWALL, 1, 1, 1, 100, 1, 1, 1, LSTER) COVAL(W1 ,V1 ,1.000E+00, 0.000E+00) COVAL(W1 ,V2 ,1.000E+00, 0.000E+00) PATCH(W2 ,NWALL, 1, 25, 100, 100, 1, 1, 1, LSTER) COVAL(W2 ,U1 ,1.000E+00, 0.000E+00) COVAL(W2 ,U2 ,1.000E+00, 0.000E+00) PATCH(W3 ,NWALL, 30, 30, 100, 100, 1, 1, 1, LSTER) COVAL(W3 ,U1 ,1.000E+00, 0.000E+00) COVAL(W3 ,U2 ,1.000E+00, 0.000E+00) PATCH(W4 ,EWALL, 30, 30, 95, 100, 1, 1, 1, LSTER) COVAL(W4 ,V1 ,1.000E+00, 0.000E+00) COVAL(W4 ,V2 ,1.000E+00, 0.000E+00)

PATCH(GRAVITY ,PHASEM ,1,NX,1,NY,1,NZ,1,LSTEP) COVAL(GRAVITY ,V1 ,FIXFLU ,-9.81E+00) COVAL(GRAVITY ,V2 ,FIXFLU ,-9.81E+00)

PATCH(DISDR ,VOLUME,1,NX,1,NY,1,NZ,1,LSTEP) COVAL(DISDR ,C2 ,GRND ,0.000E+00)

PATCH(DISS1 ,VOLUME,1,NX,1,NY,1,NZ,1,LSTEP) COVAL(DISS1 ,C2 ,GRND ,0.000E+00) PATCH(DISS2 ,VOLUME,1,NX,1,NY,1,NZ,1,LSTEP) COVAL(DISS2 ,C2 ,FIXFLU ,GRND)

PATCH(PROD1 ,VOLUME,1,NX,1,NY,1,NZ,1,LSTEP) COVAL(PROD1 ,C2 ,FIXFLU ,GRND) PATCH(PROD2 ,VOLUME,1,NX,1,NY,1,NZ,1,LSTEP) COVAL(PROD2 ,C2 ,GRND ,0.000E+00)

PATCH(XSOL ,VOLUME,1,NX,1,NY,1,NZ,1,LSTEP) COVAL(XSOL ,U2 ,FIXFLU ,GRND) COVAL(XSOL ,V2 ,FIXFLU ,GRND)

PATCH(PSOL ,VOLUME,1,NX,1,NY,1,NZ,1,LSTEP) COVAL(PSOL ,U2 ,FIXFLU ,GRND) COVAL(PSOL ,V2 ,FIXFLU ,GRND)

EGWF = F ************************************************** ********** Group 14. Downstream Pressure For PARAB ************************************************** ********** Group 15. Terminate Sweeps LSWEEP = 30 SELREF = T RESFAC = 1.000E-03 ************************************************** ********** Group 16. Terminate Iterations LITER(P1 )= 40 LITER(U1 )= 10;LITER(U2 )= 10 LITER(V1 )= 10;LITER(V2 )= 10 LITER(R1 )= 20;LITER(R2 )= 20 LITER(C2)= 10 ************************************************** ********** Group 17. Relaxation RELAX(P1 ,LINRLX, 5.000000E-01) RELAX(U1 ,LINRLX, 5.000000E-01) RELAX(U2 ,LINRLX, 5.000000E-01) RELAX(V1 ,LINRLX, 5.000000E-01) RELAX(V2 ,LINRLX, 5.000000E-01) RELAX(R1 ,LINRLX, 5.000000E-01) RELAX(R2 ,LINRLX, 5.000000E-01) RELAX(C2 ,LINRLX, 5.000000E-01) ************************************************** ********** Group 18. Limits VARMIN(C2 ) =1.000000E-10 ************************************************** ********** Group 19. EARTH Calls To GROUND Station

* RG(1)-Particle diameter RG(1)=CFIPB

* RG(2)-Restitution Coefficient RG(2)=0.99

* RG(3)-Maximum Solids Volume Fraction RG(3)=0.65

* RG(4)-Courant's number RG(4)=1.00

* RG(5)-Simulation time RG(5)=10

* RG(6)-Start time for time averaging of flow variables RG(6)=8.00

* RG(7)-End time for time averaging of flow variables RG(7)=10.00 ************************************************** ********** Group 20. Preliminary Printout ECHO = T ************************************************** ********** Group 21. Print-out of Variables OUTPUT(P1 ,Y,Y,Y,N,Y,Y) OUTPUT(U1 ,Y,Y,Y,N,Y,Y) OUTPUT(V1 ,Y,Y,Y,N,Y,Y) OUTPUT(W1 ,Y,Y,Y,N,Y,Y) OUTPUT(WDIS,Y,N,N,N,N,N) ************************************************** ********** Group 22. Monitor Print-Out IXMON = 8 ;IYMON = 4 ;IZMON = 1 NPRMNT = 1 TSTSWP = -5 ************************************************** ********** Group 23.Field Print-Out & Plot Control NTPRIN = 500 ************************************************** ********** Group 24. Dumps For Restarts IDISPA = 500 CSG1 = A ************************************************** ********** m STOP

ground.for file

C GROUND-File C GROUP1.Run title and other preliminaries C

1 GO TO(1001,1002,1003),ISC C 1001 CONTINUE C***********GROUP 1 SECTION3*************************** C MODIFIED BY VIDAR MATHIESEN,HiT-TF/TEL-TEK 1998 C----Use this group to create storage via MAKE,GXMAKE etc which it is C essential to dump to PHI(or PHIDA) for restars C User may here change message transmitted to the VDU screen

IF(NULLPR.AND.IDVCGR.EQ.0) THEN

CALL WRYT40('GROUND file is GROUND.F of: 230597')

ELSE

CALL MAKE(XG2D)

CALL MAKE(DXG2D)

CALL MAKE(DYG2D)

WRITE(*,'(A)')''

WRITE(*,'(A)')''

WRITE(*,'(A)')' ----I M P O R T A A N T----'

WRITE(*,'(A)')''

WRITE(*,'(A)')' GROUND file is modified for gas/particle flow'

WRITE(*,'(A)')' including kinetic theory for granular flow'

WRITE(*,'(A)')' by'

WRITE(*,'(A)')' Vidar Mathiesen, HiT-TF/Tel-Tek,01.12.98'

WRITE(*,'(A)')' e-mail:vidar.mathiesen@hit.no'

WRITE(*,'(A)')''

WRITE(*,'(A)')''

ENDIF C

RETURN C *-------GROUP 1 SECTION 3 -------------- C ---Use this group to create storage via GXMAKE which it is not C necesary to dump to PHI(or PHIDA) for restarts C 1003 CONTINUE

GOTO 25 1002 CONTINUE

RETURN C************************************************* ****** C C---GROUP2. Transience; time-step specification C Time step calulation

2 CONTINUE

IF(ISTEP.EQ.1) DT=5.00E-03

IF(ISTEP.EQ.9999) ISTEP=2

IF(TIM.GT.RG(5)) LSTEP=ISTEP

DLMIN=1.000E+10

VMAX=0.000E+00

LXD=L0F(DXG2D)

LYD=L0F(DYG2D)

LU1=L0F(U1)

LU2=L0F(U2)

LV1=L0F(V1)

LV2=L0F(V2)

DO I=1,NX*NY

DLMIN=AMIN1(DLMIN,F(LXD+I),F(LYD+I))

VMAX=AMAX1(VMAX,ABS(F(LU1+I)),ABS(F(LU2+I)),

* ABS(F(LV1+I)),ABS(F(LV2+I)))

END DO

DT=1.05*DT

DT=AMIN1(DT,RG(4))*DLMIN/(VMAX+1.E-10)

RETURN C************************************************* ***** C C---GROUP 9.Properties of the medium(or media) C C The sections in this group are arranged sequentially in their C order of calling from EARTH.Thus,as can be seen from below, C the temperature sections (10 and 11) precede the density C sections (1 and 3);so,density formulae can refer to C temperature stores already set. C

9 GOTO (91,92,93,94,95,96,97,98,99,900,901,902,903,904,90 5),ISC C************************************************* *********** 900 CONTINUE C**********************SECTION 7**************************** C For PRNDTL().LE.GRND---laminar PRANDTL NOS., diffusivity C Index LAMPR C MODIFIED BY VIDAR MATHIESEN,TEL-TEK.1998 C

IF(((PRNDTL(U2).EQ.GRND).AND.(INDVAR.EQ.U2)).OR.

* ((PRNDTL(V2).EQ.GRND).AND.(INDVAR.EQ.V2))) THEN

LXD=L0F(DXG2D)

LYD=L0F(DYG2D)

DLMIN=1.000E+10

DO I=1,NX*NY

DLMIN=AMIN1(DLMIN,F(LXD+I),F(LYD+I))

END DO

LLP=L0F(LAMPR)

LDE2=L0F(DEN2)

LR2=L0F(R2)

LC2=L0F(C2)

DO I=1,NX*NY

G0=1.0/(1.0-(F(LR2+I)/RG(3))**0.333)

LTEM=AMIN1(DLMIN,(RG(1)/(6.*SQRT(2.)* F(LR2+I))))

MDIL=5./16.*F(LDE2+I)*LTEM

* *SQRT(6.2832*F(LC2+I)+1.E-10)

MUS1=(1.+4./5.*(1.+RG(2))*G0*F(LR2+I))**2.

MUS2=4./5.*F(LR2+I)*F(LDE2+I)*RG(1)*G0

* *(1.+RG(2))*SQRT(F(LC2+I)/3.1416+1.E-10)

F(LLP+I)=F(LDE2+I)*ENUL

* /(2.*MDIL*MUS1/((1.+RG(2))*G0)+MUS2)

END DO

ENDIF C C

IF((PRNDTL(C2).EQ.GRND).AND.(INDVAR.EQ.C2)) THEN

LXD=L0F(DXG2D)

LYD=L0F(DYG2D)

DLMIN=1.000E+10

DO I=1,NX*NY

DLMIN=AMIN1(DLMIN,F(LXD+I),F(LYD+I))

END DO

LLP=L0F(LAMPR)

LDE2=L0F(DEN2)

LR2=L0F(R2)

LC2=L0F(C2)

DO I=1,NX*NY

G0=1./(1.-(F(LR2+I)/RG(3))**(0.333))

LTEM=AMIN1(DLMIN,(RG(1)/(6.*SQRT(2.)*F(LR2+I))))

KDIL=75./64.* F(LDE2+I)*LTEM

* *SQRT(6.2832*F(LC2+I)+1.E-10)

K1=(1.+1.2*(1.+RG(2))*G0*F(LR2+I))**2.

K2=2.*F(LR2+I)*F(LDE2+I)*RG(1)*G0*(1.+RG(2))

* *SQRT(F(LC2+I)/3.1416+1.E-10)

F(LLP+I)=F(LDE2+I)*ENUL/(2.*KDIL*K1/((1.+RG(2))*G0)+K2)

END DO

ENDIF

RETURN

98 CONTINUE C********************P**** ********************* ************.******* C C--- GROUP 13. Boundary co11ditions and sPecial sources C Index fOr Coefficient - CO C Index fOr Value - VAL

13 CONTINUE

GOTO(130,131,132,133,134,135,136,137,138,139,1310,

* 1311,1312,1313,1314,1315,1316,1317,1318,1319,1320, 1321),ISC 130 CONTINUE C------------------- SECTION 1 ------------- coefficient=GRND C

IF((NPATCH.EQ.'DISS1').AND.(INDVAR.EQ.C2)) THEN

CALL FNDUDX(LBNAME('DUDX'),U2)

CALL FNDVDY(LBNAME('DVDY'),V2)

LDUDX=L0F(LBNAME('DUDX'))

LDVDY=L0F(LBNAME('DVDY'))

LDI=L0F(LBNAME('DIVU'))

LDE2=L0F(DEN2)

LR2=L0F(R2)

LC2=L0F(C2)

LCO=L0F(CO)

DO I=1,NX*NY

F(LDI+I)=F(LDUDX+I)+F(LDVDY+I)

G0=1./(1.-(F(LR2+I)/RG(3))**(0.333))

DITE=3.*(1.-RG(2)*RG(2))*F(LR2+I)*F(LR2+I)*F(LDE2+I)*G0

DITl=4./RG(1)*SQRT(F(LC2+I)/3.1416+1.E-10)

F(LCO+I)=AMAX1(0.,2.*DITE*(DIT1-F(LDI+I))/3.)

ENDDO

ENDIF C

IF((NPATCH.EQ.'DISDR').AND.(INDVAR.EQ.C2)) THEN

CALL FN2(CO,LBNAME('CFIP'),0.,2.)

END IF C

IF((NPATCH.EQ.'PROD2').AND.(INDVAR.EQ.C2)) THEN

DLMIN=1.000E+10

DO I=1,NX*NY

DLMIN=AMIN1(DLMIN,F(LXD+I),F(LYD+I))

ENDDO

CALL FNDUDX(LBNAME('DUDX'),U2)

CALL FNDVDX(LBNAME('DVDX'),V2)

CALL FNDUDY(LBNAME('DUDY'),U2)

CALL FNDVDY(LBNAME('DVDY'),V2)

LDUDX=L0F(LBNAME('DUDX'))

LDVDX=L0F(LBNAME('DVDX'))

LDUDY=L0F(LBNAME('DUDY'))

LDVDY=L0F(LBNAME('DVDY'))

LDI=L0F(LBNAME('DIVU'))

LPS=L0F(LBNAME('PS'))

LXS=L0F(LBNAME('XS'))

LDE2=L0F(DEN2)

LR2=L0F(R2)

LC2=L0F(C2)

LCO=L0F(CO) C

DO I=1,NX*NY

F(LDI+I)=F(LDUDX+I)+F(LDVDY+I)

G0=1./(1.-(F(LR2+I)/RG(3))**(0.333))

F(LPS+I)=F(LR2+I)*F(LDE2+I)*(1.+2.*(1.+RG(2))*F(LR 2+I)*G0)

* *F(LC2+I)

F(LXS+I)=4./3.*F(LR2+I)*F(LR2+I)*F(LDE2+I)*RG(1)*G0

* *(1.+RG(2))*SQRT(F(LC2+I)/3.1416+1.E-10)

LTEM=AMIN1(DLMIN,(RG(1)/(6.*SQRT(2.)*F(LR2+I))))

MDIL=5./16.*F(LDE2+I)*F(LR2+I)*LTEM

* *SQRT(6.2832*F(LC2+I)+1.E-10)

MUS1=(1.+4./5.*(1.+RG(2))*G0*F(LR2+I))**2.

MUS2=4./5.*F(LR2+I)*F(LR2+I)*F(LDE2+I)*RG(1)*G0

* *(1.+RG(2))*SQRT(F(LC2+I)/3.1416+1.E-10)

MUS=2.*MDIL*MUS1/((1.+RG(2))*G0)+MUS2

F(LCO+I)=AMAX1(0.,-2./3.*(MUS*(

* 2.*((F(LDUDX+I)*F(LDUDX+I)+1.E-10)

* +(F(LDVDY+I)*F(LDVDY+I)+1.E-10))

* +(F(LDUDY+I)+F(LDVDX+I)+1.E-10)

* *(F(LDUDY+I)+F(LDVDX+I)+1.E-10)

* -2./3.*F(LDI+I)*F(LDI+I))

* +F(LDI+I)*(F(LXS+I)*F(LDI+I)-F(LPS+I)))

* /(F(LC2+I)+1.E-10))

END DO

END IF C

RETURN 1311 CONTINUE C------------------- SECTION 12 ------------------- value = GRND C

IF((NPATCH.EQ.'PSOL').AND.(INDVAR.EQ.U2)) THEN

LVA=L0F(VAL)

LPS=L0F(LBNAME('PS'))

LXD=L0F(DXG2D)

DO I=1,NX*NY

F(LVA+I)=-(F(LPS+I+NY)-F(LPS+I))/F(LXD)

END DO

ENDIF C

IF((NPATCH.EQ.'PSOL').AND.(INDVAR.EQ.V2)) THEN

LVA=L0F(VAL)

LPS=L0F(LBNAME('PS'))

LYD=L0F(DYG2D)

DO I=1,NX*NY

F(LVA+I)=-(F(LPS+I+1)-F(LPS+I))/F(LYD)

END DO

ENDIF C

IF((NPATCH.EQ.'XSOL').AND.(INDVAR.EQ.U2)) THEN

LVA=LOF(VAL)

LXS=L0F(LBNAME('XS'))

LXD=L0F(DXG2D)

LDI=L0F(LBNAME('DIVU'))

DO i=1,NX*NY

F(LVA+I)=(F(LXS+I+NY)*F(LDI+I+NY)-F(LXS+I)*F(LDI+I))

* /F(LXD)

END DO

END IF C

IF((NPATCH.EQ.'XSOL').AND.(INDVAR.EQ.V2)) THEN

LVA=L0F(VAL)

LXS=L0F(LBNAME('XS'))

LYD=L0F(DYG2D)

LDI=L0F(LBNAME('DIVU'))

DO I=1,NX*NY

F(LVA+I)=(F(LXS+I+1)*F(LDI+I+1)-F(LXS+I)*F(LDI+I))

* /F(LYD)

END DO

ENDIF C C

IF((NPATCH.EQ.'DISS2').AND.(INDVAR.EQ.C2)) THEN

CALL FNDUDX(LBNAME('DUDX'),U2)

CALL FNDVDY(LBNAME('DVDY'),V2)

LDUDX=L0F(LBNAME('DUDX'))

LDVDY=L0F(LBNAME('DVDY'))

LDE2=L0F(DEN2)

LR2=L0F(R2)

LC2=L0F(C2)

LVA=L0F(VAL)

LDI=L0F(LBNAME('DIVU'))

DO I=1,NX*NY

F(LDI+I)=F(LDUDX+I)+F(LDVDY+I)

G0=1./(1.-(F(LR2+I)/RG(3))**(0.333))

DITE=3.*(1.-RG(2)*RG(2))*F(LR2+I)*F(LR2+I)*F(LDE2+I)*G0

* *F(LC2+I)

DIT1=4./RG(1)*SQRT(F(LC2+I)/3.1416+1.E-10)

F(LVA+I)=AMAX1(0.,-2.*DITE*(DIT1-F(LDI+I))/3.)

END DO

ENDIF C

IF((NPATCH.EQ.'PROD1').AND.(INDVAR.EQ.C2)) THEN

DLM1N=1.000E+10

DO I=1,NX*NY

DLMIN=AMIN1(DLMIN,F(LXD+I),F(LYD+I))

END DO

CALL FNDUDX(LBNAME('DUDX'),U2)

CALL FNDVDX(LBNAME('DVDX'),V2)

CALL FNDUDY(LBNAME('DUDY'),U2)

CALL FNDVDY(LBNAME('DVDY'),V2)

LDUDX=L0F(LBNAME('DUDX'))

LDVDX=L0F(LBNAME('DVDX'))

LDUDY=L0F(LBNAME('DUDY'))

LDVDY=L0F(LBNAME('DVDY'))

LDI=L0F(LBNAME('DIVU'))

LPS=L0F(LBNAME('PS'))

LXS=L0F(LBNAME('XS'))

LDE2=L0F(DEN2)

LR2=L0F(R2)

LC2=L0F(C2)

LVA=L0F(VAL)

DO I=1,NX*NY

F(LDI+I)=F(LDUDX+I)+F(LDVDY+I)

G0=1./(1.-(F(LR2+I)/RG(3))**(0.333))

F(LPS+I)=F(LR2+I)*F(LDE2+I)*(1.+2.*(1.+RG(2))*F(LR 2+I)*G0)

* *F(LC2+I)

F(LXS+I)=4./3.*F(LR2+I)*F(LR2+I)*F(LDE2+I)*RG(1)*G0

* *(1.+RG(2))*SQRT(F(LC2+I)/3.1416+1.E-10)

LTEM=AMIN1(DLMIN,(RG(1)/(6.*SQRT(2.)*F(LR2+I))))

MDIL=5./16.*F(LDE2+I)*F(LR2+I)*LTEM

* *SQRT(6.2832*F(LC2+I)+1.E-10)

MUS1=(1.+4./5.*(1.+RG(2))*G0*F(LR2+I))**2.

MUS2=4./5.*F(LR2+I)*F(LR2+I)*F(LDE2+I)*RG(1)*G0

* *(1.+RG(2))*SQRT(F(lC2+I)/3.1416+1.E-10)

MUS=2.*MDIL*MUS1/((1.+RG(2))*G0)+MUS2

F(LVA+I)=AMAX1(0.,2./3.*(MUS*(

* 2.*((F(LDUDX+I)*F(LDUDX+I)+1.E-10)

* +(F(LDVDY+I)*F(LDVDY+I)+1.E-10))

* +(F(LDUDY+I)+F(LDVDX+I)+1.E-10)

* *(F(LDUDY+I)+F(LDVDX+I)+1.E-10)

* -2./3.*F(LDI+I)*F(LDI+I))

* +F(LDI+I)*(F(LXS+I)*F(LDI+I)-F(LPS+I))))

END DO

ENDIF C

RETURN C C******************************* C C--- GROUP 19. Spccial calls to GROUND from EARTH C

19 GOTO(191,192,193,194,195,196,197,198,199,1910,1911 ),ISC 191 CONTINUE C*************** GROUP 19 SECTION 1 ********** ***** ** ******* ** * C MODIFIED BY VIDAR MATHlESEN, TEL-TEK. l998

IF(ISTEP.EQ.1) THEN

OPEN(99,FILE='mass.dat',STATUS='UNKNOWN',FORM='FOR MATTED')

OPEN(89,FILE='moni.dat',STATUS='UNKNOWN',FORM='FOR MATTED')

ENDIF

RETURN 198 CONTINUE C******************* ***** SECTION 8 ** **#Finish or time stcp. C---CaIculates total mass of cacH pHASE

TMAS1=0.0E0

TMAS2=0.0E0

VMAX=0.0E0

DO IZ=1,NZ

LDE=L0F(DEN1)

LDE2=L0F(DEN2)

LR1=L0F(R1)

LR2=L0F(R2)

LU1=L0F(U1)

LU2=L0F(U2)

LV1=L0F(V1)

LV2=L0F(V2)

L0V=L0F(VOL)

ITE=0

DO I=1,NX*NY

TMAS1=TMAS1+(F(LDE+I)*F(LR1+I)*F(L0V+I))

TMAS2=TMAS2+(F(LDE2+I)*F(LR2+I)*F(L0V+I))

IF(VMAX.LT.AMAX1(ABS(F(LU1+I)),ABS(F(LU2+I)),

* ABS(F(LV1+I)),ABS(F(LV2+I)))) ITE=I

VMAX=AMAX1(VMAX,ABS(F(LU1+I)),ABS(F(LU2+I)),

* ABS(F(LV1+I)),ABS(F(LV2+I)))

END DO

END DO

WRITE(99,'(I7,F9.4,3E16.5,15)')ISTEP,TIM,TMAS1,TMA S2,VMAX,ITE

WRITE(* ,'(I7,F9.4,3E16.5,15)')ISTEP,TIM,TMAS1,TMAS2,VMAX, ITE

IF(ISTEP.EQ.LSTEP) THEN

CLOSE(99)

ENDIF C C---Monitoring flow variables

LR2=L0F(R2)

LU2=L0F(U2)

LV2=L0F(V2)

LC2=L0F(C2)

WRITE(89,'(F9.3,4E16.5)')TIM,F(LR2+820),F(LU2+820) ,F(LV2+820), C

* F(LC2+820)

IF(ISTEP.EQ.LSTEP) THEN

CLOSE(89)

ENDIF C C-----CalcuIation of timc avcragcd fields for volume fraction. C meun a11d RMS vclocity

IF(TIM.GE.RG(6)) THEN

DO IZ=1,NZ

LV2=L0F(V2)

LC2=L0F(C2)

LR2=L0F(R2)

LAV2=L0F(LBNAME('MVE2'))

LAC2=L0F(LBNAME('MTE2'))

LAR2=L0F(LBNAME('MVF2'))

DO I=1,NX*NY

F(LAV2+I)=F(LAV2+I)+F(LV2+I)*DT

F(LAC2+I)=F(LAC2+I)+F(LC2+I)*DT

F(LAR2+I)=F(LAR2+I)+F(LR2+I)*DT

ENDDO

ENDDO

ENDIF C

IF(ISTEP.EQ.LSTEP) THEN

DO IZ=1,NZ

LAV2=L0F(LBNAME('MVE2'))

LAC2=L0F(LBNAME('MTE2'))

LAR2=L0F(LBNAME('MVF2'))

DO I=1,NX*NY

F(LAV2+I)=F(LAV2+I)/(RG(7)-RG(6))

F(LAC2+I)=SQRT(3.*F(LAC2+I)/(RG(7)-RG(6)+1.E-10)+1.E-10)

F(LAR2+I)=F(LAR2+I)/(RG(7)-RG(6)+1.E-10)

ENDDO

OPEN(98,FILE='h016v.dat',STATUS='UNKNOWN',FORM='FO RMATTED')

OPEN(97,FILE='h032v.dat',STATUS='UNKNOWN',FORM='FO RMATTED')

OPEN(96,FILE='h048v.dat',STATUS='UNKNOWN',FORM='FO RMATTED') C

OPEN(95,FILE='h016t.dat',STATUS='UNKNOWN',FORM='FO RMATTED')

OPEN(94,FILE='h032t.dat',STATUS='UNKNOWN',FORM='FO RMATTED')

OPEN(93,FILE='h048t.dat',STATUS='UNKNOWN',FORM='FO RMATTED') C

OPEN(88,FILE='h016r.dat',STATUS='UNKNOWN',FORM='FO RMATTED')

OPEN(87,FILE='h032r.dat',STATUS='UNKNOWN',FORM='FO RMATTED')

OPEN(86,FILE='h048r.dat',STATUS='UNKNOWN',FORM='FO RMATTED')

L0X=L0F(XG2D)

DO IX=1,NX

DO IY=1,NY

I=IY+NY*(IX-1)

IF(IY.EQ.17) THEN

WRITE(98,'(2F13.4)') F(L0X+I),F(LAV2+I)

WRITE(95,'(2F13.4)') F(L0X+I),F(LAC2+I)

WRITE(88,'(2F13.4)') F(L0X+I),F(LAR2+I)

ENDIF

IF(IY.EQ.33) THEN

WRITE(97,'(2F13.4)') F(L0X+I),F(LAV2+I)

WRITE(94,'(2F13.4)') F(L0X+I),F(LAC2+I)

WRITE(87,'(2F13.4)') F(L0X+I),F(LAR2+I)

ENDIF

IF(IY.EQ.49) THEN

WRITE(96,'(2F13.4)') F(L0X+I),F(LAV2+I)

WRITE(93,'(2F13.4)') F(L0X+I),F(LAC2+I)

WRITE(86,'(2F13.4)') F(L0X+I),F(LAR2+I)

ENDIF

ENDDO

ENDDO

CLOSE(98)

CLOSE(97)

CLOSE(96)

CLOSE(95)

CLOSE(94)

CLOSE(93)

CLOSE(88)

CLOSE(87)

CLOSE(86)

ENDDO C

RETURN


Kike September 8, 2001 06:07

Re: How to use q1 and ground file?
 
Dear Zheh

Before reading all this code lines, could you describe us your physical system?, What do you want to simulate?, What are the models you want to consider into the real physical system?

Could you tell us what are the problems you have with the executable?

Regards

Kike

zheh September 9, 2001 03:39

Re: How to use q1 and ground file?
 
Dear Kike:

Thank you for your acknowledgment, and i am so interested in the advice from you.

My aim is to simulate the flow behavior in a cold-flow pilot-scale circulating fluidized bed.

(1).The flow calculation is based on the two-phase gas/particle IPSA in PHOENICS,where the gas as well as the particle are considered as continuums.

(2).under 2 dimension Cartesian Coordinate system.

(3).The flow model is based on an Eulerian description of the phases and the conservation equations for the solid phase are derived from kinetic theory for granular flow.

I should tell you that i want to learn how to use PHOENICS, and the Q1 & ground.f file come from certain lecture. The two files has been copied to the appropriate place in VR-Editor of PHOENICS. What i want to konw is that how to finish the simulation using the above two files.

regards

Zheh

Kike September 9, 2001 05:01

Re: How to use q1 and ground file?
 
Dear Zheh (or Adler)

I have seen (from your questions) you should read once again the information you have with your PHOENICS version and if it is lost (or something else) you can read some details at www.cham.co.uk

I wouldn't like to be misunderstood. I want to help you, but, as far as my experience can tell me, you will need more than a few answers here.

Unfortunately I haven't any experience with the last versions of VR-Editor, but I will suppose you have put the codes in the righ place into the Editor, because you have read the manuals.

(a) If I assume the VR has no changed from version 3.1 (the las I have used) and (b) if you are working from the PC (PHOENICS Commander), then, you can "exit" from the VR-Editor (see the button in the right botton corner). You should see the message: "EARDAT file written". It means that PHOENICS is ready to compute your case.

The VRE windows disappears and you can click on "Earth" button in PC. If everything has been OK then you will see a graphical interface or a text window in which PHOENICS will print some output messages and data.

Lets the code finish the calculations (the windows I mentioned will desappear) and click the VR-Viewer button in PC.

You will see another window where the results of your simulation can be seen. Now, if you want to know the details about how the VR-Viewer works you have two ways to continue: (a) click the buttons to see "what happen" or read the VR-Viewer user manual. Sincerely, I think it is too hard to explain here and you should not forget that today is sunday.

Please, try to avoid what I am doing now. Don't work at sunday, go for a walk with your friends or family. Have a nice day

Regards

Kike


All times are GMT -4. The time now is 16:45.