viscous Module

The viscous module contains the viscous fluxes calculations


Uses

  • module~~viscous~~UsesGraph module~viscous viscous module~global_kkl global_kkl module~viscous->module~global_kkl module~global_sst global_sst module~viscous->module~global_sst module~viscosity viscosity module~viscous->module~viscosity module~gradients gradients module~viscous->module~gradients module~utils utils module~viscous->module~utils module~vartypes vartypes module~viscous->module~vartypes module~global_sa global_sa module~viscous->module~global_sa iso_fortran_env iso_fortran_env module~global_kkl->iso_fortran_env module~global_sst->iso_fortran_env module~viscosity->module~global_kkl module~viscosity->module~global_sst module~viscosity->module~gradients module~viscosity->module~utils module~viscosity->module~vartypes module~viscosity->module~global_sa module~copy_bc copy_bc module~viscosity->module~copy_bc module~wall_dist wall_dist module~viscosity->module~wall_dist module~gradients->module~utils module~gradients->module~vartypes module~vartypes->iso_fortran_env module~global_sa->iso_fortran_env module~copy_bc->module~vartypes module~wall_dist->module~utils module~wall_dist->module~vartypes

Used by

  • module~~viscous~~UsedByGraph module~viscous viscous module~solver solver module~solver->module~viscous module~update update module~solver->module~update module~update->module~viscous program~main main program~main->module~solver

Contents


Variables

TypeVisibility AttributesNameInitial
integer, private :: imx
integer, private :: jmx
integer, private :: kmx

Subroutines

public subroutine compute_viscous_fluxes(F, G, H, qp, cells, Ifaces, Jfaces, Kfaces, scheme, flow, dims)

Call to all viscous flux subroutine based on the drection and turbulence/transition model being used

Arguments

Type IntentOptional AttributesName
real(kind=wp), intent(inout), dimension(:, :, :, :):: F
real(kind=wp), intent(inout), dimension(:, :, :, :):: G
real(kind=wp), intent(inout), dimension(:, :, :, :):: H
real(kind=wp), intent(in), dimension(-2:dims%imx+2, -2:dims%jmx+2, -2:dims%kmx+2, 1:dims%n_var):: qp
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

Store face quantites for I faces

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

Store face quantites for J faces

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

Store face quantites for K faces

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

finite-volume Schemes

type(flowtype), intent(in) :: flow

Information about fluid flow: freestream-speed, ref-viscosity,etc.

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

Extent of the domain:imx,jmx,kmx

private subroutine compute_viscous_fluxes_laminar(F, qp, cells, faces, flags, scheme, flow, dims)

Compute viscous fluxes for first five Navier-Stokes equation

Arguments

Type IntentOptional AttributesName
real(kind=wp), intent(inout), dimension(:, :, :, :):: F

Flux array

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

Store primitive variable at 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+2+flags(1),-2:dims%jmx+2+flags(2),-2:dims%kmx+2+flags(3)):: faces

Face quantities: area and unit normal

integer, intent(in), dimension(3):: flags

flags for direction switch

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

finite-volume Schemes

type(flowtype), intent(in) :: flow

Information about fluid flow: freestream-speed, ref-viscosity,etc.

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

Extent of the domain:imx,jmx,kmx

private subroutine compute_viscous_fluxes_sst(F, qp, cells, faces, flags, dims)

Compute viscous fluxes for additianal equations due to SST turbulence model

Arguments

Type IntentOptional AttributesName
real(kind=wp), intent(inout), dimension(:, :, :, :):: F

flux array

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

Store primitive variable at 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+2+flags(1),-2:dims%jmx+2+flags(2),-2:dims%kmx+2+flags(3)):: faces

quantities on the face

integer, intent(in), dimension(3):: flags

flags for direction swithc

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

Extent of the domain: imx,jmx,kmx

private subroutine compute_viscous_fluxes_kkl(F, qp, cells, faces, flags, dims)

Compute viscous fluxes for additianal equations due to k-kL turbulence model

Arguments

Type IntentOptional AttributesName
real(kind=wp), intent(inout), dimension(:, :, :, :):: F

Flux array

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

Store primitive variable at 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+2+flags(1),-2:dims%jmx+2+flags(2),-2:dims%kmx+2+flags(3)):: faces

Face quantities: area and unit normal

integer, intent(in), dimension(3):: flags

flags for directions switch

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

Extent of the domain: imx,jmx,kmx

private subroutine compute_viscous_fluxes_sa(F, qp, cells, faces, flags, dims)

Compute viscous fluxes for additianal equations due to SA turbulence model

Arguments

Type IntentOptional AttributesName
real(kind=wp), intent(inout), dimension(:, :, :, :):: F

Flux array

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

Store primitive variable at 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+2+flags(1),-2:dims%jmx+2+flags(2),-2:dims%kmx+2+flags(3)):: faces

Face quantities: area and unit normal

integer, intent(in), dimension(3):: flags

flags for direction switch

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

Extent of the domain: imx,jmx,kmx

private subroutine compute_viscous_fluxes_lctm2015(F, qp, cells, faces, flags, dims)

Compute viscous fluxes for additianal equations due to LCTM2015 transition model

Arguments

Type IntentOptional AttributesName
real(kind=wp), intent(inout), dimension(:, :, :, :):: F

Flux array

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

Store primitive variable at 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+2+flags(1),-2:dims%jmx+2+flags(2),-2:dims%kmx+2+flags(3)):: faces

Face quantities: area and unit normal

integer, intent(in), dimension(3):: flags

flags for direction switch

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

Extent of the doamin:imx,jmx,kmx