normalizeBC Subroutine

private subroutine normalizeBC(nBCs, minLevel, maxLevel, globBC, layout, field, comm)

This routine normalizes the normal vectors of boundary elements including the corner elements as well as assigns the corresponding prevailing direction from the stencil

Arguments

TypeIntentOptionalAttributesName
integer, intent(in) :: nBCs

number of boundaries

integer, intent(in) :: minLevel

number of boundaries

integer, intent(in) :: maxLevel

number of boundaries

type(glob_boundary_type), intent(inout) :: globBC(:)

boundaries for the elements with bnd property set

type(mus_scheme_layout_type), intent(in) :: layout

scheme layout

type(mus_field_type), intent(in) :: field(:)

field type

integer, intent(in) :: comm

mpi communication enviroment with mpi communicator


Calls

proc~~normalizebc~~CallsGraph proc~normalizebc normalizeBC mpi_allreduce mpi_allreduce proc~normalizebc->mpi_allreduce interface~append~3 append proc~normalizebc->interface~append~3 proc~tem_determine_discretevector tem_determine_discreteVector proc~normalizebc->proc~tem_determine_discretevector

Called by

proc~~normalizebc~~CalledByGraph proc~normalizebc normalizeBC proc~build_bclists build_BClists proc~build_bclists->proc~normalizebc proc~mus_construct mus_construct proc~mus_construct->proc~build_bclists proc~mus_initialize mus_initialize proc~mus_initialize->proc~mus_construct proc~mus_perform_dynloadbal mus_perform_dynLoadBal proc~mus_perform_dynloadbal->proc~mus_construct program~mus_harvesting mus_harvesting program~mus_harvesting->proc~mus_construct program~musubi musubi program~musubi->proc~mus_initialize none~do_balance do_balance none~do_balance->proc~mus_perform_dynloadbal

Contents


Variables

TypeVisibilityAttributesNameInitial
integer, private :: iBnd
integer, private :: iLevel
integer, private :: iElem
integer, private :: iDir
integer, private :: iField
integer, private :: counter
integer, private :: iErr
real(kind=rk), private :: angle
real(kind=rk), private :: angleMax
real(kind=rk), private :: oneDeginRad
real(kind=rk), private :: min_nz_comp
real(kind=rk), private :: max_comp
integer, private :: elem_normal(3)
integer, private :: bc_normal(3)
integer, private :: bc_globNormal(3)
integer(kind=long_k), private :: bc_normlong(3)
integer(kind=long_k), private :: bc_globNormlong(3)
logical, private :: check_angle(nBCs)
logical, private :: curved(nBCs)