xref: /phasta/phSolver/common/setBlowing_Duct3.f (revision 712d3df0b59ebebaaeaea358162c8d2c043c6e08)
1*10167291SKenneth E. Jansenc..............................................................................
2*10167291SKenneth E. Jansenc  set jet inlet velocity, temperature, and SA variable with fixed value on the geometry with truncted jet path
3*10167291SKenneth E. Jansen        subroutine setBlowing_Duct3(x,BC,iTurbWall)
4*10167291SKenneth E. Jansen
5*10167291SKenneth E. Jansen        use blowingDuct
6*10167291SKenneth E. Jansen        use readarrays ! for qold
7*10167291SKenneth E. Jansen        include "common.h"
8*10167291SKenneth E. Jansen        include "mpif.h"
9*10167291SKenneth E. Jansen        include "auxmpi.h"
10*10167291SKenneth E. Jansen        integer i, nn
11*10167291SKenneth E. Jansen        real*8 BC(nshg,ndofBC)
12*10167291SKenneth E. Jansen        real*8 x(nshg,nsd)
13*10167291SKenneth E. Jansen
14*10167291SKenneth E. Jansen        real Temp,veloMag,xcoor,ycoor,zcoor,rz,ratio_s
15*10167291SKenneth E. Jansen        real*8 x_begin,y_begin,x_end,y_end,jetnx,jetny
16*10167291SKenneth E. Jansen        real*8 edge_length, edge_s
17*10167291SKenneth E. Jansen        integer isfID
18*10167291SKenneth E. Jansen        integer iTurbWall(nshg)
19*10167291SKenneth E. Jansen
20*10167291SKenneth E. Jansen        allocate(jetinletf(nshg))
21*10167291SKenneth E. Jansen        isfID=isetBlowing_Duct
22*10167291SKenneth E. Jansen        call sfID2np(isfID,njetinlet,jetinletf)
23*10167291SKenneth E. Jansenc... above, find jet inlet nodes
24*10167291SKenneth E. Jansen        if(myrank.eq.0)write(*,*)'Blowing Vel:',BlowingVelDuct
25*10167291SKenneth E. Jansen
26*10167291SKenneth E. Jansenc.. jet inlet plane geometric parameters
27*10167291SKenneth E. Jansen            x_begin = -0.0100093419234682
28*10167291SKenneth E. Jansen            y_begin = -0.0456888187657512
29*10167291SKenneth E. Jansen            x_end   = -0.00982113237765022
30*10167291SKenneth E. Jansen            y_end   = -0.04627072277068951
31*10167291SKenneth E. Jansen            jetnx   = 0.951470142380476
32*10167291SKenneth E. Jansen            jetny   = 0.307741073239299
33*10167291SKenneth E. Jansen            edge_length =
34*10167291SKenneth E. Jansen     &         sqrt(abs((x_end-x_begin)**2+(y_end-y_begin)**2))
35*10167291SKenneth E. Jansen
36*10167291SKenneth E. Jansen        if(njetinlet .gt. 0)then
37*10167291SKenneth E. Jansen          do i=1,njetinlet
38*10167291SKenneth E. Jansen            nn=jetinletf(i)
39*10167291SKenneth E. Jansen            if(iTurbWall(nn).eq.0)then
40*10167291SKenneth E. Jansenc---------------------------------------------------
41*10167291SKenneth E. Jansen              if(iDuctgeometryType.eq.6)then
42*10167291SKenneth E. Jansen                xcoor=x(nn,1)
43*10167291SKenneth E. Jansen                ycoor=x(nn,2)
44*10167291SKenneth E. Jansen                zcoor=x(nn,3)
45*10167291SKenneth E. Jansen
46*10167291SKenneth E. Jansenc----Geometry6 Condajet
47*10167291SKenneth E. Jansenc the jet inlet velocity profile is as a plug profile
48*10167291SKenneth E. Jansenc in z direction and a 1-(s-1)^10 profile along the
49*10167291SKenneth E. Jansenc inlet projection in x-y plane, in which s varies
50*10167291SKenneth E. Jansenc from 0 to 2 as the point on the jet inlet moving from one end to the other end
51*10167291SKenneth E. Jansen
52*10167291SKenneth E. Jansen                if(zcoor<(-0.05715+1.0e-3))then
53*10167291SKenneth E. Jansen                 rz=(zcoor+0.05715)/1.0e-3
54*10167291SKenneth E. Jansen                elseif(zcoor>(0.05715-1.0e-3))then
55*10167291SKenneth E. Jansen                 rz=(0.05715-zcoor)/1.0e-3
56*10167291SKenneth E. Jansen                else
57*10167291SKenneth E. Jansen                 rz=1.0
58*10167291SKenneth E. Jansen                endif
59*10167291SKenneth E. Jansenc...
60*10167291SKenneth E. Jansen                edge_s=2*
61*10167291SKenneth E. Jansen     $    sqrt(abs((xcoor-x_begin)**2+(ycoor-y_begin)**2))/edge_length
62*10167291SKenneth E. Jansen
63*10167291SKenneth E. Jansen                ratio_s=1-(edge_s-1)**20
64*10167291SKenneth E. Jansen
65*10167291SKenneth E. Jansen                Temp=317.0
66*10167291SKenneth E. Jansen                veloMag=200.0*max(0.0,min(1.0,ratio_s))
67*10167291SKenneth E. Jansen
68*10167291SKenneth E. Jansen                BC(nn,2) = Temp   ! Temp
69*10167291SKenneth E. Jansen                BC(nn,3) = veloMag*jetnx   ! set x velocity
70*10167291SKenneth E. Jansen                BC(nn,4) = veloMag*jetny   ! set y velocity
71*10167291SKenneth E. Jansen                BC(nn,5) = 0 ! set zVel=0
72*10167291SKenneth E. Jansen
73*10167291SKenneth E. Jansen                BC(nn,2) = qold(nn,5)   ! Temp
74*10167291SKenneth E. Jansen                BC(nn,3) = 0   ! set x velocity
75*10167291SKenneth E. Jansen                BC(nn,4) = qold(nn,3)   ! set y velocity
76*10167291SKenneth E. Jansen                BC(nn,5) = 0 ! set zVel=0
77*10167291SKenneth E. Jansen                BC(nn,7) = qold(nn,6)
78*10167291SKenneth E. Jansen              endif
79*10167291SKenneth E. Jansen
80*10167291SKenneth E. Jansenc-----Geometry8--------------------------------------------
81*10167291SKenneth E. Jansen              if (iDuctgeometryType .eq. 8) then
82*10167291SKenneth E. Jansen                 BC(nn,2) = 317 ! Temp
83*10167291SKenneth E. Jansen                 BC(nn,3) = BlowingVelDuct*0.882947592858928   ! set x velocity
84*10167291SKenneth E. Jansen                 BC(nn,4) = BlowingVelDuct*0.46947156278589    ! set y velocity
85*10167291SKenneth E. Jansen                 BC(nn,5) = 0   ! set zVel=0
86*10167291SKenneth E. Jansen                 BC(nn,7) = 1.825e-5   ! set varSA = 0
87*10167291SKenneth E. Jansen              endif
88*10167291SKenneth E. Jansen            endif
89*10167291SKenneth E. Jansen          enddo
90*10167291SKenneth E. Jansen        endif
91*10167291SKenneth E. Jansen
92*10167291SKenneth E. Jansen        return
93*10167291SKenneth E. Jansen        end
94*10167291SKenneth E. Jansen
95