1*59599516SKenneth E. Jansen subroutine genscale(y, x, iBC) 2*59599516SKenneth E. Jansenc 3*59599516SKenneth E. Jansenc---------------------------------------------------------------------- 4*59599516SKenneth E. Jansenc This subroutine calculate the y^+ and eta at inflow and internal face. 5*59599516SKenneth E. Jansenc From these generate the scaling for the inflow data. 6*59599516SKenneth E. Jansenc 7*59599516SKenneth E. Jansenc input: 8*59599516SKenneth E. Jansenc iBC (numnp) : boundary condition code 9*59599516SKenneth E. Jansenc x (numnp,nsd) : node coordinates 10*59599516SKenneth E. Jansenc 11*59599516SKenneth E. Jansenc output: 12*59599516SKenneth E. Jansenc y (numnp,ndof) : initial values of Y variables 13*59599516SKenneth E. Jansenc 14*59599516SKenneth E. Jansenc 15*59599516SKenneth E. Jansenc Elaine Bohr december 2001 16*59599516SKenneth E. Jansenc---------------------------------------------------------------------- 17*59599516SKenneth E. Jansenc 18*59599516SKenneth E. Jansen use spebc 19*59599516SKenneth E. Jansenc use pointer_data 20*59599516SKenneth E. Jansen include "common.h" 21*59599516SKenneth E. Jansen include "mpif.h" 22*59599516SKenneth E. Jansen include "auxmpi.h" 23*59599516SKenneth E. Jansenc 24*59599516SKenneth E. Jansen dimension y(numnp,ndof), iBC(numnp), 25*59599516SKenneth E. Jansen & x(numnp,nsd), velbarR(nfint,nflow) 26*59599516SKenneth E. Jansen dimension ifath(numnp), velbarl(nelint,nshl,nflow), 27*59599516SKenneth E. Jansen & v1(nfint), ymapped(numnp,ndof), 28*59599516SKenneth E. Jansen & shapef(nshl), shgradl(nshl,nsd), 29*59599516SKenneth E. Jansen & xsi(nsd), yintl(nelint,nshl,nflow), 30*59599516SKenneth E. Jansen & flucl(nelint,nshl,nflow), 31*59599516SKenneth E. Jansen & ubarintl(nelint,nshl,nflow), 32*59599516SKenneth E. Jansen & fluc1(npin,nflow), fluc2(npin,nflow), 33*59599516SKenneth E. Jansen & ubar1(npin,nflow), ubar2(npin,nflow) 34*59599516SKenneth E. Jansen integer element, dir 35*59599516SKenneth E. Jansen 36*59599516SKenneth E. Jansen real*8 ymax, displTi, displTr, correction 37*59599516SKenneth E. Jansen real*8 freestream(nflow) 38*59599516SKenneth E. Jansen save deltaint 39*59599516SKenneth E. Jansen 40*59599516SKenneth E. Jansen 41*59599516SKenneth E. Jansenc return 42*59599516SKenneth E. Jansen ymapped(:,2:4)=y(:,1:3) 43*59599516SKenneth E. Jansen ymapped(:,1)=y(:,4) 44*59599516SKenneth E. Jansen ymapped(:,5)=y(:,5) 45*59599516SKenneth E. Jansen 46*59599516SKenneth E. Jansen ubar2 = 0 47*59599516SKenneth E. Jansen fluc2 = 0 48*59599516SKenneth E. Jansen 49*59599516SKenneth E. Jansen ymax = xyn(nfint) 50*59599516SKenneth E. Jansen 51*59599516SKenneth E. Jansenc 52*59599516SKenneth E. Jansenc .... Localizing the solution vector on virtual plane 53*59599516SKenneth E. Jansenc 54*59599516SKenneth E. Jansen 55*59599516SKenneth E. Jansen do i = 1, nelint 56*59599516SKenneth E. Jansen do j = 1, 3 57*59599516SKenneth E. Jansen yintl(i,:,j+1) = y(ien2D(i,:),j) 58*59599516SKenneth E. Jansen enddo 59*59599516SKenneth E. Jansen yintl(i,:,1) = y(ien2D(i,:),4) 60*59599516SKenneth E. Jansen if(nflow.gt.4) then 61*59599516SKenneth E. Jansen do j = 5, nflow 62*59599516SKenneth E. Jansen yintl(i,:,j) = y(ien2D(i,:),j) 63*59599516SKenneth E. Jansen enddo 64*59599516SKenneth E. Jansen endif 65*59599516SKenneth E. Jansen enddo 66*59599516SKenneth E. Jansen 67*59599516SKenneth E. Jansenc 68*59599516SKenneth E. Jansenc .... Finding averaged velocity in spanwise direction 69*59599516SKenneth E. Jansenc for the virtual plane 70*59599516SKenneth E. Jansenc 71*59599516SKenneth E. Jansen 72*59599516SKenneth E. Jansen do i=1,nfint 73*59599516SKenneth E. Jansen velbarR(i,:)=0 74*59599516SKenneth E. Jansen do j=1,imax(i)+1 75*59599516SKenneth E. Jansen call shptet(ipord,xsinfin(i,j,:),shapef(:),shgradl(:,:)) 76*59599516SKenneth E. Jansen do k=1,nshl 77*59599516SKenneth E. Jansen velbarR(i,:)=velbarR(i,:) 78*59599516SKenneth E. Jansen & + yintl(elcnfin(i,j),k,:)*shapef(k) 79*59599516SKenneth E. Jansen enddo 80*59599516SKenneth E. Jansen enddo 81*59599516SKenneth E. Jansen velbarR(i,:)=velbarR(i,:) / (imax(i)+1) 82*59599516SKenneth E. Jansen enddo 83*59599516SKenneth E. Jansen 84*59599516SKenneth E. Jansenc 85*59599516SKenneth E. Jansenc .... Label the nodes that near the BL thickness 86*59599516SKenneth E. Jansenc 87*59599516SKenneth E. Jansen 88*59599516SKenneth E. Jansen if (thetag.eq.0.0) then 89*59599516SKenneth E. Jansen dir = 2 90*59599516SKenneth E. Jansen else 91*59599516SKenneth E. Jansen dir = 4 92*59599516SKenneth E. Jansen endif 93*59599516SKenneth E. Jansen 94*59599516SKenneth E. Jansen v1(1)=10.0 95*59599516SKenneth E. Jansen do i=2,nfint+1 96*59599516SKenneth E. Jansen v1(i)=velbarR(i-1,dir)-0.99*vel 97*59599516SKenneth E. Jansen if((v1(i).gt.0).and.(v1(i-1).le.0)) then 98*59599516SKenneth E. Jansen label=i-1 99*59599516SKenneth E. Jansen go to 200 100*59599516SKenneth E. Jansen endif 101*59599516SKenneth E. Jansen enddo 102*59599516SKenneth E. Jansen label=i-1 103*59599516SKenneth E. Jansen 104*59599516SKenneth E. Jansenc 105*59599516SKenneth E. Jansenc.... Find the BL thickness by means of finding the y coord 106*59599516SKenneth E. Jansenc 107*59599516SKenneth E. Jansen 108*59599516SKenneth E. Jansen 200 continue 109*59599516SKenneth E. Jansen dv=velbarR(label,dir)-velbarR(label-1,dir) 110*59599516SKenneth E. Jansen dy=xyn(label)-xyn(label-1) 111*59599516SKenneth E. Jansen 112*59599516SKenneth E. Jansenc 113*59599516SKenneth E. Jansenc .... Current calculation of bl thickness at recycle plane 114*59599516SKenneth E. Jansenc 115*59599516SKenneth E. Jansen 116*59599516SKenneth E. Jansen if(istep.ne.0) then 117*59599516SKenneth E. Jansen dlast=deltaint 118*59599516SKenneth E. Jansen deltaint=xyn(label-1) 119*59599516SKenneth E. Jansen & + dy*(0.99*vel-velbarR(label-1,dir))/dv 120*59599516SKenneth E. Jansen 121*59599516SKenneth E. Jansenc 122*59599516SKenneth E. Jansenc .... Early transients cause jumpy delta, smooth it. 123*59599516SKenneth E. Jansenc 124*59599516SKenneth E. Jansen 125*59599516SKenneth E. Jansen deltaint=min(1.05*dlast,max(deltaint,0.95*dlast)) 126*59599516SKenneth E. Jansen else 127*59599516SKenneth E. Jansen deltaint=xyn(label-1) 128*59599516SKenneth E. Jansen & + dy*(0.99*vel-velbarR(label-1,dir))/dv 129*59599516SKenneth E. Jansen endif 130*59599516SKenneth E. Jansen 131*59599516SKenneth E. Jansenc 132*59599516SKenneth E. Jansenc .... Deltaint is now the ratio of BL thickness at the interior plane 133*59599516SKenneth E. Jansenc to the BL thickness at the inlet plane 134*59599516SKenneth E. Jansenc 135*59599516SKenneth E. Jansen 136*59599516SKenneth E. Jansen deltaint=min(two*rbltin,max(deltaint,pt5*rbltin)) 137*59599516SKenneth E. Jansen rdelta = deltaint/rbltin 138*59599516SKenneth E. Jansen 139*59599516SKenneth E. Jansenc 140*59599516SKenneth E. Jansenc .... Finding freestream solutions 141*59599516SKenneth E. Jansenc 142*59599516SKenneth E. Jansen 143*59599516SKenneth E. Jansen freestream = 0 144*59599516SKenneth E. Jansen icount = 0 145*59599516SKenneth E. Jansen do i=1, nfint 146*59599516SKenneth E. Jansen if (xyn(i).ge.deltaint) then 147*59599516SKenneth E. Jansen freestream(:) = freestream(:) + velbarR(i,:) 148*59599516SKenneth E. Jansen icount = icount + 1 149*59599516SKenneth E. Jansen endif 150*59599516SKenneth E. Jansen enddo 151*59599516SKenneth E. Jansen freestream = freestream / icount 152*59599516SKenneth E. Jansen 153*59599516SKenneth E. Jansenc 154*59599516SKenneth E. Jansenc .... Putting the freestream values into the average outside the BLT 155*59599516SKenneth E. Jansenc 156*59599516SKenneth E. Jansen 157*59599516SKenneth E. Jansen do i=1, nfint 158*59599516SKenneth E. Jansen if (xyn(i).ge.deltaint) then 159*59599516SKenneth E. Jansen velbarR(i,:) = freestream(:) 160*59599516SKenneth E. Jansen endif 161*59599516SKenneth E. Jansen enddo 162*59599516SKenneth E. Jansen 163*59599516SKenneth E. Jansenc 164*59599516SKenneth E. Jansenc .... Localizing the averaged velocity found above 165*59599516SKenneth E. Jansenc 166*59599516SKenneth E. Jansen 167*59599516SKenneth E. Jansen do i=1,nelint 168*59599516SKenneth E. Jansen do k=1,nshl 169*59599516SKenneth E. Jansen do j=1,nfint-1 170*59599516SKenneth E. Jansen if (thetag.eq.0.0) then 171*59599516SKenneth E. Jansen if ((x(ien2D(i,k),2).ge.xyn(j)) .and. 172*59599516SKenneth E. Jansen & (x(ien2D(i,k),2).le.(xyn(j+1)+0.000001))) then 173*59599516SKenneth E. Jansen tmp = (x(ien2D(i,k),2) - xyn(j)) / 174*59599516SKenneth E. Jansen & (xyn(j+1) - xyn(j)) 175*59599516SKenneth E. Jansen do l=1,nflow 176*59599516SKenneth E. Jansen velbarl(i,k,l) = 177*59599516SKenneth E. Jansen & (velbarR(j+1,l) - velbarR(j,l)) * 178*59599516SKenneth E. Jansen & tmp + velbarR(j,l) 179*59599516SKenneth E. Jansen enddo 180*59599516SKenneth E. Jansen endif 181*59599516SKenneth E. Jansen else 182*59599516SKenneth E. Jansen if ((xcyl(ien2D(i,k),1).ge.xcyl(nrint(j+1),1)) .and. 183*59599516SKenneth E. Jansen & (xcyl(ien2D(i,k),1).le.xcyl(nrint(j),1))) then 184*59599516SKenneth E. Jansen tmp = (xcyl(ien2D(i,k),1) - xcyl(nrint(j+1),1)) / 185*59599516SKenneth E. Jansen & (xcyl(nrint(j),1) - xcyl(nrint(j+1),1)) 186*59599516SKenneth E. Jansen do l=1,nflow 187*59599516SKenneth E. Jansen velbarl(i,k,l) = 188*59599516SKenneth E. Jansen & (velbarR(j,l) - velbarR(j+1,l)) * 189*59599516SKenneth E. Jansen & tmp + velbarR(j+1,l) 190*59599516SKenneth E. Jansen enddo 191*59599516SKenneth E. Jansen endif 192*59599516SKenneth E. Jansen endif 193*59599516SKenneth E. Jansen enddo 194*59599516SKenneth E. Jansen enddo 195*59599516SKenneth E. Jansen enddo 196*59599516SKenneth E. Jansen 197*59599516SKenneth E. Jansenc 198*59599516SKenneth E. Jansenc --- For now only Blasius is coded --- 199*59599516SKenneth E. Jansenc 200*59599516SKenneth E. Jansen 201*59599516SKenneth E. Jansenc 202*59599516SKenneth E. Jansenc .... Calculate fluctuations on elements of internal plane 203*59599516SKenneth E. Jansenc 204*59599516SKenneth E. Jansen 205*59599516SKenneth E. Jansenc flucl = yintl - velbarl 206*59599516SKenneth E. Jansen 207*59599516SKenneth E. Jansenc 208*59599516SKenneth E. Jansenc .... Calculate mean values on elements of internal plane 209*59599516SKenneth E. Jansenc 210*59599516SKenneth E. Jansen 211*59599516SKenneth E. Jansen ubarintl = velbarl 212*59599516SKenneth E. Jansen 213*59599516SKenneth E. Jansenc 214*59599516SKenneth E. Jansenc .... Calculating the coordinates of the point from where the 215*59599516SKenneth E. Jansenc solution will be projected to the inlet plane 216*59599516SKenneth E. Jansenc 217*59599516SKenneth E. Jansen 218*59599516SKenneth E. Jansen 219*59599516SKenneth E. Jansen do i=1,npin 220*59599516SKenneth E. Jansen 221*59599516SKenneth E. Jansenc 222*59599516SKenneth E. Jansenc .... Cartesian coodinate system 223*59599516SKenneth E. Jansenc 224*59599516SKenneth E. Jansen 225*59599516SKenneth E. Jansen if (thetag.eq.0.0) then 226*59599516SKenneth E. Jansen xts1 = x(nen1(i),1) + plandist 227*59599516SKenneth E. Jansen if (xynin(i)*rdelta.gt.ymax) then 228*59599516SKenneth E. Jansen xts2 = ymax 229*59599516SKenneth E. Jansen else 230*59599516SKenneth E. Jansen xts2 = xynin(i)*rdelta 231*59599516SKenneth E. Jansen endif 232*59599516SKenneth E. Jansen xts3 = x(nen1(i),3) 233*59599516SKenneth E. Jansen 234*59599516SKenneth E. Jansenc 235*59599516SKenneth E. Jansenc .... Cylindrical coordinate system 236*59599516SKenneth E. Jansenc 237*59599516SKenneth E. Jansen 238*59599516SKenneth E. Jansen else 239*59599516SKenneth E. Jansen if (xynin(i).le.0.00001) then 240*59599516SKenneth E. Jansen xts1 = (radcyl-xynin(i)*rdelta*sang-tolerence) 241*59599516SKenneth E. Jansen & *cos(xcyl(nen1(i),2)) 242*59599516SKenneth E. Jansen xts2 = (radcyl-xynin(i)*rdelta*sang-tolerence) 243*59599516SKenneth E. Jansen & *sin(xcyl(nen1(i),2)) 244*59599516SKenneth E. Jansen xts3 = (aR-(radcyl-xynin(i)*rdelta*sang-tolerence) 245*59599516SKenneth E. Jansen & * (xnrml*cos(xcyl(nen1(i),2)) 246*59599516SKenneth E. Jansen & + ynrml*sin(xcyl(nen1(i),2))))/znrml 247*59599516SKenneth E. Jansen elseif (xynin(i)*rdelta.gt.ymax) then 248*59599516SKenneth E. Jansen xts1 = (radcyl-ymax*sang) 249*59599516SKenneth E. Jansen & *cos(xcyl(nen1(i),2)) 250*59599516SKenneth E. Jansen xts2 = (radcyl-ymax*sang) 251*59599516SKenneth E. Jansen & *sin(xcyl(nen1(i),2)) 252*59599516SKenneth E. Jansen xts3 = (aR-(radcyl-ymax*sang) 253*59599516SKenneth E. Jansen & * (xnrml*cos(xcyl(nen1(i),2)) 254*59599516SKenneth E. Jansen & + ynrml*sin(xcyl(nen1(i),2))))/znrml 255*59599516SKenneth E. Jansen else 256*59599516SKenneth E. Jansen xts1 = (radcyl-xynin(i)*rdelta*sang) 257*59599516SKenneth E. Jansen & *cos(xcyl(nen1(i),2)) 258*59599516SKenneth E. Jansen xts2 = (radcyl-xynin(i)*rdelta*sang) 259*59599516SKenneth E. Jansen & *sin(xcyl(nen1(i),2)) 260*59599516SKenneth E. Jansen xts3 = (aR-(radcyl-xynin(i)*rdelta*sang) 261*59599516SKenneth E. Jansen & * (xnrml*cos(xcyl(nen1(i),2)) 262*59599516SKenneth E. Jansen & + ynrml*sin(xcyl(nen1(i),2))))/znrml 263*59599516SKenneth E. Jansen endif 264*59599516SKenneth E. Jansen endif 265*59599516SKenneth E. Jansen 266*59599516SKenneth E. Jansenc 267*59599516SKenneth E. Jansenc .... Searching for the appropriate element 268*59599516SKenneth E. Jansenc 269*59599516SKenneth E. Jansen 270*59599516SKenneth E. Jansen call elem_search(xintl, xts1, xts2, xts3, 271*59599516SKenneth E. Jansen & xsi(:), element, 2) 272*59599516SKenneth E. Jansen call shptet(ipord,xsi(:),shapef(:),shgradl(:,:)) 273*59599516SKenneth E. Jansen 274*59599516SKenneth E. Jansenc 275*59599516SKenneth E. Jansenc .... Calculating the average velocity and fluctuations 276*59599516SKenneth E. Jansenc for the inlet plane 277*59599516SKenneth E. Jansenc 278*59599516SKenneth E. Jansen 279*59599516SKenneth E. Jansen do k=1,nshl 280*59599516SKenneth E. Jansen fluc2(i,:)= 0 !fluc2(i,:) + flucl(element,k,:)*shapef(k) 281*59599516SKenneth E. Jansen ubar2(i,:)=ubar2(i,:) + ubarintl(element,k,:)*shapef(k) 282*59599516SKenneth E. Jansen enddo 283*59599516SKenneth E. Jansen enddo 284*59599516SKenneth E. Jansen 285*59599516SKenneth E. Jansen 286*59599516SKenneth E. Jansenc$$$c 287*59599516SKenneth E. Jansenc$$$c keep freestream values set through averages 288*59599516SKenneth E. Jansenc$$$c 289*59599516SKenneth E. Jansenc$$$ ubaro=0 290*59599516SKenneth E. Jansenc$$$ tbaro=0 291*59599516SKenneth E. Jansenc$$$ icount=0 292*59599516SKenneth E. Jansenc$$$ do i=1,nfin 293*59599516SKenneth E. Jansenc$$$ if(yin(i).ge.rbltin) then 294*59599516SKenneth E. Jansenc$$$ nzl=nsons(i) !Elaine 295*59599516SKenneth E. Jansenc$$$ nzb=ienson1(i,1) 296*59599516SKenneth E. Jansenc$$$ nze=nzb+nzl-1 297*59599516SKenneth E. Jansenc$$$ tbaro=tbaro+2.0*ubar2(i,5)+sum(fluc2(nzb:nze,5)) 298*59599516SKenneth E. Jansenc$$$ ubaro=ubaro +sum(fluc2(nzb:nze,2)) 299*59599516SKenneth E. Jansenc$$$ icount=icount+nzl 300*59599516SKenneth E. Jansenc$$$ endif 301*59599516SKenneth E. Jansenc$$$ enddo 302*59599516SKenneth E. Jansenc$$$ 303*59599516SKenneth E. Jansenc$$$c alternative to myway 304*59599516SKenneth E. Jansenc$$$c 305*59599516SKenneth E. Jansenc$$$ ubaro=ubaro/icount 306*59599516SKenneth E. Jansenc$$$ tmeaninflow=0.0625097048890964 307*59599516SKenneth E. Jansenc$$$ fact= tmeaninflow/(tbaro/icount) 308*59599516SKenneth E. Jansenc$$$ if (fact.ge. 0.9999999 .and. fact.le.1.0000001) fact = 1.0 309*59599516SKenneth E. Jansenc$$$ 310*59599516SKenneth E. Jansenc$$$ do i=1,nfin 311*59599516SKenneth E. Jansenc$$$ if(yin(i).ge.rbltin) then 312*59599516SKenneth E. Jansenc$$$ ubar2(i,2)=1.0-ubaro 313*59599516SKenneth E. Jansenc$$$ endif 314*59599516SKenneth E. Jansenc$$$ enddo 315*59599516SKenneth E. Jansen fact = 1.0 316*59599516SKenneth E. Jansen rvscal = 1.0 317*59599516SKenneth E. Jansen 318*59599516SKenneth E. Jansenc 319*59599516SKenneth E. Jansenc .... Putting the freestream value outside the BLT into ubar2 320*59599516SKenneth E. Jansenc 321*59599516SKenneth E. Jansen 322*59599516SKenneth E. Jansen do i = 1, npin 323*59599516SKenneth E. Jansen if (xynin(i).ge.rbltin) then 324*59599516SKenneth E. Jansen ubar2(i,:) = freestream(:) 325*59599516SKenneth E. Jansenc ubar2(i,dir) = 1.0 326*59599516SKenneth E. Jansen fluc2(i,:) = 0 327*59599516SKenneth E. Jansen endif 328*59599516SKenneth E. Jansen enddo 329*59599516SKenneth E. Jansen 330*59599516SKenneth E. Jansenc$$$c 331*59599516SKenneth E. Jansenc$$$c .... For the cylindrical case the freestream velocity needs 332*59599516SKenneth E. Jansenc$$$c to be corrected for the blockage 333*59599516SKenneth E. Jansenc$$$c 334*59599516SKenneth E. Jansenc$$$ 335*59599516SKenneth E. Jansenc$$$ if (thetag.ne.0.0) then 336*59599516SKenneth E. Jansenc$$$ displTi = 0.0 337*59599516SKenneth E. Jansenc$$$ displTr = 0.0 338*59599516SKenneth E. Jansenc$$$ do i = 2, nfint 339*59599516SKenneth E. Jansenc$$$ 340*59599516SKenneth E. Jansenc$$$c 341*59599516SKenneth E. Jansenc$$$c .... Displacement thickness for inlet plane 342*59599516SKenneth E. Jansenc$$$c 343*59599516SKenneth E. Jansenc$$$ 344*59599516SKenneth E. Jansenc$$$ displTi = displTi + (1 - y(nrint(i),3)) 345*59599516SKenneth E. Jansenc$$$ & * (xyn(i) - xyn(i-1)) * (radcyl - xyn(i)) 346*59599516SKenneth E. Jansenc$$$ 347*59599516SKenneth E. Jansenc$$$c 348*59599516SKenneth E. Jansenc$$$c .... Displacement thickness for recycle plane 349*59599516SKenneth E. Jansenc$$$c 350*59599516SKenneth E. Jansenc$$$ 351*59599516SKenneth E. Jansenc$$$ displTr = displTr + (1 - velbarR(i,4)) 352*59599516SKenneth E. Jansenc$$$ & * (xyn(i) - xyn(i-1)) * (radcyl - xyn(i)) 353*59599516SKenneth E. Jansenc$$$ enddo 354*59599516SKenneth E. Jansenc$$$c displTi = radcyl - sqrt(radcyl*radcyl - displTi) 355*59599516SKenneth E. Jansenc$$$c displTr = radcyl - sqrt(radcyl*radcyl - displTr) 356*59599516SKenneth E. Jansenc$$$ correction = (radcyl*radcyl - displTr) 357*59599516SKenneth E. Jansenc$$$ & / (radcyl*radcyl - displTi) 358*59599516SKenneth E. Jansenc$$$ else 359*59599516SKenneth E. Jansen correction = 1.0 360*59599516SKenneth E. Jansenc$$$ endif 361*59599516SKenneth E. Jansen 362*59599516SKenneth E. Jansenc 363*59599516SKenneth E. Jansenc .... Scaled plane extraction boundary condition 364*59599516SKenneth E. Jansenc 365*59599516SKenneth E. Jansen 366*59599516SKenneth E. Jansen ymapped(nen1(1:npin),1)= correction * (ubar2(:,1)+fluc2(:,1)) 367*59599516SKenneth E. Jansen ymapped(nen1(1:npin),2)= correction * 368*59599516SKenneth E. Jansen & (ubar2(:,2)+fluc2(:,2)) !myway *factu 369*59599516SKenneth E. Jansen ymapped(nen1(1:npin),3)= correction * 370*59599516SKenneth E. Jansen & (ubar2(:,3)+fluc2(:,3))*rvscal 371*59599516SKenneth E. Jansen ymapped(nen1(1:npin),4)= correction * (ubar2(:,4)+fluc2(:,4)) 372*59599516SKenneth E. Jansenc & freestream(4) 373*59599516SKenneth E. Jansen ymapped(nen1(1:npin),5)= correction * fact*(ubar2(:,5)+fluc2(:,5)) 374*59599516SKenneth E. Jansen 375*59599516SKenneth E. Jansen 376*59599516SKenneth E. Jansen 377*59599516SKenneth E. Jansenc 378*59599516SKenneth E. Jansenc .... Ready to put the solution on the inflow plane 379*59599516SKenneth E. Jansenc 380*59599516SKenneth E. Jansen 381*59599516SKenneth E. Jansen if(intpres.eq.1) then !interpolating pressure at inflow 382*59599516SKenneth E. Jansen where (btest(iBC,11)) 383*59599516SKenneth E. Jansen y(:,1) = ymapped(:,2) 384*59599516SKenneth E. Jansen y(:,2) = ymapped(:,3) 385*59599516SKenneth E. Jansen y(:,3) = ymapped(:,4) 386*59599516SKenneth E. Jansen y(:,4) = ymapped(:,1) 387*59599516SKenneth E. Jansen y(:,5) = ymapped(:,5) 388*59599516SKenneth E. Jansen endwhere 389*59599516SKenneth E. Jansen else ! not interpolating pressure at inflow 390*59599516SKenneth E. Jansen where (btest(iBC,11)) 391*59599516SKenneth E. Jansen y(:,1) = ymapped(:,2) 392*59599516SKenneth E. Jansen y(:,2) = ymapped(:,3) 393*59599516SKenneth E. Jansen y(:,3) = ymapped(:,4) 394*59599516SKenneth E. Jansen y(:,5) = ymapped(:,5) 395*59599516SKenneth E. Jansen endwhere 396*59599516SKenneth E. Jansen endif 397*59599516SKenneth E. Jansen 398*59599516SKenneth E. Jansenc 399*59599516SKenneth E. Jansenc debugging variables 400*59599516SKenneth E. Jansenc 401*59599516SKenneth E. Jansenc if(iter.eq.nitr) then 402*59599516SKenneth E. Jansenc write(555,556)lstep+1,deltaint,label,nfint 403*59599516SKenneth E. Jansenc write(554,556)lstep+1,yplusi(2),ypluso(2),factu,factt,gamt 404*59599516SKenneth E. Jansenc call flush(554) 405*59599516SKenneth E. Jansenc call flush(555) 406*59599516SKenneth E. Jansenc endif 407*59599516SKenneth E. Jansenc 556 format(i6,5(2x,e14.7)) 408*59599516SKenneth E. Jansenc 409*59599516SKenneth E. Jansenc.... return 410*59599516SKenneth E. Jansenc 411*59599516SKenneth E. Jansen 412*59599516SKenneth E. Jansen return 413*59599516SKenneth E. Jansen end 414