mus_absorbLayer_module Module

Module containing subroutines for building MUSUBI specific absorbLayer source variables

Make target_pressure and target_velocity as stFun.


Uses

  • module~~mus_absorblayer_module~~UsesGraph module~mus_absorblayer_module mus_absorbLayer_module module~env_module env_module module~mus_absorblayer_module->module~env_module module~tem_aux_module tem_aux_module module~mus_absorblayer_module->module~tem_aux_module module~tem_tools_module tem_tools_module module~mus_absorblayer_module->module~tem_tools_module module~aot_table_module aot_table_module module~mus_absorblayer_module->module~aot_table_module module~aotus_module aotus_module module~mus_absorblayer_module->module~aotus_module module~tem_logging_module tem_logging_module module~mus_absorblayer_module->module~tem_logging_module

Used by

  • module~~mus_absorblayer_module~~UsedByGraph module~mus_absorblayer_module mus_absorbLayer_module module~mus_source_type_module mus_source_type_module module~mus_source_type_module->module~mus_absorblayer_module module~mus_source_module mus_source_module module~mus_source_module->module~mus_absorblayer_module module~mus_source_module->module~mus_source_type_module module~mus_field_module mus_field_module module~mus_source_module->module~mus_field_module module~mus_auxfield_module mus_auxField_module module~mus_auxfield_module->module~mus_source_type_module module~mus_auxfield_module->module~mus_field_module module~mus_variable_module mus_variable_module module~mus_variable_module->module~mus_source_type_module module~mus_source_var_turbchanforce_module mus_source_var_turbChanForce_module module~mus_variable_module->module~mus_source_var_turbchanforce_module module~mus_variable_module->module~mus_field_module module~mus_source_var_module mus_source_var_module module~mus_variable_module->module~mus_source_var_module module~mus_bc_var_module mus_bc_var_module module~mus_variable_module->module~mus_bc_var_module module~mus_source_var_turbchanforce_module->module~mus_source_type_module module~mus_field_module->module~mus_source_type_module module~mus_field_module->module~mus_source_var_module module~mus_aux_module mus_aux_module module~mus_aux_module->module~mus_source_module module~mus_aux_module->module~mus_field_module module~mus_scheme_type_module mus_scheme_type_module module~mus_aux_module->module~mus_scheme_type_module module~mus_restart_module mus_restart_module module~mus_aux_module->module~mus_restart_module module~mus_tracking_module mus_tracking_module module~mus_aux_module->module~mus_tracking_module module~mus_tools_module mus_tools_module module~mus_aux_module->module~mus_tools_module module~mus_control_module mus_control_module module~mus_control_module->module~mus_source_module module~mus_control_module->module~mus_auxfield_module module~mus_control_module->module~mus_field_module module~mus_control_module->module~mus_aux_module module~mus_control_module->module~mus_scheme_type_module module~mus_scheme_type_module->module~mus_source_type_module module~mus_scheme_type_module->module~mus_auxfield_module module~mus_scheme_type_module->module~mus_field_module module~mus_source_var_module->module~mus_source_type_module module~mus_scheme_module mus_scheme_module module~mus_scheme_module->module~mus_source_type_module module~mus_scheme_module->module~mus_variable_module module~mus_scheme_module->module~mus_field_module module~mus_scheme_module->module~mus_scheme_type_module module~mus_dynloadbal_module mus_dynLoadBal_module module~mus_dynloadbal_module->module~mus_source_module module~mus_dynloadbal_module->module~mus_auxfield_module module~mus_dynloadbal_module->module~mus_scheme_type_module module~mus_dynloadbal_module->module~mus_scheme_module module~mus_dynloadbal_module->module~mus_tracking_module module~mus_dynloadbal_module->module~mus_tools_module module~mus_hvs_construction_module mus_hvs_construction_module module~mus_hvs_construction_module->module~mus_scheme_type_module module~mus_mesh_adaptation_module mus_mesh_adaptation_module module~mus_mesh_adaptation_module->module~mus_scheme_type_module module~mus_hvs_aux_module mus_hvs_aux_module module~mus_hvs_aux_module->module~mus_scheme_type_module module~mus_hvs_aux_module->module~mus_tracking_module module~mus_hvs_aux_module->module~mus_tools_module module~mus_restart_module->module~mus_scheme_type_module module~mus_config_module mus_config_module module~mus_config_module->module~mus_scheme_type_module module~mus_config_module->module~mus_scheme_module module~mus_config_module->module~mus_tools_module module~mus_initfluid_module mus_initFluid_module module~mus_initfluid_module->module~mus_scheme_type_module module~mus_initpoisson_module mus_initPoisson_module module~mus_initpoisson_module->module~mus_scheme_type_module module~mus_tracking_module->module~mus_scheme_type_module module~mus_tracking_module->module~mus_tools_module module~mus_initfluidincomp_module mus_initFluidIncomp_module module~mus_initfluidincomp_module->module~mus_scheme_type_module module~mus_initnernstplanck_module mus_initNernstPlanck_module module~mus_initnernstplanck_module->module~mus_scheme_type_module module~mus_bc_var_module->module~mus_field_module module~mus_tools_module->module~mus_scheme_type_module module~mus_tools_module->module~mus_scheme_module program~musubi musubi program~musubi->module~mus_aux_module program~musubi->module~mus_control_module program~musubi->module~mus_scheme_type_module program~musubi->module~mus_config_module program~mus_harvesting mus_harvesting program~mus_harvesting->module~mus_scheme_type_module program~mus_harvesting->module~mus_scheme_module program~mus_harvesting->module~mus_hvs_construction_module program~mus_harvesting->module~mus_hvs_aux_module program~mus_harvesting->module~mus_restart_module module~mus_hvs_config_module mus_hvs_config_module program~mus_harvesting->module~mus_hvs_config_module module~mus_initlbmps_module mus_initLBMPS_module module~mus_initlbmps_module->module~mus_scheme_type_module module~mus_initmultispecies_module mus_initMultispecies_module module~mus_initmultispecies_module->module~mus_scheme_type_module module~mus_hvs_config_module->module~mus_scheme_type_module module~mus_hvs_config_module->module~mus_scheme_module module~mus_hvs_config_module->module~mus_config_module module~mus_initisothermaceq_module mus_initIsothermAcEq_module module~mus_initisothermaceq_module->module~mus_scheme_type_module

