xref: /phasta/phSolver/compressible/setBlowing_Duct2.f (revision 178603657237c122e977041f94e6448e6c2fef12)
1*17860365SKenneth E. Jansenc================================================================
2*17860365SKenneth E. Jansenc Set jet inlet BCs based on contraction mdot dynamically,
3*17860365SKenneth E. Jansenc called by itrdrv.f
4*17860365SKenneth E. Jansenc ===============================================================
5*17860365SKenneth E. Jansen
6*17860365SKenneth E. Jansen        subroutine setBlowing_Duct2(x,BC,y,iTurbWall,istp)
7*17860365SKenneth E. Jansen
8*17860365SKenneth E. Jansen        use blowingDuct ! njetinlet, jetinletf
9*17860365SKenneth E. Jansen        use timedata ! varts data
10*17860365SKenneth E. Jansen        include "common.h"
11*17860365SKenneth E. Jansen        include "mpif.h"
12*17860365SKenneth E. Jansen        include "auxmpi.h"
13*17860365SKenneth E. Jansen        integer istp
14*17860365SKenneth E. Jansen        integer i, nn
15*17860365SKenneth E. Jansen        real*8 xcoor,ycoor,zcoor
16*17860365SKenneth E. Jansen        real*8 BC(nshg,ndofBC)
17*17860365SKenneth E. Jansen        real*8 x(nshg,nsd)
18*17860365SKenneth E. Jansen        real*8 y(nshg,ndof)
19*17860365SKenneth E. Jansen        real*8 yVel, Temp, pres, mdot, rho, Area
20*17860365SKenneth E. Jansen        real*8 xminm,xmaxm,zminm,zmaxm,xlm,zlm
21*17860365SKenneth E. Jansen        real rx,rz
22*17860365SKenneth E. Jansen        integer isfID
23*17860365SKenneth E. Jansen        real*8 contraPres, contraTemp, contraXVel, contraRho,
24*17860365SKenneth E. Jansen     &         contraArea, contraMdot
25*17860365SKenneth E. Jansen        real*8 blowingPres,blowingTemp,blowingRho,blowingArea,
26*17860365SKenneth E. Jansen     &         MdotRatio,blowingMdot,blowVel
27*17860365SKenneth E. Jansen        integer contraProbeNo,blowingProbeNo
28*17860365SKenneth E. Jansen        integer iTurbWall(nshg)
29*17860365SKenneth E. Jansen
30*17860365SKenneth E. Jansenc--- The following operations must be fulfilled on each proces because even if
31*17860365SKenneth E. Jansenc--- there is no jet mouth on that process, it can be the host process that contains
32*17860365SKenneth E. Jansenc--- all the varts data
33*17860365SKenneth E. Jansen
34*17860365SKenneth E. Jansen        if(myrank.eq.0)then ! only rank0 process can acess all varts data
35*17860365SKenneth E. Jansen          contraProbeNo=1 ! in xyzts.dat the FIRST probe is at contraction inlet
36*17860365SKenneth E. Jansen          blowingProbeNo=2
37*17860365SKenneth E. Jansen          contraArea=1.17475**2 ! meter^2
38*17860365SKenneth E. Jansen          blowingArea=0.00237064  !meter^2
39*17860365SKenneth E. Jansen
40*17860365SKenneth E. Jansen          contraPres=varts(contraProbeNo,1)
41*17860365SKenneth E. Jansen          contraTemp=varts(contraProbeNo,5)
42*17860365SKenneth E. Jansen          contraXVel=varts(contraProbeNo,2)
43*17860365SKenneth E. Jansen          contraRho =contraPres/(287*contraTemp)
44*17860365SKenneth E. Jansen          contraMdot=contraRho*contraArea*contraXVel !kg/s
45*17860365SKenneth E. Jansen
46*17860365SKenneth E. Jansen          blowingPres=varts(blowingProbeNo,1)
47*17860365SKenneth E. Jansen          blowingTemp=varts(blowingProbeNo,5)
48*17860365SKenneth E. Jansen          blowingRho = blowingPres/(287*blowingTemp)
49*17860365SKenneth E. Jansen
50*17860365SKenneth E. Jansen          MdotRatio =  (BlowingIniMdotDuct) +
51*17860365SKenneth E. Jansen     &   real(istp-1)/real(nBlowingStepsDuct-1)
52*17860365SKenneth E. Jansen     &   *(BlowingFnlMdotDuct-BlowingIniMdotDuct)
53*17860365SKenneth E. Jansen
54*17860365SKenneth E. Jansen          blowingMdot= (MdotRatio/100.0)*contraMdot   ! The absolute value of mdot
55*17860365SKenneth E. Jansen          blowingVel = blowingMdot/(blowingArea*blowingRho)
56*17860365SKenneth E. Jansen          write(*,*)'Blowing Velocity:', blowingVel
57*17860365SKenneth E. Jansen        endif
58*17860365SKenneth E. Jansen
59*17860365SKenneth E. Jansen        call MPI_BARRIER(MPI_COMM_WORLD,ierr)
60*17860365SKenneth E. Jansen        call MPI_BCAST(blowingVel,1,MPI_REAL8,master,
61*17860365SKenneth E. Jansen     &                 MPI_COMM_WORLD,ierr)
62*17860365SKenneth E. Jansen        call MPI_BARRIER(MPI_COMM_WORLD,ierr)
63*17860365SKenneth E. Jansen
64*17860365SKenneth E. Jansen
65*17860365SKenneth E. Jansenc--- Only if current process contains jet inlet nodes
66*17860365SKenneth E. Jansen        if(njetinlet .gt. 0)then
67*17860365SKenneth E. Jansen          do i=1,njetinlet
68*17860365SKenneth E. Jansen            nn=jetinletf(i)
69*17860365SKenneth E. Jansen            if(iTurbWall(nn).eq.0)then
70*17860365SKenneth E. Jansenc            xcoor=x(nn,1)
71*17860365SKenneth E. Jansenc            ycoor=x(nn,2)
72*17860365SKenneth E. Jansenc            zcoor=x(nn,3)
73*17860365SKenneth E. Jansenc            rx=(xcoor-xminm)*(xmaxm-xcoor)/(xlm/2)**2
74*17860365SKenneth E. Jansenc            rz=(zcoor-zminm)*(zmaxm-zcoor)/(zlm/2)**2
75*17860365SKenneth E. Jansenc            rx=max(0.0,rx)
76*17860365SKenneth E. Jansenc            rz=max(0.0,rz)
77*17860365SKenneth E. Jansenc            pres = y(nn,4) ! the quantity updating each time step
78*17860365SKenneth E. Jansenc           Temp = y(nn,5)
79*17860365SKenneth E. Jansenc           rho = pres/(287.0*Temp)
80*17860365SKenneth E. Jansenc              yVel = (blowingMdot/rho/Area)*rx*rz
81*17860365SKenneth E. Jansenc............................
82*17860365SKenneth E. Jansen              BC(nn,2) = 317          ! Temp
83*17860365SKenneth E. Jansen              BC(nn,4) = blowingVel   ! set and scale y velocity
84*17860365SKenneth E. Jansen              BC(nn,3) = 0
85*17860365SKenneth E. Jansen              BC(nn,5) = 0
86*17860365SKenneth E. Jansen              BC(nn,7) = 1.825e-5
87*17860365SKenneth E. Jansen            endif
88*17860365SKenneth E. Jansen          enddo
89*17860365SKenneth E. Jansen
90*17860365SKenneth E. Jansen        endif   ! only if current process contains jet inlet nodes
91*17860365SKenneth E. Jansen
92*17860365SKenneth E. Jansen        return
93*17860365SKenneth E. Jansen        end
94*17860365SKenneth E. Jansen
95