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