update_with_lusgs Subroutine

public subroutine update_with_lusgs(qp, residue, delta_t, cells, Ifaces, Jfaces, Kfaces, scheme, dims)

Time-integrate with LU_SGS method

Arguments

Type IntentOptional AttributesName
real(kind=wp), intent(inout), dimension(-2:dims%imx+2, -2:dims%jmx+2, -2:dims%kmx+2, 1:dims%n_var):: qp

Store primitive variable at cell center

real(kind=wp), intent(in), dimension(:, :, :, :):: residue

Store residue at each cell-center

real(kind=wp), intent(in), dimension(1:dims%imx-1, 1:dims%jmx-1, 1:dims%kmx-1):: delta_t

Local time increment value at each cell center

type(celltype), intent(in), dimension(-2:dims%imx+2,-2:dims%jmx+2,-2:dims%kmx+2):: cells

Input cell quantities: volume

type(facetype), intent(in), dimension(-2:dims%imx+3,-2:dims%jmx+2,-2:dims%kmx+2):: Ifaces

Input varaible which stores I faces' area and unit normal

type(facetype), intent(in), dimension(-2:dims%imx+2,-2:dims%jmx+3,-2:dims%kmx+2):: Jfaces

Input varaible which stores J faces' area and unit normal

type(facetype), intent(in), dimension(-2:dims%imx+2,-2:dims%jmx+2,-2:dims%kmx+3):: Kfaces

Input varaible which stores K faces' area and unit normal

type(schemetype), intent(in) :: scheme

finite-volume Schemes

type(extent), intent(in) :: dims

Extent of the domain:imx,jmx,kmx


Calls

proc~~update_with_lusgs~~CallsGraph proc~update_with_lusgs update_with_lusgs proc~update_laminar_variables~2 update_laminar_variables proc~update_with_lusgs->proc~update_laminar_variables~2 proc~update_sa_variables~2 update_SA_variables proc~update_with_lusgs->proc~update_sa_variables~2 proc~update_lctm2015~2 update_lctm2015 proc~update_with_lusgs->proc~update_lctm2015~2 proc~update_kkl_variables update_KKL_variables proc~update_with_lusgs->proc~update_kkl_variables proc~update_sst_variables~2 update_SST_variables proc~update_with_lusgs->proc~update_sst_variables~2 debugcall debugcall proc~update_with_lusgs->debugcall proc~update_laminar_variables~2->debugcall proc~spectralradius~2 SpectralRadius proc~update_laminar_variables~2->proc~spectralradius~2 proc~update_sa_variables~2->proc~spectralradius~2 proc~saflux~2 SAFlux proc~update_sa_variables~2->proc~saflux~2 proc~update_lctm2015~2->proc~spectralradius~2 proc~lctm2015flux~2 lctm2015flux proc~update_lctm2015~2->proc~lctm2015flux~2 proc~update_kkl_variables->proc~spectralradius~2 proc~kklflux KKLFlux proc~update_kkl_variables->proc~kklflux proc~update_sst_variables~2->proc~spectralradius~2 proc~sstflux~2 SSTFlux proc~update_sst_variables~2->proc~sstflux~2

Called by

proc~~update_with_lusgs~~CalledByGraph proc~update_with_lusgs update_with_lusgs proc~get_next_solution get_next_solution proc~get_next_solution->proc~update_with_lusgs proc~iterate_one_more_time_step iterate_one_more_time_step proc~iterate_one_more_time_step->proc~get_next_solution program~main main program~main->proc~iterate_one_more_time_step

Contents

Source Code


Source Code

    subroutine update_with_lusgs(qp, residue, delta_t, cells, Ifaces, Jfaces, Kfaces, scheme, dims)
      !< Time-integrate with LU_SGS method
      implicit none
      type(schemetype), intent(in) :: scheme
      !< finite-volume Schemes
      type(extent), intent(in) :: dims
      !< Extent of the domain:imx,jmx,kmx
      real(wp), dimension(-2:dims%imx+2, -2:dims%jmx+2, -2:dims%kmx+2, 1:dims%n_var), intent(inout) :: qp
      !< Store primitive variable at cell center
      real(wp) , dimension(1:dims%imx-1, 1:dims%jmx-1, 1:dims%kmx-1), intent(in) :: delta_t
      !< Local time increment value at each cell center
      real(wp), dimension(:, :, :, :), intent(in)  :: residue
      !< Store residue at each cell-center
      type(celltype), dimension(-2:dims%imx+2,-2:dims%jmx+2,-2:dims%kmx+2), intent(in) :: cells
      !< Input cell quantities: volume
      type(facetype), dimension(-2:dims%imx+3,-2:dims%jmx+2,-2:dims%kmx+2), intent(in) :: Ifaces
      !< Input varaible which stores I faces' area and unit normal
      type(facetype), dimension(-2:dims%imx+2,-2:dims%jmx+3,-2:dims%kmx+2), intent(in) :: Jfaces
      !< Input varaible which stores J faces' area and unit normal
      type(facetype), dimension(-2:dims%imx+2,-2:dims%jmx+2,-2:dims%kmx+3), intent(in) :: Kfaces
      !< Input varaible which stores K faces' area and unit normal

      DebugCall("Update_with_lusgs")
      select case(trim(scheme%turbulence))
        case('none')
          call update_laminar_variables(qp, residue, delta_t, cells, Ifaces, Jfaces, Kfaces, dims)

        case('sst', 'sst2003')
          select case(trim(scheme%transition))
            case('none', 'bc')
              call update_SST_variables(qp, residue, delta_t, cells, Ifaces, Jfaces, Kfaces, dims)
            case('lctm2015')
              call update_lctm2015(qp, residue, delta_t, cells, Ifaces, Jfaces, Kfaces, dims)
            case DEFAULT
              Fatal_error
          end select

        case('kkl')
          call update_KKL_variables(qp, residue, delta_t, cells, Ifaces, Jfaces, Kfaces, dims)

        case('sa', 'saBC')
          call update_SA_variables(qp, residue, delta_t, cells, Ifaces, Jfaces, Kfaces, dims)

        case Default
          Fatal_error

      end select


    end subroutine update_with_lusgs