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 >>>>>>>>>>>>>>>>>>>>>> Comment begins >>>>>>>>>>>>>>>>>>>> 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 PLANT information : * Data input groups used: 11, 19 * Ground groups planted : 11, 19-6 * Headings used : INIT??, SC06?? * Functions used : SPHERE * Commands used : IF, REGION <<<<<<<<<<<<<<<<<<<<<<< Comment ends <<<<<<<<<<<<<<<<<<<<< GROUP 1. Run title and other preliminaries TEXT( DRILling BOX: CARTES =T STEADY=F GRDPWR(T,4,4.,1.0) GROUP 3. X-direction grid specification GRDPWR(X,40,20.,1.0) GROUP 4. Y-direction grid specification GRDPWR(Y,40,20.,1.0) GROUP 5. Z-direction grid specification GRDPWR(Z,40,20.,1.0) GROUP 7. Variables stored, solved & named STORE(MARK) GROUP 11. Initialization of variable or porosity fields iniadd=f NAMSAT=MOSG FIINIT(MARK)=1.0 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) >>>>>>>>>>>>>>>>>>>>>> Comment begins >>>>>>>>>>>>>>>>>>>> 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) >>>>>>>>>>>>>>>>>>>>>> Comment begins >>>>>>>>>>>>>>>>>>>> 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 >>>>>>>>>>>>>>>>>>>>>> Comment begins >>>>>>>>>>>>>>>>>>>> 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 >>>>>>>>>>>>>>>>>>>>>> Comment begins >>>>>>>>>>>>>>>>>>>> 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 15. Termination of sweeps LSWEEP=1 SPEDAT(SET,GXMONI,TRANSIENT,L,F) GROUP 23. Print-out & plot control idispa=1;csg1=p dmpstk=t The next statement is needed, for version 3.3, to ensure that the mark-setting sequences are entered for the later time steps. DISTIL=T EX(MARK)=8.742E-01 LIBREF=602 STOP