TALK=T;RUN(1,1) PHOTON USE p p1 vi 1 1 1;rot y ang 30 gr ou x 1 gr ou y 1 gr ou z 1 gr ou x m gr ou y m gr ou z m msg Drilling diagonal tube in a cube msg Please wait ..... surf mark x 0.99 msg Hit Enter to continue pause p p2 msg Drilling the cone in a cube con mark z 20 x 21 40 y 1 m fil;.01 con mark x 20 y 1 m z 21 40 fil;.01 msg Please wait ..... surf mark x 0.99 msg Hit Enter to continue pause p p3 msg Drilling the spherical chamber con mark z 20 x 21 40 y 1 m fil;.01 con mark x 20 y 1 m z 21 40 fil;.01 msg Please wait ..... surf mark x 0.99 msg Hit Enter to continue pause p p4 msg Drilling the junction con mark z m x 1 20 fil;.01 con mark x 20 y 1 m x 1 m fil;.01 con mark y m x 1 20 z 1 m fil;.01 msg Please wait ..... surf mark y 0.99 msg Hit E to finish ENDUSE DISPLAY This input demonstrates the "drilling-milling" technique available in PLANT to generate marker distribution to fit the complex shapes on cartesian grids. The method rests on PLANT ability to handle virtually "live" mathematical expressions as the arguments of its functions. All cases of the file are wholly focused on calculation of marker disributions. Therefore, no other actions are supported by input data. Four different cases, in which the one spherical drill bit is used to get different shapes, are arranged as unsteady problem: at each time moment the new marker distribution is PLANTed calculated and dumped into specified file to be viewed by PHOTON commands supplied ENDDIS PLANTBEGIN 1. Drilling the tube in a cube PATCH(INI1,INIVAL,1,NX,1,NY,1,NZ,1,1)VAL=SPHERE(0.,XG2D,XG2D,XG2D,2.5) INIT (INI1,MARK,0.,GRND) In above settings the coordinates of SPHERE vary with X direction coordinate. For uniform grid it makes the SPHERE function to "drill" the circular diagonal pipe of 2.5 diameter in a cube. Each cell of the pipe has the marker MARK=0.0. <<<<<<<<<<<<<<<<<<<<<<< Comment ends <<<<<<<<<<<<<<<<<<<<< 2. Drilling the cone MARK=1. IF(ISTEP.EQ.2.AND.LSWEEP.EQ.1) MARK=SPHERE(0.,10.,YG2D,10.,0.25*(-YG2D+20.)) IF(ISTEP.EQ.2.AND.LSWEEP.EQ.1) The centre of SPHERE "drill bit" goes verticall upwards along the line of X=10 and Z=10. The "drill" diameter is linearly diminished. It results in conical step-wise fitting. <<<<<<<<<<<<<<<<<<<<<<< Comment ends <<<<<<<<<<<<<<<<<<<<< 3. Drilling spherical chamber MARK=1. IF(ISTEP.EQ.3.AND.LSWEEP.EQ.1) MARK=SPHERE(0.,10.,10.,10.,8.) IF(ISTEP.EQ.3.AND.LSWEEP.EQ.1) MARK=SPHERE(0.,XG2D,16.,10.,2.) REGION(1,20,1,NY,1,NZ,3,3) /LSWEEP.EQ.1 MARK=SPHERE(0.,XG2D,4.,10.,2.) REGION(21,NX,1,NY,1,NZ,3,3) /LSWEEP.EQ.1 The SPHEREs are used to "drill" two cylindrical pipes joining tangentially the spherical chamber at its upper and lower poles. <<<<<<<<<<<<<<<<<<<<<<< Comment ends <<<<<<<<<<<<<<<<<<<<< 4. Drilling the junction MARK=1. IF(ISTEP.EQ.4.AND.LSWEEP.EQ.1) MARK=SPHERE(0.,10.,5.,ZGNZ,3.) REGION(1,NX,1,NY,10,NZ,4,4) /LSWEEP.EQ.1 MARK=SPHERE(0.,10.,15.,ZGNZ,3.) REGION(1,NX,1,NY,10,NZ,4,4) /LSWEEP.EQ.1 MARK=SPHERE(0.,10.,YV2D,10.,3.) REGION(1,NX,10,30,1,NZ,4,4) /LSWEEP.EQ.1 Just three above statements are needed to "drill" in a cube two parallel cylinders joined the vertical pipe of the same diameter. <<<<<<<<<<<<<<<<<<<<<<< Comment ends <<<<<<<<<<<<<<<<<<<<< PLANTEND ************************************************************ Group 1. Run Title and Number ************************************************************ ************************************************************ TEXT( DRILling BOX: CARTES =T ) ************************************************************ ************************************************************ IRUNN = 1 ;LIBREF = 602 ************************************************************ Group 2. Time dependence STEADY = F * Set overall time and no. of steps TFIRST =0. ;TLAST =4. FSTEP = 1 ;LSTEP = 4 TFRAC(1)=0.25 ;TFRAC(2)=0.5 TFRAC(3)=0.75 ;TFRAC(4)=1. ************************************************************ Group 3. X-Direction Grid Spacing CARTES = T NX = 40 XULAST =20. XFRAC(1)=0.025 ;XFRAC(2)=0.05 XFRAC(3)=0.075 ;XFRAC(4)=0.1 XFRAC(5)=0.125 ;XFRAC(6)=0.15 XFRAC(7)=0.175 ;XFRAC(8)=0.2 XFRAC(9)=0.225 ;XFRAC(10)=0.25 XFRAC(11)=0.275 ;XFRAC(12)=0.3 XFRAC(13)=0.325 ;XFRAC(14)=0.35 XFRAC(15)=0.375 ;XFRAC(16)=0.4 XFRAC(17)=0.425 ;XFRAC(18)=0.45 XFRAC(19)=0.475 ;XFRAC(20)=0.5 XFRAC(21)=0.525 ;XFRAC(22)=0.55 XFRAC(23)=0.575 ;XFRAC(24)=0.6 XFRAC(25)=0.625 ;XFRAC(26)=0.65 XFRAC(27)=0.675 ;XFRAC(28)=0.7 XFRAC(29)=0.725 ;XFRAC(30)=0.75 XFRAC(31)=0.775 ;XFRAC(32)=0.8 XFRAC(33)=0.825 ;XFRAC(34)=0.85 XFRAC(35)=0.875 ;XFRAC(36)=0.9 XFRAC(37)=0.925 ;XFRAC(38)=0.95 XFRAC(39)=0.975 ;XFRAC(40)=1. ************************************************************ Group 4. Y-Direction Grid Spacing NY = 40 YVLAST =20. YFRAC(1)=0.025 ;YFRAC(2)=0.05 YFRAC(3)=0.075 ;YFRAC(4)=0.1 YFRAC(5)=0.125 ;YFRAC(6)=0.15 YFRAC(7)=0.175 ;YFRAC(8)=0.2 YFRAC(9)=0.225 ;YFRAC(10)=0.25 YFRAC(11)=0.275 ;YFRAC(12)=0.3 YFRAC(13)=0.325 ;YFRAC(14)=0.35 YFRAC(15)=0.375 ;YFRAC(16)=0.4 YFRAC(17)=0.425 ;YFRAC(18)=0.45 YFRAC(19)=0.475 ;YFRAC(20)=0.5 YFRAC(21)=0.525 ;YFRAC(22)=0.55 YFRAC(23)=0.575 ;YFRAC(24)=0.6 YFRAC(25)=0.625 ;YFRAC(26)=0.65 YFRAC(27)=0.675 ;YFRAC(28)=0.7 YFRAC(29)=0.725 ;YFRAC(30)=0.75 YFRAC(31)=0.775 ;YFRAC(32)=0.8 YFRAC(33)=0.825 ;YFRAC(34)=0.85 YFRAC(35)=0.875 ;YFRAC(36)=0.9 YFRAC(37)=0.925 ;YFRAC(38)=0.95 YFRAC(39)=0.975 ;YFRAC(40)=1. ************************************************************ Group 5. Z-Direction Grid Spacing PARAB = F NZ = 40 ZWLAST =20. ZFRAC(1)=0.025 ;ZFRAC(2)=0.05 ZFRAC(3)=0.075 ;ZFRAC(4)=0.1 ZFRAC(5)=0.125 ;ZFRAC(6)=0.15 ZFRAC(7)=0.175 ;ZFRAC(8)=0.2 ZFRAC(9)=0.225 ;ZFRAC(10)=0.25 ZFRAC(11)=0.275 ;ZFRAC(12)=0.3 ZFRAC(13)=0.325 ;ZFRAC(14)=0.35 ZFRAC(15)=0.375 ;ZFRAC(16)=0.4 ZFRAC(17)=0.425 ;ZFRAC(18)=0.45 ZFRAC(19)=0.475 ;ZFRAC(20)=0.5 ZFRAC(21)=0.525 ;ZFRAC(22)=0.55 ZFRAC(23)=0.575 ;ZFRAC(24)=0.6 ZFRAC(25)=0.625 ;ZFRAC(26)=0.65 ZFRAC(27)=0.675 ;ZFRAC(28)=0.7 ZFRAC(29)=0.725 ;ZFRAC(30)=0.75 ZFRAC(31)=0.775 ;ZFRAC(32)=0.8 ZFRAC(33)=0.825 ;ZFRAC(34)=0.85 ZFRAC(35)=0.875 ;ZFRAC(36)=0.9 ZFRAC(37)=0.925 ;ZFRAC(38)=0.95 ZFRAC(39)=0.975 ;ZFRAC(40)=1. ************************************************************ Group 6. Body-Fitted Coordinates ************************************************************ Group 7. Variables: STOREd,SOLVEd,NAMEd ONEPHS = T NAME(150)=MARK * Y in SOLUTN argument list denotes: * 1-stored 2-solved 3-whole-field * 4-point-by-point 5-explicit 6-harmonic averaging SOLUTN(MARK,Y,N,N,N,N,Y) ************************************************************ 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 DIFCUT =0.5 ;ZDIFAC =1. GALA = F ;ADDDIF = F ISOLX = -1 ;ISOLY = -1 ;ISOLZ = -1 ************************************************************ Group 9. Properties used if PRPS is not stored, and where PRPS = -1.0 if it is! RHO1 =1. ;TMP1 =0. ;EL1 =0. TSURR =0. ;TEMP0 =0. ;PRESS0 =0. DVO1DT =0. ;DRH1DP =0. EMISS =0. ;SCATT =0. RADIA =0. ;RADIB =0. ENUL =1.0E-05 ;ENUT =0. CP1 =1. ;CP2 =1. ************************************************************ Group 10.Inter-Phase Transfer Processes ************************************************************ Group 11.Initial field variables (PHIs) FIINIT(MARK)=1. PATCH(INI1 ,INIVAL, 1, 40, 1, 40, 1, 40, 1, 1) INIT(INI1 ,MARK,0. , GRND ) INIADD = F FSWEEP = 1 NAMFI =CHAM ************************************************************ Group 12. Patchwise adjustment of terms Patches for this group are printed with those for Group 13. Their names begin either with GP12 or & ************************************************************ Group 13. Boundary & Special Sources No PATCHes yet used for this Group XCYCLE = F EGWF = T WALLCO = GRND2 ************************************************************ Group 14. Downstream Pressure For PARAB ************************************************************ Group 15. Terminate Sweeps LSWEEP = 1 ;ISWC1 = 1 LITHYD = 1 ;LITFLX = 1 ;LITC = 1 ;ITHC1 = 1 SELREF = T RESFAC =1.0E-05 ************************************************************ Group 16. Terminate Iterations ************************************************************ Group 17. Relaxation RELAX(MARK,LINRLX,1.) OVRRLX =0. EXPERT = F ;NNORSL = F ************************************************************ Group 18. Limits VARMAX(MARK)=1.0E+10 ;VARMIN(MARK)=-1.0E+10 ************************************************************ Group 19. Data transmitted to GROUND NAMSAT =MOSG PARSOL = F ISG62 = 1 SPEDAT(SET,GXMONI,TRANSIENT,L,F) SPEDAT(SET,GXMONI,PLOTALL,L,T) ************************************************************ Group 20. Preliminary Printout DISTIL = T ;NULLPR = F NDST = 0 DSTTOL =1.0E-02 EX(MARK)=0.8742 ************************************************************ Group 21. Print-out of Variables INIFLD = F ;SUBWGR = F * Y in OUTPUT argument list denotes: * 1-field 2-correction-eq. monitor 3-selective dumping * 4-whole-field residual 5-spot-value table 6-residual table OUTPUT(MARK,Y,N,Y,N,N,N) ************************************************************ Group 22. Monitor Print-Out IXMON = 1 ;IYMON = 1 ;IZMON = 1 NPRMON = 100000 ;NPRMNT = 1 ;TSTSWP = 1 UWATCH = T ;USTEER = T HIGHLO = F ************************************************************ Group 23.Field Print-Out & Plot Control NPRINT = 100000 ;NUMCLS = 5 NTPRIN = 100000 ;ISTPRF = 1 ;ISTPRL = 100000 NXPRIN = -1 ;IXPRF = 1 ;IXPRL = 10000 NYPRIN = -1 ;IYPRF = 1 ;IYPRL = 10000 NZPRIN = -1 ;IZPRF = 1 ;IZPRL = 10000 XZPR = F ;YZPR = F IPLTF = 1 ;IPLTL = -1 ;NPLT = -1 ISWPRF = 1 ;ISWPRL = 100000 ITABL = 3 ;IPROF = 1 ABSIZ =0.5 ;ORSIZ =0.4 NTZPRF = 1 ;NCOLPF = 50 ICHR = 2 ;NCOLCO = 45 ;NROWCO = 20 No PATCHes yet used for this Group ************************************************************ Group 24. Dumps For Restarts SAVE = T ;NOWIPE = F NSAVE =CHAM IDISPA = 1 ;IDISPB = 0 ;IDISPC = 0 CSG1 ='P' STOP