DISPLAY
New solver for Non-orthogonal grids
This Q1 allows you to test the new non-orthogonal solver. Several
library cases are available to choose from:
- Potential flow around a cylinder
case 514: y-z plane, non-orthogonal grid
case 515: y-z plane, near-orthogonal grid
- Potential flow around an ellipse
case 521: x-y plane, non-orthogonal grid
case 516: y-z plane, non-orthogonal grid
case 517: y-z plane, near-orthogonal grid
case 530 (modified): potential flow around
a ship's stern
You can decide which case to run
and whether to use the new solver.
ENDDIS
PHOTON USE
p
gr ou x 1
msg velocity vectors
vec x 1
msg -
msg Press to continue
pause
msg contours of velocity potential
con p1 x 1 fi;0.01
vec x 1
msg Press e to END
enduse
text(Use of non-orthogonal solver
title
mesg(Available cases are 514, 515, 516, 517, 521, 530
mesgm(Which case number do you want ?
integer(number)
readvdu(number,int,514)
number
if(number.eq.514) then
goto L514
endif
if(number.eq.515) then
goto L515
endif
if(number.eq.516) then
goto L516
endif
if(number.eq.517) then
goto L517
endif
if(number.eq.521) then
goto L521
endif
if(number.eq.530) then
goto L530
endif
label L514
l(*B514)
l(*clear)
goto start
label L515
l(*B514-515)
l(*B515)
l(*clear)
goto start
label L516
l(*B514-516)
l(*B516)
l(*clear)
goto start
label L517
l(*B514-517)
l(*B517)
l(*clear)
goto start
label L521
l(*B521)
l(*clear)
view(k,1)
goto start2
label L530
#B530)
l(*clear)
darcy=t
patch(resist,volume,1,nx,1,ny,1,nz,1,1)
coval(inlet,p1,fixp,1.0)
coval(inlet,w1,onlyms,0.0)
coval(outlet,p1,fixp,0.0)
coval(resist,u1,1.e1,0.0)
coval(resist,v1,1.e1,0.0)
coval(resist,w1,1.e1,0.0)
inlety1=skip
inlety2=skip
wall=skip
water=skip
relax(p1,linrlx,1.0)
fiinit(p1)=0.5;fiinit(w1)=1.e-6
liter(u1)=1;liter(v1)=1;liter(w1)=1
view(k,5)
goto start2
label start
view(i,1)
label start2
dtfals(u1)=1.e20;dtfals(v1)=1.e20;dtfals(w1)=1.e20
itabl=1;lsweep=1000
endit(p1)=-1.0
output(p1,y,y,y,y,y,y)
lsweep=200
UWATCH=T
ISOLZ=0;ISOLX=0;ISOLY=0
LITER(P1)=-2000
NNORSL=F
mesgm(Use new solver for nonort grids? (y/n)
readvdu(ans,char,n)
if(:ans:.eq.y) then
NNORSL=T
nnorsl
mesgm(Nonort solver will be used
endif
SELREF=f
mesgm(resref(p1) = :resref(p1):
mesgm(Use self-selection of reference residuals? (y/n)
readvdu(ans,char,n)
if(:ans:.eq.y) then
resfac=1.0e-5
SELREF=t
selref
mesgm(Resfac is :resfac: If not OK insert desired value
readvdu(resfac,real,:resfac:)
mesgm(Resfac is :resfac:
endif
q1quit=t