turbulent_wall_libb Subroutine

public subroutine turbulent_wall_libb(me, state, bcBuffer, globBC, levelDesc, tree, nSize, iLevel, sim_time, neigh, layout, fieldProp, varPos, nScalars, varSys, derVarPos, physics, iField, mixture)

BC routine for turbulent wall. It uses wall model to compute velocity on the boundary node. The implementation is based on the following paper: Haussmann, Marc; Ries, Florian; Jeppener-Haltenhoff, Jonathan B.; Li, Yongxiang; Schmidt, Marius; Welch, Cooper et al. (2020): Evaluation of a Near-Wall-Modeled Large Eddy Lattice Boltzmann Method for the Analysis of Complex Flows Relevant to IC Engines. In Computation 8 (2), p. 43. DOI: 10.3390/computation8020043.

Usage


```lua boundary_condition = { { label = 'wall', kind = 'turbulent_wall', curved = true, wall_model = 'musker', nonlinear_solver = 'fixed_point' } }

This subroutine's interface must match the abstract interface definition boundaryRoutine in bc/mus_bc_header_module.f90 in order to be callable via fnct function pointer.

Arguments

Type IntentOptional Attributes Name
class(boundary_type) :: me

global boundary type

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

Current state vector of iLevel

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

state values of boundary elements of all fields of iLevel

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

scheme global boundary type

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

iLevel descriptor

type(treelmesh_type), intent(in) :: tree

Treelm Mesh

integer, intent(in) :: nSize

size of state array ( in terms of elements )

integer, intent(in) :: iLevel

the level On which this boundary was invoked

type(tem_time_type), intent(in) :: sim_time

global time information

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

connectivity array corresponding to state vector

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

stencil layout information

type(mus_field_prop_type), intent(in) :: fieldProp

fluid parameters and properties

integer, intent(in) :: varPos(:)

pointer to field variable in the state vector

integer, intent(in) :: nScalars

number of Scalars in the scheme var system

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

scheme variable system

type(mus_derVarPos_type), intent(in) :: derVarPos

position of derived quantities in varsys

type(mus_physics_type), intent(in) :: physics

contains physics conversion factors

integer, intent(in) :: iField

current field

type(mus_mixture_type), intent(in) :: mixture

mixture info


Calls

proc~~turbulent_wall_libb~~CallsGraph proc~turbulent_wall_libb turbulent_wall_libb cxdirrk cxdirrk proc~turbulent_wall_libb->cxdirrk proc~calcturbwallbndforceandmoment calcTurbWallBndForceAndMoment proc~turbulent_wall_libb->proc~calcturbwallbndforceandmoment proc~calcvelsw_unitsw_veltau_tvisc calcVelSW_unitSW_velTau_tVisc proc~turbulent_wall_libb->proc~calcvelsw_unitsw_veltau_tvisc proc~calcturbwallbndforceandmoment->cxdirrk cross_product3D cross_product3D proc~calcturbwallbndforceandmoment->cross_product3D cxdirinv cxdirinv proc~calcturbwallbndforceandmoment->cxdirinv val val proc~calcturbwallbndforceandmoment->val tem_abort tem_abort proc~calcvelsw_unitsw_veltau_tvisc->tem_abort tem_isNaN tem_isNaN proc~calcvelsw_unitsw_veltau_tvisc->tem_isNaN proc~calcvelsw_unitsw_veltau_tvisc->val