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