PHOTON USE
x;x1;;
rot z ang 90;gr y m;gr z 1;gr z m
msg( 3D corrugated circular pipe
pause
x;x2;;
up x;gr y m;gr ou z 1;gr ou z m
msg( 3D helically coiled pipe
pause
x;x3;;
msg( 3D snail-like chamber
gr z 1;gr z m;gr y m;pause
x;x4;;
up z;gr z m;gr ou z 1;gr y m
msg( 3D igloo
ENDUSE
>>>>>>>>>>>>>>>>>>>>>> Comment begins >>>>>>>>>>>>>>>>>>>>
DISPLAY
This input file is the one of the series of three
"sample-kits". It concerns the generation of four 3D BFC
grids to be fitted with: corrugated circular pipe,
helically coiled pipe, snail-like chamber and "igloo"
object.
The problem is wholly focused on calculation of grid
corner coordinates. Therefore, no other functions are
supported by input data.
It is arranged as unsteady problem: at each time moment
the new BFC grid is PLANTed and dumped into specified
file to be viewed by PHOTON.
ENDDIS
PLANT information :
* Data input groups used: 6
* Ground groups planted : 19-2
* Headings used : MXYZ??
* Functions used : None
* Commands used : IF
<<<<<<<<<<<<<<<<<<<<<<< Comment ends <<<<<<<<<<<<<<<<<<<<<
TEXT( Analytical BFC grids : 3D sample-kit.
GROUP 2. Transience; time-step specification
STEADY=F
GRDPWR(T,4,4.,1.0)
GROUP 6. Body-fitted coordinates or grid distortion
NX=25;NY=16;NZ=60
BFC=T
NAMSAT=MOSG
PLANTBEGIN
1. 3D corrugated circular pipe
---------------------------
REAL(LENGTH,TWOPI,LITTLER)
LENGTH=10.0
LITTLER=1.0;TWOPI=2.0*3.14157
XC=ABS(COS(:LENGTH:*FLOAT(K-1)/FLOAT(NZ)))+$
:LITTLER:*FLOAT(J-1)/FLOAT(NY)*$
COS(:TWOPI:*FLOAT(I-1)/FLOAT(NX))
YC=ABS(COS(:LENGTH:*FLOAT(K-1)/FLOAT(NZ)))+$
:LITTLER:*FLOAT(J-1)/FLOAT(NY)*$
SIN(:TWOPI:*FLOAT(I-1)/FLOAT(NX))
ZC=:LENGTH:*FLOAT(K-1)/FLOAT(NZ)
IF(ISTEP.EQ.1.AND.ISWEEP.EQ.1)
>>>>>>>>>>>>>>>>>>>>>> Comment begins >>>>>>>>>>>>>>>>>>>>
The above three statements contain rather lengthy
algebraic formulae. All together they provide the
calculation of cartesian coordinates for cell corners of
the grid fitted the corrugated circular pipe of 1m
diameter and 10m length, as can be seen by PHOTON. The
grid is uniform in both direction. The generation is
made at the first sweep of the first time step.
<<<<<<<<<<<<<<<<<<<<<<< Comment ends <<<<<<<<<<<<<<<<<<<<<
2. 3D helically coiled pipe
-------------------------
REAL(LITLER)
LITLER=0.25
XC=:LITLER:*FLOAT(J-1)/FLOAT(NY)*$
COS(:TWOPI:*FLOAT(I-1)/FLOAT(NX))+$
COS(4.75*6.28314*FLOAT(K-1)/FLOAT(NZ))
YC=:LITLER:*FLOAT(J-1)/FLOAT(NY)*$
SIN(:TWOPI:*FLOAT(I-1)/FLOAT(NX))+$
SIN(4.75*6.2831*FLOAT(K-1)/FLOAT(NZ))
ZC= 5.5*FLOAT(K-1)/FLOAT(NZ)
IF(ISTEP.EQ.2.AND.ISWEEP.EQ.1)
>>>>>>>>>>>>>>>>>>>>>> Comment begins >>>>>>>>>>>>>>>>>>>>
The above three statements perform the corresponding
functions for the generation of the uniform grid fitted
the helically coiled pipe of 0.25 m diameter. It is made
at the first sweep of the second time step.
<<<<<<<<<<<<<<<<<<<<<<< Comment ends <<<<<<<<<<<<<<<<<<<<<
3. 3D snail-like chamber
---------------------
REAL(LITR)
LITR=1.0
RG(1)=TWOPI
XC=:LITR:*FLOAT(J-1)/FLOAT(NY)*$
(COS(RG(1)*FLOAT(I-1)/FLOAT(NX))+$
RG(1)*FLOAT(I-1)/FLOAT(NX)*$
SIN(RG(1)*FLOAT(I-1)/FLOAT(NX)))
YC=:LITR:*FLOAT(J-1)/FLOAT(NY)*$
(SIN(RG(1)*FLOAT(I-1)/FLOAT(NX))-$
RG(1)*FLOAT(I-1)/FLOAT(NX)*$
COS(RG(1)*FLOAT(I-1)/FLOAT(NX)))
ZC=10.*FLOAT(K-1)/FLOAT(NZ)
IF(ISTEP.EQ.3.AND.ISWEEP.EQ.1)
>>>>>>>>>>>>>>>>>>>>>> Comment begins >>>>>>>>>>>>>>>>>>>>
At the first sweep of the third time step the generation
of the snail-like chamber is made governed by above
formulae.
<<<<<<<<<<<<<<<<<<<<<<< Comment ends <<<<<<<<<<<<<<<<<<<<<
4. 3D igloo
--------
XC=:LITR:*FLOAT(J-1)/FLOAT(NY)*$
COS(:TWOPI:*FLOAT(I-1)/FLOAT(NX))
YC=:LITR:*FLOAT(J-1)/FLOAT(NY)*$
SIN(:TWOPI:*FLOAT(I-1)/FLOAT(NX))
ZC=:LITR:*FLOAT(K-1)/FLOAT(NZ)*$
0.5*(SIN(:TWOPI:*$
FLOAT(J-1)/FLOAT(NY))+1)
IF(ISTEP.EQ.4.AND.ISWEEP.EQ.1)
>>>>>>>>>>>>>>>>>>>>>> Comment begins >>>>>>>>>>>>>>>>>>>>
At the first sweep of the fourth time step the
generation of the last grid of the series is made
governed by above formulae.
<<<<<<<<<<<<<<<<<<<<<<< Comment ends <<<<<<<<<<<<<<<<<<<<<
PLANTEND
SPEDAT(SET,GXMONI,TRANSIENT,L,F)
CSG1=PHI;CSG2=XYZ;LSWEEP=1;IDISPA=1
SOLVE(MARK)
dmpstk=t
DISTIL=T;
EX(MARK)=1.000E-10
LIBREF=608
STOP