spongeLayer_radial_polyn5_for_treeids Function

private function spongeLayer_radial_polyn5_for_treeids(me, treeIds, tree, nDim, n) result(res)

This function calculates the sigma for the radial spongelayer polynomial order 5 from treeids. Sponge profile: where, \sigma_A - sponge strength, L - thickness, x0 - start of sponge.

Profile is taken from: Xu, Hui; Sagaut, Pierre (2013): Analysis of the absorbing layers for the weakly-compressible lattice Boltzmann methods. In Journal of Computational Physics 245, pp. 14-42. DOI: 10.1016/j.jcp.2013.02.051.

Arguments

TypeIntentOptionalAttributesName
type(tem_spongeLayer_radial_type) :: me

Spatial sponge layer to evaluate

integer(kind=long_k), intent(in) :: treeIds(n)

treeIds of elements in given level

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

global treelm mesh

integer, intent(in) :: nDim

Dimension

integer, intent(in) :: n

Number of arrays to return

Return Value real(kind=rk)(n)

return value


Calls

proc~~spongelayer_radial_polyn5_for_treeids~~CallsGraph proc~spongelayer_radial_polyn5_for_treeids spongeLayer_radial_polyn5_for_treeids proc~tem_baryofid tem_BaryOfId proc~spongelayer_radial_polyn5_for_treeids->proc~tem_baryofid proc~tem_coordofid tem_CoordOfId proc~tem_baryofid->proc~tem_coordofid proc~tem_elemsizelevel tem_ElemSizeLevel proc~tem_baryofid->proc~tem_elemsizelevel proc~tem_levelof tem_LevelOf proc~tem_coordofid->proc~tem_levelof

Called by

proc~~spongelayer_radial_polyn5_for_treeids~~CalledByGraph proc~spongelayer_radial_polyn5_for_treeids spongeLayer_radial_polyn5_for_treeids proc~spongelayer_radial_scalar_for_treeids spongelayer_radial_scalar_for_treeIDs proc~spongelayer_radial_scalar_for_treeids->proc~spongelayer_radial_polyn5_for_treeids proc~spongelayer_radial_vector_for_treeids spongelayer_radial_vector_for_treeIDs proc~spongelayer_radial_vector_for_treeids->proc~spongelayer_radial_scalar_for_treeids interface~tem_spongelayer_radial_for tem_spongeLayer_radial_for interface~tem_spongelayer_radial_for->proc~spongelayer_radial_scalar_for_treeids interface~tem_spongelayer_radial_for->proc~spongelayer_radial_vector_for_treeids proc~tem_spatial_for_treeids tem_spatial_for_treeIDs proc~tem_spatial_for_treeids->interface~tem_spongelayer_radial_for proc~tem_spatial_for_coord tem_spatial_for_coord proc~tem_spatial_for_coord->interface~tem_spongelayer_radial_for proc~tem_spatial_vector_for_coord tem_spatial_vector_for_coord proc~tem_spatial_vector_for_coord->interface~tem_spongelayer_radial_for proc~tem_spatial_vector_for_treeids tem_spatial_vector_for_treeIDs proc~tem_spatial_vector_for_treeids->interface~tem_spongelayer_radial_for proc~tem_spatial_vector_for_index tem_spatial_vector_for_index proc~tem_spatial_vector_for_index->proc~tem_spatial_vector_for_coord interface~tem_spatial_for tem_spatial_for interface~tem_spatial_for->proc~tem_spatial_for_treeids interface~tem_spatial_for->proc~tem_spatial_for_coord interface~tem_spatial_for->proc~tem_spatial_vector_for_coord interface~tem_spatial_for->proc~tem_spatial_vector_for_treeids proc~tem_spatial_scalar_for_index tem_spatial_scalar_for_index proc~tem_spatial_scalar_for_index->proc~tem_spatial_for_coord

Contents


Variables

TypeVisibilityAttributesNameInitial
integer, private :: i
real(kind=rk), private :: rad
real(kind=rk), private :: outer_radius
real(kind=rk), private :: sigma
real(kind=rk), private :: vec(3)
real(kind=rk), private :: coord(3)
real(kind=rk), private :: const_fac