spongeLayer_box_roundCornerPolyn5_for_coord Function

private function spongeLayer_box_roundCornerPolyn5_for_coord(me, coord, n) result(res)

This function calculates the sigma for the box shape sponge layer from coord for polynomial n5. 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_box_type) :: me

Spatial sponge layer to evaluate

real(kind=rk), intent(in) :: coord(n,3)

barycentric Ids of an elements. 1st index goes over number of elements and 2nd index goes over x,y,z coordinates

integer, intent(in) :: n

Number of arrays to return

Return Value real(kind=rk)(n)

return value


Called by

proc~~spongelayer_box_roundcornerpolyn5_for_coord~~CalledByGraph proc~spongelayer_box_roundcornerpolyn5_for_coord spongeLayer_box_roundCornerPolyn5_for_coord proc~spongelayer_box_scalar_for_coord spongelayer_box_scalar_for_coord proc~spongelayer_box_scalar_for_coord->proc~spongelayer_box_roundcornerpolyn5_for_coord proc~spongelayer_box_roundcornerpolyn5_for_treeids spongelayer_box_roundCornerPolyn5_for_treeIDs proc~spongelayer_box_roundcornerpolyn5_for_treeids->proc~spongelayer_box_roundcornerpolyn5_for_coord proc~spongelayer_box_vector_for_coord spongelayer_box_vector_for_coord proc~spongelayer_box_vector_for_coord->proc~spongelayer_box_scalar_for_coord interface~tem_spongelayer_box_for tem_spongeLayer_box_for interface~tem_spongelayer_box_for->proc~spongelayer_box_scalar_for_coord interface~tem_spongelayer_box_for->proc~spongelayer_box_vector_for_coord proc~spongelayer_box_scalar_for_treeids spongelayer_box_scalar_for_treeIDs interface~tem_spongelayer_box_for->proc~spongelayer_box_scalar_for_treeids proc~spongelayer_box_vector_for_treeids spongelayer_box_vector_for_treeIDs interface~tem_spongelayer_box_for->proc~spongelayer_box_vector_for_treeids proc~spongelayer_box_scalar_for_treeids->proc~spongelayer_box_roundcornerpolyn5_for_treeids proc~tem_spatial_vector_for_treeids tem_spatial_vector_for_treeIDs proc~tem_spatial_vector_for_treeids->interface~tem_spongelayer_box_for proc~tem_spatial_for_treeids tem_spatial_for_treeIDs proc~tem_spatial_for_treeids->interface~tem_spongelayer_box_for proc~spongelayer_box_vector_for_treeids->proc~spongelayer_box_scalar_for_treeids proc~tem_spatial_vector_for_coord tem_spatial_vector_for_coord proc~tem_spatial_vector_for_coord->interface~tem_spongelayer_box_for proc~tem_spatial_for_coord tem_spatial_for_coord proc~tem_spatial_for_coord->interface~tem_spongelayer_box_for proc~tem_spatial_scalar_for_index tem_spatial_scalar_for_index proc~tem_spatial_scalar_for_index->proc~tem_spatial_for_coord 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_vector_for_treeids interface~tem_spatial_for->proc~tem_spatial_for_treeids interface~tem_spatial_for->proc~tem_spatial_vector_for_coord interface~tem_spatial_for->proc~tem_spatial_for_coord

Contents


Variables

TypeVisibilityAttributesNameInitial
integer, private :: i
real(kind=rk), private :: sigma
real(kind=rk), private :: origin(3)
real(kind=rk), private :: extent(3)
real(kind=rk), private :: coordLoc(3)
real(kind=rk), private :: normal
real(kind=rk), private :: proj_len1
real(kind=rk), private :: proj_len2
real(kind=rk), private :: vec_corMin(3)
real(kind=rk), private :: vec_corMax(3)
real(kind=rk), private :: vec_corMinSqr(3)
real(kind=rk), private :: vec_corMaxSqr(3)
real(kind=rk), private :: rad
real(kind=rk), private :: const_fac
real(kind=rk), private :: box_max(3)
real(kind=rk), private :: corInRad
real(kind=rk), private :: corOutRad
real(kind=rk), private :: corMin(3)
real(kind=rk), private :: corMax(3)
logical, private :: isCorner