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 Pressto 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