Skip to content

Commit

Permalink
3D Antuono vortex initial field. (#123)
Browse files Browse the repository at this point in the history
  • Loading branch information
gianlupo authored Jul 18, 2024
1 parent dad6ea2 commit 4b17b50
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 1 deletion.
1 change: 1 addition & 0 deletions docs/INFO_INPUT.md
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,7 @@ These lines set the initial velocity field.
* `hdc`: half plane Poiseuille flow profile with constant pressure gradient ; streamwise direction in `x`
* `tgv`: three-dimensional Taylor-Green vortex
* `tgw`: two-dimensional Taylor-Green vortex
* `ant`: three-dimensional Antuono vortex

`is_wallturb`, if true, **superimposes a high amplitude disturbance on the initial velocity field** that effectively triggers transition to turbulence in a wall-bounded shear flow.

Expand Down
25 changes: 24 additions & 1 deletion src/initflow.f90
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,29 @@ subroutine initflow(inivel,bcvel,ng,lo,l,dl,zc,zf,dzc,dzf,visc, &
end do
end do
end do
case('ant')
!
! see M. Antuono, JFM 890, A23 (2020)
!
do k=1,n(3)
zcc = zc(k)/l(3)*2.*pi+0.5*pi
zff = zf(k)/l(3)*2.*pi+0.5*pi
do j=1,n(2)
yc = (j+lo(2)-1-.5)*dl(2)/l(2)*2.*pi+0.5*pi
yf = (j+lo(2)-1-.0)*dl(2)/l(2)*2.*pi+0.5*pi
do i=1,n(1)
xc = (i+lo(1)-1-.5)*dl(1)/l(1)*2.*pi+0.5*pi
xf = (i+lo(1)-1-.0)*dl(1)/l(1)*2.*pi+0.5*pi
u(i,j,k) = (4.*sqrt(2.)/3./sqrt(3.))*(sin(xf-5.*pi/6.)*cos(yc-1.*pi/6.)*sin(zcc ) - &
sin(xf-1.*pi/6.)*sin(yc )*cos(zcc-5.*pi/6.))*uref
v(i,j,k) = (4.*sqrt(2.)/3./sqrt(3.))*(sin(xc )*sin(yf-5.*pi/6.)*sin(zcc-1.*pi/6.) - &
cos(xc-5.*pi/6.)*sin(yf-1.*pi/6.)*sin(zcc ))*uref
w(i,j,k) = (4.*sqrt(2.)/3./sqrt(3.))*(cos(xc-1.*pi/6.)*sin(yc )*sin(zff-5.*pi/6.) - &
sin(xc )*cos(yc-5.*pi/6.)*sin(zff-1.*pi/6.))*uref
p(i,j,k) = -(u(i,j,k)**2+v(i,j,k)**2+w(i,j,k)**2)/2.
end do
end do
end do
case('tgw')
do k=1,n(3)
do j=1,n(2)
Expand Down Expand Up @@ -161,7 +184,7 @@ subroutine initflow(inivel,bcvel,ng,lo,l,dl,zc,zf,dzc,dzf,visc, &
call MPI_FINALIZE(ierr)
error stop
end select
if(.not.any(inivel == ['tgv','tgw'])) then
if(.not.any(inivel == ['tgv','tgw','ant'])) then
do k=1,n(3)
do j=1,n(2)
do i=1,n(1)
Expand Down

0 comments on commit 4b17b50

Please sign in to comment.