spongeLayer_box2d_roundCornerPolyn5_for_coord Function

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

This function calculates the sigma for the 2d 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_box2d_roundcornerpolyn5_for_coord~~CalledByGraph proc~spongelayer_box2d_roundcornerpolyn5_for_coord spongeLayer_box2d_roundCornerPolyn5_for_coord proc~spongelayer_box2d_scalar_for_coord spongelayer_box2d_scalar_for_coord proc~spongelayer_box2d_scalar_for_coord->proc~spongelayer_box2d_roundcornerpolyn5_for_coord proc~spongelayer_box2d_roundcornerpolyn5_for_treeids spongelayer_box2d_roundCornerPolyn5_for_treeIDs proc~spongelayer_box2d_roundcornerpolyn5_for_treeids->proc~spongelayer_box2d_roundcornerpolyn5_for_coord interface~tem_spongelayer_box2d_for tem_spongeLayer_box2d_for interface~tem_spongelayer_box2d_for->proc~spongelayer_box2d_scalar_for_coord proc~spongelayer_box2d_vector_for_coord spongelayer_box2d_vector_for_coord interface~tem_spongelayer_box2d_for->proc~spongelayer_box2d_vector_for_coord proc~spongelayer_box2d_scalar_for_treeids spongelayer_box2d_scalar_for_treeIDs interface~tem_spongelayer_box2d_for->proc~spongelayer_box2d_scalar_for_treeids proc~spongelayer_box2d_vector_for_treeids spongelayer_box2d_vector_for_treeIDs interface~tem_spongelayer_box2d_for->proc~spongelayer_box2d_vector_for_treeids proc~spongelayer_box2d_vector_for_coord->proc~spongelayer_box2d_scalar_for_coord proc~spongelayer_box2d_scalar_for_treeids->proc~spongelayer_box2d_roundcornerpolyn5_for_treeids proc~tem_spatial_vector_for_treeids tem_spatial_vector_for_treeIDs proc~tem_spatial_vector_for_treeids->interface~tem_spongelayer_box2d_for proc~spongelayer_box2d_vector_for_treeids->proc~spongelayer_box2d_scalar_for_treeids proc~tem_spatial_for_treeids tem_spatial_for_treeIDs proc~tem_spatial_for_treeids->interface~tem_spongelayer_box2d_for proc~tem_spatial_vector_for_coord tem_spatial_vector_for_coord proc~tem_spatial_vector_for_coord->interface~tem_spongelayer_box2d_for proc~tem_spatial_for_coord tem_spatial_for_coord proc~tem_spatial_for_coord->interface~tem_spongelayer_box2d_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(2)
real(kind=rk), private :: extent(2)
real(kind=rk), private :: coordLoc(2)
real(kind=rk), private :: normal
real(kind=rk), private :: proj_len1
real(kind=rk), private :: proj_len2
real(kind=rk), private :: vec_corMin(2)
real(kind=rk), private :: vec_corMax(2)
real(kind=rk), private :: vec_corMinSqr(2)
real(kind=rk), private :: vec_corMaxSqr(2)
real(kind=rk), private :: rad
real(kind=rk), private :: const_fac
real(kind=rk), private :: box_max(2)
real(kind=rk), private :: corInRad
real(kind=rk), private :: corOutRad
real(kind=rk), private :: corMin(2)
real(kind=rk), private :: corMax(2)
logical, private :: isCorner