sourcemethod_LinearShallowWater2D_t Subroutine

public subroutine sourcemethod_LinearShallowWater2D_t(this)

Arguments

TypeIntentOptionalAttributesName
class(LinearShallowWater2D_t), intent(inout) :: this

Contents


Source Code

  subroutine sourcemethod_LinearShallowWater2D_t(this)
    implicit none
    class(LinearShallowWater2D_t),intent(inout) :: this
    ! Local
    integer :: iel
    integer :: i
    integer :: j
    real(prec) :: s(1:this%nvar)

    do concurrent(i=1:this%solution%N+1,j=1:this%solution%N+1, &
                  iel=1:this%mesh%nElem)

      s = this%solution%interior(i,j,iel,1:this%nvar)

      this%source%interior(i,j,iel,1) = this%fCori%interior(i,j,iel,1)*s(2)-this%Cd*s(1) ! du/dt = f*v - Cd*u
      this%source%interior(i,j,iel,2) = -this%fCori%interior(i,j,iel,1)*s(1)-this%Cd*s(2) ! dv/dt = -f*u - Cd*v

    enddo

  endsubroutine sourcemethod_LinearShallowWater2D_t