subsonic_outlet Subroutine

private subroutine subsonic_outlet(face, bc, dims)

Subsonic outlet boundary condition. All the state variables's value expect pressure is copied from the inside of the domain and pressure is fixed

Arguments

Type IntentOptional AttributesName
character(len=*), intent(in) :: face

Name of the face at which boundary condition is called

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

Calls

proc~~subsonic_outlet~~CallsGraph proc~subsonic_outlet subsonic_outlet proc~copy3 copy3 proc~subsonic_outlet->proc~copy3 proc~fix fix proc~subsonic_outlet->proc~fix

Called by

proc~~subsonic_outlet~~CalledByGraph proc~subsonic_outlet subsonic_outlet proc~populate_ghost_primitive populate_ghost_primitive proc~populate_ghost_primitive->proc~subsonic_outlet proc~get_total_conservative_residue get_total_conservative_Residue proc~get_total_conservative_residue->proc~populate_ghost_primitive proc~get_next_solution get_next_solution proc~get_next_solution->proc~get_total_conservative_residue 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 subsonic_outlet(face, bc, dims)
        !< Subsonic outlet boundary condition. 
        !< All the state variables's value expect pressure
        !< is copied from the inside of the domain and pressure 
        !< is fixed
        implicit none
        type(extent), intent(in) :: dims
        type(boundarytype), intent(in) :: bc
        character(len=*), intent(in) :: face
        !< Name of the face at which boundary condition is called
        call copy3(density, "flat", face, bc, dims)
        call copy3(x_speed, "flat", face, bc, dims)
        call copy3(y_speed, "flat", face, bc, dims)
        call copy3(z_speed, "flat", face, bc, dims)
        if(current_iter<=2)then
        call fix(pressure, bc%fixed_pressure, face)
        end if
        select case (turbulence)
          case('none')
            !do nothing
            continue
          case('sa', 'saBC')
            call copy3(tv, "flat", face, bc, dims)
          case('sst', 'sst2003')
            call copy3(tk, "flat", face, bc, dims)
            call copy3(tw, "flat", face, bc, dims)
          case('kkl')
            call copy3(tk, "flat", face, bc, dims)
            call copy3(tkl, "flat", face, bc, dims)
          case DEFAULT
           Fatal_error
        end select
        select case(trim(transition))
          case('lctm2015')
            call copy3(tgm, "flat", face, bc, dims)
          case DEFAULT
            continue
        end select
      end subroutine subsonic_outlet