xref: /phasta/phSolver/compressible/BCprofileKW.f (revision 1028cb6efca847927310d9cad788c50f19ad39f8)
1*1028cb6eSKenneth E. Jansenc-----------------------------------------------------------------------
2*1028cb6eSKenneth E. Jansen        subroutine BCprofileScaleKW(PresBase,VelBase,BC,yold)
3*1028cb6eSKenneth E. Jansen
4*1028cb6eSKenneth E. Jansen        use pvsQbi
5*1028cb6eSKenneth E. Jansen        include "common.h"
6*1028cb6eSKenneth E. Jansen        real*8 PresBase, VelBase
7*1028cb6eSKenneth E. Jansen        real*8 BC(nshg,ndofBC), yold(nshg,ndof)
8*1028cb6eSKenneth E. Jansen        real*8 PresSin, PresAmp, PresFreq
9*1028cb6eSKenneth E. Jansen        real*8 Alpha, AlphaAmp, AlphaFreq
10*1028cb6eSKenneth E. Jansen        integer tsBase, BCdtKW
11*1028cb6eSKenneth E. Jansen
12*1028cb6eSKenneth E. Jansenc        PresFreq=1000 ! frequency in Hz of pressure disturbance
13*1028cb6eSKenneth E. Jansenc        PresAmp=100 ! Amplitude of pressure disturbance
14*1028cb6eSKenneth E. Jansenc        tsBase=100
15*1028cb6eSKenneth E. Jansen        PresSin=PresAmp*sin(two*pi*PresFreq*((lstep-tsBase)+1)*Delt(1)) ! pressure disturbance
16*1028cb6eSKenneth E. Jansenc        AlphaFreq=1000 ! frequency in Hz of changhe in angle of attack
17*1028cb6eSKenneth E. Jansenc        AlphaAmp=1 ! Max angle of attack in degrees
18*1028cb6eSKenneth E. Jansen        Alpha=AlphaAmp*sin(two*pi*AlphaFreq*((lstep-tsBase)+1)*Delt(1)) ! pressure disturbance
19*1028cb6eSKenneth E. Jansen
20*1028cb6eSKenneth E. Jansen        if(BCdtKW.eq.1) then
21*1028cb6eSKenneth E. Jansen          do kk=1,nshg
22*1028cb6eSKenneth E. Jansen            if(ndsurf(kk).eq.801) then ! this means inflow plane of inlet
23*1028cb6eSKenneth E. Jansen
24*1028cb6eSKenneth E. Jansenc              BC(kk,1)=PresBase+PresSin
25*1028cb6eSKenneth E. Jansen              BC(kk,1)=11597+PresSin
26*1028cb6eSKenneth E. Jansen
27*1028cb6eSKenneth E. Jansen            endif
28*1028cb6eSKenneth E. Jansen          enddo
29*1028cb6eSKenneth E. Jansen        else
30*1028cb6eSKenneth E. Jansen          do kk=1,nshg
31*1028cb6eSKenneth E. Jansen            if(ndsurf(kk).eq.801) then ! this means inflow plane of inlet
32*1028cb6eSKenneth E. Jansen
33*1028cb6eSKenneth E. Jansen              BC(kk,3)=VelBase*cos((pi/180)*Alpha)
34*1028cb6eSKenneth E. Jansen              BC(kk,4)=VelBase*sin((pi/180)*Alpha)
35*1028cb6eSKenneth E. Jansen
36*1028cb6eSKenneth E. Jansen            endif
37*1028cb6eSKenneth E. Jansen          enddo
38*1028cb6eSKenneth E. Jansen        endif
39*1028cb6eSKenneth E. Jansen
40*1028cb6eSKenneth E. Jansen        return
41*1028cb6eSKenneth E. Jansen        end
42*1028cb6eSKenneth E. Jansen
43*1028cb6eSKenneth E. Jansenc--------------------------------------------------------------
44*1028cb6eSKenneth E. Jansen        subroutine BCprofileInitKW(PresBase,VelBase,BC)
45*1028cb6eSKenneth E. Jansen
46*1028cb6eSKenneth E. Jansen        use pvsQbi
47*1028cb6eSKenneth E. Jansen        include "common.h"
48*1028cb6eSKenneth E. Jansen        real*8 PresBase, VelBase
49*1028cb6eSKenneth E. Jansen        real*8 PresAmp, PresFreq
50*1028cb6eSKenneth E. Jansen        real*8 AlphaAmp, AlphaFreq
51*1028cb6eSKenneth E. Jansen        real*8 BC(nshg,ndofBC)
52*1028cb6eSKenneth E. Jansen        integer iflagKW
53*1028cb6eSKenneth E. Jansen        integer tsBase, BCdtKW
54*1028cb6eSKenneth E. Jansen
55*1028cb6eSKenneth E. Jansenc        open(unit=789, file='bcprofile.dat',status='unknown')
56*1028cb6eSKenneth E. Jansenc        tsBase=lstep
57*1028cb6eSKenneth E. Jansen        iflagKW=1
58*1028cb6eSKenneth E. Jansen        do kk=1,nshg
59*1028cb6eSKenneth E. Jansen          if(iflagKW.eq.1) then
60*1028cb6eSKenneth E. Jansen            if(ndsurf(kk).eq.801) then
61*1028cb6eSKenneth E. Jansen
62*1028cb6eSKenneth E. Jansen              PresBase=BC(kk,1)
63*1028cb6eSKenneth E. Jansen              VelBase=BC(kk,3)
64*1028cb6eSKenneth E. Jansen              iflagKW=0
65*1028cb6eSKenneth E. Jansen
66*1028cb6eSKenneth E. Jansen            endif
67*1028cb6eSKenneth E. Jansen          endif
68*1028cb6eSKenneth E. Jansen        enddo
69*1028cb6eSKenneth E. Jansenc         close(789)
70*1028cb6eSKenneth E. Jansenc 987     format(i6,3(2x,e14.7))
71*1028cb6eSKenneth E. Jansen
72*1028cb6eSKenneth E. Jansen        return
73*1028cb6eSKenneth E. Jansen        end
74