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
Type Intent Optional Attributes Name
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
Nodes of different colours represent the following:
Graph Key
Subroutine
Subroutine
Function
Function
Interface
Interface
Unknown Procedure Type
Unknown Procedure Type
Program
Program
This Page's Entity
This Page's Entity
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Variables
Type Visibility Attributes Name Initial
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