Skip to content

Commit

Permalink
Estou rodando o gravity wave para atualizar os resultados no artigo.
Browse files Browse the repository at this point in the history
Vi que as velocidades estavam altas, desfiz alterações no pressure e no transporte. Agora está coerente
  • Loading branch information
HfCunha committed Feb 26, 2019
1 parent 0621bf2 commit 260c7d7
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 16 deletions.
16 changes: 5 additions & 11 deletions Pressure.f90
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,6 @@ Subroutine Pressure(HydroParam,MeshParam,dt)
type(MeshGridParam) :: MeshParam
type(HydrodynamicParam) :: HydroParam

!HydroParam%iBarot = 0
HydroParam%PBarc = 0.d0
! 1. Define the Cell centered Horizontal Eddy-Viscosity:
If (HydroParam%iBarot == 1) Then ! User-defined Horizontal Diffusion
!!$OMP parallel do default(none) shared(MeshParam,HydroParam) private(iLayer,iEdge,l,r,iLayer_bar,NearZero,dt)
Expand All @@ -30,24 +28,20 @@ Subroutine Pressure(HydroParam,MeshParam,dt)

Do iLayer = HydroParam%Smallm(iEdge), HydroParam%CapitalM(iEdge)
If ( r == 0 .or. HydroParam%H(iEdge) <= HydroParam%PCRI+NearZero) Then
HydroParam%PBarc(iLayer,iEdge) = 0.d0
HydroParam%PBarc(iLayer,iEdge) = 0.
Else
HydroParam%PBarc(iLayer,iEdge) = 0.d0
If (iLayer>=HydroParam%ElSmallm(l).and.iLayer>=HydroParam%ElSmallm(r)) Then
HydroParam%PBarc(iLayer,iEdge) = 0.
If (iLayer>=HydroParam%ElSmallm(l).and.iLayer>=HydroParam%ElSmallm(r)) Then
Do iLayer_bar=iLayer,HydroParam%CapitalM(iEdge)
If (iLayer_bar==iLayer) Then
HydroParam%PBarc(iLayer,iEdge) = HydroParam%PBarc(iLayer,iEdge) + HydroParam%g*dt/(MeshParam%CirDistance(iEdge)*HydroParam%rho0)*0.5d0*((HydroParam%Theta*HydroParam%sDRhoW(iLayer_bar,r)+(1.-HydroParam%Theta)*HydroParam%sDRhoWt(iLayer_bar,r))-(HydroParam%Theta*HydroParam%sDRhoW(iLayer_bar,l)+(1.-HydroParam%Theta)*HydroParam%sDRhoWt(iLayer_bar,l)))!(HydroParam%sDRhoW(iLayer_bar,r)-HydroParam%sDRhoW(iLayer_bar,l))*HydroParam%DZj(iLayer_bar,iEdge) !HydroParam%g*dt/(MeshParam%CirDistance(iEdge)*HydroParam%rho0)*0.5*(HydroParam%sDRhoW(iLayer_bar,r)-HydroParam%sDRhoW(iLayer_bar,l))*HydroParam%DZj(iLayer_bar,iEdge)
HydroParam%PBarc(iLayer,iEdge) = HydroParam%PBarc(iLayer,iEdge) + HydroParam%g*dt/(MeshParam%CirDistance(iEdge)*HydroParam%rho0)*0.5*(HydroParam%sDRhoW(iLayer_bar,r)-HydroParam%sDRhoW(iLayer_bar,l))*HydroParam%DZj(iLayer_bar,iEdge) !HydroParam%g*dt/(MeshParam%CirDistance(iEdge)*HydroParam%rho0)*0.5*(HydroParam%sDRhoW(iLayer_bar,r)-HydroParam%sDRhoW(iLayer_bar,l))*HydroParam%DZj(iLayer_bar,iEdge)
Else
HydroParam%PBarc(iLayer,iEdge) = HydroParam%PBarc(iLayer,iEdge) + HydroParam%g*dt/(MeshParam%CirDistance(iEdge)*HydroParam%rho0)*1.d0*((HydroParam%Theta*HydroParam%sDRhoW(iLayer_bar,r)+(1.-HydroParam%Theta)*HydroParam%sDRhoWt(iLayer_bar,r))-(HydroParam%Theta*HydroParam%sDRhoW(iLayer_bar,l)+(1.-HydroParam%Theta)*HydroParam%sDRhoWt(iLayer_bar,l)))!(HydroParam%sDRhoW(iLayer_bar,r)-HydroParam%sDRhoW(iLayer_bar,l))*HydroParam%DZj(iLayer_bar,iEdge) !HydroParam%g*dt/(MeshParam%CirDistance(iEdge)*HydroParam%rho0)*1.0*(HydroParam%sDRhoW(iLayer_bar,r)-HydroParam%sDRhoW(iLayer_bar,l))*HydroParam%DZj(iLayer_bar,iEdge)
HydroParam%PBarc(iLayer,iEdge) = HydroParam%PBarc(iLayer,iEdge) + HydroParam%g*dt/(MeshParam%CirDistance(iEdge)*HydroParam%rho0)*1.*(HydroParam%sDRhoW(iLayer_bar,r)-HydroParam%sDRhoW(iLayer_bar,l))*HydroParam%DZj(iLayer_bar,iEdge) !HydroParam%g*dt/(MeshParam%CirDistance(iEdge)*HydroParam%rho0)*1.0*(HydroParam%sDRhoW(iLayer_bar,r)-HydroParam%sDRhoW(iLayer_bar,l))*HydroParam%DZj(iLayer_bar,iEdge)
EndIf
EndDo
EndIf
EndIf

