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