Contents


Derived Types

type, public ::  mus_absorbLayer_dynAvg_type

Stores time average values of density and velocity for dynamic absorbLayer

Components

Type Visibility Attributes Name Initial
real(kind=rk), public, allocatable :: dens(:)

density time average in lattice unit

real(kind=rk), public, allocatable :: velX(:)

velocity time average in lattice unit

real(kind=rk), public, allocatable :: velY(:)
real(kind=rk), public, allocatable :: velZ(:)
logical, public :: isInitDens = .true.

It is used to initialiye dynamic average density with initial condition

logical, public :: isInitVel = .true.

It is used to initialiye dynamic average velocity with initial condition

type, public ::  mus_absorbLayer_type

Contains information for absorblayer

Components

Type Visibility Attributes Name Initial
type(absorbLayer_config_type), public :: config

Information loaded from configuration file

real(kind=rk), public :: smoothFac

Smoothing factor for expoential moving average = 2 / (nRecord+1)

type, private ::  absorbLayer_config_type

Contains additional information for absorblayer source

Components

Type Visibility Attributes Name Initial
real(kind=rk), public :: target_pressure

target pressure

real(kind=rk), public :: target_velocity(3)

target velocityX, velocityY and velocityZ

logical, public :: isPressDyn = .false.

Use time average for pressure. Default: false.

logical, public :: isVelDyn = .false.

Use time average for Velocity. Default: false.

integer, public :: nRecord = 100

Number of iterations to record for time-averaging


Subroutines

public subroutine mus_load_absorbLayer(me, conf, key, parent, loadPres, loadVel)

This routine load additional information for absorblayer

Arguments

Type IntentOptional Attributes Name
type(absorbLayer_config_type), intent(out) :: me

Absorb layer

type(flu_State) :: conf

flu state

character(len=*), intent(in) :: key

Table name to load target states

integer, intent(in) :: parent

parent source handle

logical, intent(in) :: loadPres

Load pressure if true else set to dynamic

logical, intent(in) :: loadVel

Load velocity if true else set to dynamic

public subroutine mus_init_absorbLayer(absLayer, dynAvg, nElems)

Initialize arrays to store time average density and velocity for dynamic absorbing layer. \todo KM: 20210301 Allocate only pressure or velocity depending on absorb_layer_inlet or absorb_layer_outlet

Arguments

Type IntentOptional Attributes Name
type(mus_absorbLayer_type), intent(inout) :: absLayer

Absorblayer type

type(mus_absorbLayer_dynAvg_type), intent(inout) :: dynAvg

Contains dynamic average density and velocity for absorblayer

integer, intent(in) :: nElems

Number of source elements