!if (abs( HydroParam%PBarc(iLayer,iEdge))<1.e-8) then
! HydroParam%PBarc(iLayer,iEdge)=0.d0
!endif

HydroParam%Fu(iLayer,iEdge) = HydroParam%Fu(iLayer,iEdge) - HydroParam%PBarc(iLayer,iEdge)
EndDo ! Layer Loop
EndDo ! Edge Loop
Expand Down
10 changes: 5 additions & 5 deletions UpWindCWC_HR_GATS.F90
Original file line number Diff line number Diff line change
Expand Up @@ -289,7 +289,7 @@ Subroutine UpWindCWC_HR_GATS(index,uLoadVar,dVar,VarEst,VarEstP,dt,dtday,HydroPa
EndIf

If (HydroParam%Theta*HydroParam%w(iLayer+1,iElem)+(1.-HydroParam%Theta)*HydroParam%wt(iLayer+1,iElem)>0) Then !top layer outflow
!if (iLayer < HydroParam%ElCapitalM(iElem)) then
if (iLayer < HydroParam%ElCapitalM(iElem)) then
!set boundary condition for psi_cel top layer outflow
b = VarEstP(iLayer,iElem)
bd = HydroParam%DZit(iLayer,iElem)
Expand All @@ -313,11 +313,11 @@ Subroutine UpWindCWC_HR_GATS(index,uLoadVar,dVar,VarEst,VarEstP,dt,dtday,HydroPa
dendist = (0.5d0*(bd+cd)) !(0.5d0*(HydroParam%DZit(iLayer,iElem)+HydroParam%DZit(iLayer-1,iElem))+NearZero))

if (abs(a-b)<=NearZero.or.abs(b-c)<=NearZero) then
HydroParam%psi_cell(iLayer,iElem) = 0
HydroParam%psi_cell(iLayer+1,iElem) = 0
cycle
endif
if (abs(numdist)<=NearZero.or.abs(dendist)<=NearZero) then
HydroParam%psi_cell(iLayer,iElem) = 0
HydroParam%psi_cell(iLayer+1,iElem) = 0
cycle
endif

Expand All @@ -326,9 +326,9 @@ Subroutine UpWindCWC_HR_GATS(index,uLoadVar,dVar,VarEst,VarEstP,dt,dtday,HydroPa
r_face = ((VarEstP(iLayer,iElem)-VarEstP(iLayer-1,iElem))/(VarEstP(iLayer+1,iElem)-VarEstP(iLayer,iElem)+NearZero))*(0.5d0*(HydroParam%DZit(iLayer,iElem)+HydroParam%DZit(iLayer+1,iElem))/(0.5d0*(HydroParam%DZit(iLayer,iElem)+HydroParam%DZit(iLayer-1,iElem))+NearZero)) !r_face = (r_num_plus(iLayer)/(abs(VarEstP(iLayer+1,iElem)-VarEstP(iLayer,iElem))*(r_den_plus(iLayer)) + NearZero))
Courant = 0.5*(HydroParam%Theta*HydroParam%u(iLayer,Face)*+(1.-HydroParam%Theta)*HydroParam%ut(iLayer,Face))*dt/MeshParam%CirDistance(Face)
Call Psi_value(psi_flag,r_face,Courant,fi_small,psi_face)
HydroParam%psi_cell(iLayer,iElem) = psi_face
HydroParam%psi_cell(iLayer+1,iElem) = psi_face

!endif
endif
EndIf

!Do iEdge = 1,4
Expand Down

0 comments on commit 260c7d7

Please sign in to comment.