mus_bndForce_module Module

This module contains routines to bnd_force type and routines to initialize bndForce array and compute bndForce on all boundary elements

author: Kannan Masilamani


Uses

Used by

  • module~~mus_bndforce_module~~UsedByGraph module~mus_bndforce_module mus_bndForce_module module~mus_aux_module mus_aux_module module~mus_aux_module->module~mus_bndforce_module module~mus_dynloadbal_module mus_dynLoadBal_module module~mus_dynloadbal_module->module~mus_bndforce_module program~mus_harvesting mus_harvesting program~mus_harvesting->module~mus_bndforce_module module~mus_hvs_aux_module mus_hvs_aux_module program~mus_harvesting->module~mus_hvs_aux_module module~mus_hvs_aux_module->module~mus_bndforce_module module~mus_control_module mus_control_module module~mus_control_module->module~mus_aux_module program~musubi musubi program~musubi->module~mus_aux_module program~musubi->module~mus_control_module module~mus_program_module mus_program_module program~musubi->module~mus_program_module module~mus_program_module->module~mus_aux_module module~mus_program_module->module~mus_dynloadbal_module module~mus_program_module->module~mus_control_module

Contents


Subroutines

public subroutine mus_init_bndForce(bndForce, bc_prop, schemeHeader, bc)

This routine initialize bndForce array assign function pointer to calculate bndForce

Arguments

TypeIntentOptionalAttributesName
real(kind=rk), intent(out), allocatable:: bndForce(:,:)

Bnd force to allocate

type(tem_BC_prop_type), intent(in) :: bc_prop

Boundary property

type(mus_scheme_header_type), intent(in) :: schemeHeader

scheme header info

type(boundary_type), intent(inout) :: bc(:)

global array boundary type

public subroutine mus_calcBndForce(bndForce, posInBndID, nBCs, field, globBC, minLevel, maxLevel, state, pdf, levelDesc, layout, varSys)

This routine computes force on boundary elements which are used to compute lift and drag coefficient on boundary

Arguments

TypeIntentOptionalAttributesName
real(kind=rk), intent(inout) :: bndForce(:,:)

Boundary force on wall boundary

integer, intent(in) :: posInBndID(:)

Mapping from global tree%treeid to global boundary%boundaryID

integer, intent(in) :: nBCs

number of BC

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

fluid parameters and properties

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

scheme global boundary type

integer, intent(in) :: minLevel

minlevel and maxLevel

integer, intent(in) :: maxLevel

minlevel and maxLevel

type(array2D_type), intent(in) :: state(minLevel:maxLevel)

state arrays fo current iLevel both now and next

type(pdf_data_type), intent(in) :: pdf(minLevel:maxLevel)

contains global state vector

type(tem_levelDesc_type), intent(in) :: levelDesc(minLevel:maxLevel)

Level Descriptor

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

scheme layout type

type(tem_varSys_type), intent(in) :: varSys

scheme variable system

private subroutine mus_calcBndForce_dummy(me, bndForce, posInBndID, globBC, currState, levelDesc, nSize, iLevel, neigh, layout, nScalars)

Dummy routine for calcBndForce

Arguments

TypeIntentOptionalAttributesName
class(boundary_type), intent(in) :: me

field boundary type

real(kind=rk), intent(inout) :: bndForce(:,:)

bndForce to fill

integer, intent(in) :: posInBndID(:)
type(glob_boundary_type), intent(in) :: globBC

scheme global boundary type

real(kind=rk), intent(in) :: currState(:)

current state array to access post-collision values

type(tem_levelDesc_type), intent(in) :: levelDesc

iLevel descriptor

integer, intent(in) :: nSize

size of state array ( in terms of elements )

integer, intent(in) :: iLevel

level which invokes boundary

integer, intent(in) :: neigh(:)

global parameters

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

scheme layout

integer, intent(in) :: nScalars

number of Scalars in the scheme var system

private subroutine mus_calcBndForce_wall(me, bndForce, posInBndID, globBC, currState, levelDesc, nSize, iLevel, neigh, layout, nScalars)

This routine computes bndForce on wall boundary elements

Arguments

TypeIntentOptionalAttributesName
class(boundary_type), intent(in) :: me

field boundary type

real(kind=rk), intent(inout) :: bndForce(:,:)

bndForce to fill

integer, intent(in) :: posInBndID(:)
type(glob_boundary_type), intent(in) :: globBC

scheme global boundary type

real(kind=rk), intent(in) :: currState(:)

current state array to access post-collision values

type(tem_levelDesc_type), intent(in) :: levelDesc

iLevel descriptor

integer, intent(in) :: nSize

size of state array ( in terms of elements )

integer, intent(in) :: iLevel

level which invokes boundary

integer, intent(in) :: neigh(:)

global parameters

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

scheme layout

integer, intent(in) :: nScalars

number of Scalars in the scheme var system

private subroutine mus_calcBndForce_wall_libb(me, bndForce, posInBndID, globBC, currState, levelDesc, nSize, iLevel, neigh, layout, nScalars)

This routine computes bndForce on wall_libb boundary elements

Arguments

TypeIntentOptionalAttributesName
class(boundary_type), intent(in) :: me

field boundary type

real(kind=rk), intent(inout) :: bndForce(:,:)

bndForce to fill

integer, intent(in) :: posInBndID(:)
type(glob_boundary_type), intent(in) :: globBC

scheme global boundary type

real(kind=rk), intent(in) :: currState(:)

current state array to access post-collision values

type(tem_levelDesc_type), intent(in) :: levelDesc

iLevel descriptor

integer, intent(in) :: nSize

size of state array ( in terms of elements )

integer, intent(in) :: iLevel

level which invokes boundary

integer, intent(in) :: neigh(:)

global parameters

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

scheme layout

integer, intent(in) :: nScalars

number of Scalars in the scheme var system