tem_absorbLayer_module Module

This module gathers the various spatial absorbLayer definitions

The definition of sponge profile in the absorb layer is based on: 1) 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. 2) Jacob, J.; Sagaut, P. (2019): Solid wall and open boundary conditions in hybrid recursive regularized lattice Boltzmann method for compressible flows. In Physics of Fluids 31 (12), p. 126103. DOI: 10.1063/1.5129138.


Uses

  • module~~tem_absorblayer_module~~UsesGraph module~tem_absorblayer_module tem_absorbLayer_module module~aot_table_module aot_table_module module~tem_absorblayer_module->module~aot_table_module module~tem_geometry_module tem_geometry_module module~tem_absorblayer_module->module~tem_geometry_module module~treelmesh_module treelmesh_module module~tem_absorblayer_module->module~treelmesh_module module~aotus_module aotus_module module~tem_absorblayer_module->module~aotus_module module~tem_logging_module tem_logging_module module~tem_absorblayer_module->module~tem_logging_module module~env_module env_module module~tem_absorblayer_module->module~env_module module~tem_param_module tem_param_module module~tem_absorblayer_module->module~tem_param_module module~tem_aux_module tem_aux_module module~tem_absorblayer_module->module~tem_aux_module module~tem_geometry_module->module~treelmesh_module module~tem_geometry_module->module~tem_logging_module module~tem_geometry_module->module~env_module module~tem_geometry_module->module~tem_param_module module~tem_subtree_type_module tem_subTree_type_module module~tem_geometry_module->module~tem_subtree_type_module module~tem_debug_module tem_debug_module module~tem_geometry_module->module~tem_debug_module module~tem_float_module tem_float_module module~tem_geometry_module->module~tem_float_module module~tem_property_module tem_property_module module~tem_geometry_module->module~tem_property_module mpi mpi module~tem_geometry_module->mpi module~tem_tools_module tem_tools_module module~tem_geometry_module->module~tem_tools_module module~tem_topology_module tem_topology_module module~tem_geometry_module->module~tem_topology_module module~treelmesh_module->module~aot_table_module module~treelmesh_module->module~aotus_module module~treelmesh_module->module~tem_logging_module module~treelmesh_module->module~env_module module~treelmesh_module->module~tem_aux_module module~treelmesh_module->module~tem_property_module module~treelmesh_module->mpi module~treelmesh_module->module~tem_tools_module module~treelmesh_module->module~tem_topology_module module~tem_global_module tem_global_module module~treelmesh_module->module~tem_global_module module~tem_sparta_module tem_Sparta_module module~treelmesh_module->module~tem_sparta_module module~tem_logging_module->module~aot_table_module module~tem_logging_module->module~aotus_module module~tem_logging_module->module~env_module module~env_module->module~aotus_module iso_fortran_env iso_fortran_env module~env_module->iso_fortran_env module~env_module->mpi module~flu_binding flu_binding module~env_module->module~flu_binding module~tem_param_module->module~env_module module~tem_aux_module->module~aot_table_module module~tem_aux_module->module~aotus_module module~tem_aux_module->module~tem_logging_module module~tem_aux_module->module~env_module module~tem_comm_env_module tem_comm_env_module module~tem_aux_module->module~tem_comm_env_module module~tem_lua_requires_module tem_lua_requires_module module~tem_aux_module->module~tem_lua_requires_module module~tem_revision_module tem_revision_module module~tem_aux_module->module~tem_revision_module module~tem_aux_module->mpi module~tem_aux_module->module~flu_binding module~tem_aux_module->module~tem_tools_module module~tem_comm_env_module->mpi module~tem_subtree_type_module->module~treelmesh_module module~tem_subtree_type_module->module~tem_logging_module module~tem_subtree_type_module->module~env_module module~tem_subtree_type_module->module~tem_aux_module module~tem_subtree_type_module->module~tem_property_module module~tem_subtree_type_module->mpi module~tem_subtree_type_module->module~tem_global_module module~tem_lua_requires_module->module~aot_table_module module~tem_lua_requires_module->module~aotus_module module~tem_lua_requires_module->module~env_module module~tem_lua_requires_module->module~flu_binding iso_c_binding iso_c_binding module~tem_lua_requires_module->iso_c_binding module~tem_debug_module->module~aot_table_module module~tem_debug_module->module~tem_logging_module module~tem_debug_module->module~env_module module~tem_debug_module->module~flu_binding module~tem_debug_module->module~tem_tools_module module~tem_float_module->module~env_module module~tem_property_module->module~env_module module~tem_property_module->mpi module~tem_prophead_module tem_prophead_module module~tem_property_module->module~tem_prophead_module module~tem_tools_module->module~env_module module~tem_topology_module->module~env_module module~tem_global_module->module~aot_table_module module~tem_global_module->module~aotus_module module~tem_global_module->module~tem_logging_module module~tem_global_module->module~env_module module~tem_global_module->module~tem_aux_module module~tem_global_module->mpi module~tem_global_module->module~tem_prophead_module module~aot_out_module aot_out_module module~tem_global_module->module~aot_out_module module~tem_sparta_module->module~tem_logging_module module~tem_sparta_module->module~env_module module~tem_sparta_module->module~tem_aux_module module~tem_sparta_module->module~tem_float_module module~tem_sparta_module->mpi module~tem_prophead_module->module~aot_table_module module~tem_prophead_module->module~aotus_module module~tem_prophead_module->module~env_module module~tem_prophead_module->mpi module~tem_prophead_module->module~aot_out_module

Used by

  • module~~tem_absorblayer_module~~UsedByGraph module~tem_absorblayer_module tem_absorbLayer_module module~tem_spatial_module tem_spatial_module module~tem_spatial_module->module~tem_absorblayer_module module~tem_spacetime_fun_module tem_spacetime_fun_module module~tem_spacetime_fun_module->module~tem_spatial_module module~tem_spacetime_var_module tem_spacetime_var_module module~tem_spacetime_var_module->module~tem_spatial_module module~tem_spacetime_var_module->module~tem_spacetime_fun_module module~tem_variable_module tem_variable_module module~tem_spacetime_var_module->module~tem_variable_module module~tem_ini_condition_module tem_ini_condition_module module~tem_ini_condition_module->module~tem_spatial_module program~tem_spacetime_fun_test tem_spacetime_fun_test program~tem_spacetime_fun_test->module~tem_spacetime_fun_module module~tem_surfacedata_module tem_surfaceData_module module~tem_surfacedata_module->module~tem_spacetime_fun_module program~tem_varsys_derivevar_test tem_varSys_deriveVar_test program~tem_varsys_derivevar_test->module~tem_spacetime_fun_module program~tem_varsys_stfunvar_test tem_varSys_stfunVar_test program~tem_varsys_stfunvar_test->module~tem_spacetime_fun_module module~tem_derived_module tem_derived_module program~tem_varsys_stfunvar_test->module~tem_derived_module program~tem_varsys_stfunvar_test->module~tem_variable_module module~tem_bc_module tem_bc_module module~tem_bc_module->module~tem_spacetime_fun_module module~tem_varmap_module tem_varMap_module module~tem_bc_module->module~tem_varmap_module program~tem_variable_extract_test tem_variable_extract_test program~tem_variable_extract_test->module~tem_spacetime_fun_module program~tem_variable_extract_test->module~tem_derived_module program~tem_variable_extract_test->module~tem_variable_module program~tem_variable_evaltype_test tem_variable_evaltype_test program~tem_variable_evaltype_test->module~tem_spacetime_fun_module program~tem_variable_evaltype_test->module~tem_derived_module program~tem_variable_evaltype_test->module~tem_variable_module module~tem_varmap_module->module~tem_spacetime_fun_module module~tem_varmap_module->module~tem_spacetime_var_module program~tem_varsys_test tem_varSys_test program~tem_varsys_test->module~tem_spacetime_fun_module program~tem_varsys_test->module~tem_spacetime_var_module program~tem_varsys_test->module~tem_variable_module module~tem_face_module tem_face_module module~tem_face_module->module~tem_spacetime_fun_module program~tem_variable_combine_test tem_variable_combine_Test program~tem_variable_combine_test->module~tem_spacetime_fun_module program~tem_variable_combine_test->module~tem_derived_module program~tem_variable_combine_test->module~tem_variable_module module~tem_derived_module->module~tem_spacetime_fun_module module~tem_derived_module->module~tem_spacetime_var_module module~tem_derived_module->module~tem_variable_module module~tem_variable_module->module~tem_spacetime_fun_module program~tem_logical_opertor_test tem_logical_opertor_test program~tem_logical_opertor_test->module~tem_spacetime_fun_module program~tem_logical_opertor_test->module~tem_derived_module program~tem_logical_opertor_test->module~tem_variable_module program~tem_varsys_opvar_test tem_varSys_opVar_test program~tem_varsys_opvar_test->module~tem_spacetime_fun_module program~tem_varsys_opvar_test->module~tem_derived_module program~tem_varsys_opvar_test->module~tem_variable_module module~tem_tracking_module tem_tracking_module module~tem_tracking_module->module~tem_varmap_module module~tem_operation_var_module tem_operation_var_module module~tem_operation_var_module->module~tem_varmap_module module~tem_operation_var_module->module~tem_variable_module module~tem_depend_module tem_depend_module module~tem_depend_module->module~tem_varmap_module module~tem_restart_module tem_restart_module module~tem_restart_module->module~tem_varmap_module module~tem_convergence_module tem_convergence_module module~tem_convergence_module->module~tem_varmap_module program~tem_face_test~2 tem_face_test program~tem_face_test~2->module~tem_face_module module~hvs_output_module hvs_output_module module~hvs_output_module->module~tem_varmap_module program~tem_face_test~3 tem_face_test program~tem_face_test~3->module~tem_face_module program~tem_face_test tem_face_test program~tem_face_test->module~tem_face_module

Contents


Interfaces

public interface tem_absorbLayer_plane_for

Interface for planar absorbLayer

  • private function absorbLayer_plane_for_coord(me, coord, n) result(res)

    This function calculates the sigma for the absorblayer from coord. Sponge profile: where, \sigma_A - sponge strength, L - thickness, x0 - start of sponge.

    Arguments

    Type IntentOptional AttributesName
    type(tem_absorbLayer_plane_type) :: me

    Spatial absorb 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

  • private function absorbLayer_plane_for_treeids(me, treeIds, tree, n) result(res)

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

    Arguments

    Type IntentOptional AttributesName
    type(tem_absorbLayer_plane_type) :: me

    Spatial absorb 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) :: n

    Number of arrays to return

    Return Value real(kind=rk) (n)

    return value

  • private function absorbLayer_plane_vector_for_coord(me, ncomp, coord, n) result(res)

    This function calculates the sigma for the absorblayer from coord and fills up the res with the target state. Sponge profile: where, \sigma_A - sponge strength, L - thickness, x0 - start of sponge.

    Arguments

    Type IntentOptional AttributesName
    type(tem_absorbLayer_plane_type) :: me

    Spatial absorb layer to evaluate

    integer, intent(in) :: ncomp

    Number of entrys in each array

    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,ncomp)

    return value

  • private function absorbLayer_plane_vector_for_treeids(me, ncomp, treeIds, tree, n) result(res)

    This function calculates the sigma for the absorblayer from treeids and fills up the res with the target state. Sponge profile: where, \sigma_A - sponge strength, L - thickness, x0 - start of sponge.

    Arguments

    Type IntentOptional AttributesName
    type(tem_absorbLayer_plane_type) :: me

    Spatial absorb layer to evaluate

    integer, intent(in) :: ncomp

    Number of entrys in each array

    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) :: n

    Number of arrays to return

    Return Value real(kind=rk) (n,ncomp)

    return value

public interface tem_absorbLayer_radial_for

Interface for radial absorbLayer

  • private function absorbLayer_radial_for_coord(me, coord, n, nDim) result(res)

    This function calculates the sigma for the absorblayer from coord. Sponge profile: where, \sigma_A - sponge strength, L - thickness, x0 - start of sponge.

    Arguments

    Type IntentOptional AttributesName
    type(tem_absorbLayer_radial_type) :: me

    Spatial absorb 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

    integer, intent(in) :: nDim

    Dimension

    Return Value real(kind=rk) (n)

    return value

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

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

    Arguments

    Type IntentOptional AttributesName
    type(tem_absorbLayer_radial_type) :: me

    Spatial absorb 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) :: n

    Number of arrays to return

    integer, intent(in) :: nDim

    Dimension

    Return Value real(kind=rk) (n)

    return value

  • private function absorbLayer_radial_vector_for_coord(me, ncomp, coord, n, nDim) result(res)

    This function calculates the sigma for the absorblayer from coord and fills up the res with the target state. Sponge profile: where, \sigma_A - sponge strength, L - thickness, x0 - start of sponge.

    Arguments

    Type IntentOptional AttributesName
    type(tem_absorbLayer_radial_type) :: me

    Spatial absorb layer to evaluate

    integer, intent(in) :: ncomp

    Number of entrys in each array

    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

    integer, intent(in) :: nDim

    Dimension

    Return Value real(kind=rk) (n,ncomp)

    return value

  • private function absorbLayer_radial_vector_for_treeids(me, ncomp, treeIds, tree, n, nDim) result(res)

    This function calculates the sigma for the absorblayer from treeids and fills up the res with the target state. Sponge profile: where, \sigma_A - sponge strength, L - thickness, x0 - start of sponge.

    Arguments

    Type IntentOptional AttributesName
    type(tem_absorbLayer_radial_type) :: me

    Spatial absorb layer to evaluate

    integer, intent(in) :: ncomp

    Number of entrys in each array

    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) :: n

    Number of arrays to return

    integer, intent(in) :: nDim

    Dimension

    Return Value real(kind=rk) (n,ncomp)

    return value

public interface tem_absorbLayer_box_for

Interface for box absorbLayer

  • private function absorbLayer_box_for_coord(me, coord, n) result(res)

    This function calculates the sigma for the absorblayer from coord and fills up the res with the target state. Sponge profile: where, \sigma_A - sponge strength, L - thickness, x0 - start of sponge.

    Arguments

    Type IntentOptional AttributesName
    type(tem_absorbLayer_box_type) :: me

    Spatial absorb 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

  • private function absorbLayer_box_for_treeids(me, treeIds, tree, n) result(res)

    This function calculates the sigma for the absorblayer from treeids and fills up the res with the target state. Sponge profile: where, \sigma_A - sponge strength, L - thickness, x0 - start of sponge.

    Arguments

    Type IntentOptional AttributesName
    type(tem_absorbLayer_box_type) :: me

    Spatial absorb 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) :: n

    Number of arrays to return

    Return Value real(kind=rk) (n)

    return value

  • private function absorbLayer_box_vector_for_coord(me, ncomp, coord, n) result(res)

    This function calculates the sigma for the absorblayer from coord and fills up the res with the target state. Sponge profile: where, \sigma_A - sponge strength, L - thickness, x0 - start of sponge.

    Arguments

    Type IntentOptional AttributesName
    type(tem_absorbLayer_box_type) :: me

    Spatial absorb layer to evaluate

    integer, intent(in) :: ncomp

    Number of entrys in each array

    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,ncomp)

    return value

  • private function absorbLayer_box_vector_for_treeids(me, ncomp, treeIds, tree, n) result(res)

    This function calculates the sigma for the absorblayer from treeids and fills up the res with the target state. Sponge profile: where, \sigma_A - sponge strength, L - thickness, x0 - start of sponge.

    Arguments

    Type IntentOptional AttributesName
    type(tem_absorbLayer_box_type) :: me

    Spatial absorb layer to evaluate

    integer, intent(in) :: ncomp

    Number of entrys in each array

    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) :: n

    Number of arrays to return

    Return Value real(kind=rk) (n,ncomp)

    return value


Derived Types

This type contains data to define planar absorbLayer

Components

TypeVisibility AttributesNameInitial
real(kind=rk), public :: origin(3)

Plane origin, start of absorb layer

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

Plane normal should point outwards the domain and it should be unitNormal

type(absorbLayer_base_type), public :: base

Basic common data for all absorb layers

type, public :: tem_absorbLayer_box_type

This type contains data to define box absorbLayer.

Components

TypeVisibility AttributesNameInitial
real(kind=rk), public :: origin(3)

Box origin, bottom left corner of absorb layer

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

Length of box in each dimension

type(absorbLayer_base_type), public :: base

Basic common data for all absorb layers

This type contains data to define radial absorbLayer.

Components

TypeVisibility AttributesNameInitial
real(kind=rk), public :: origin(3)

origin for radial absorblayer

real(kind=rk), public :: radius

inner radius, start of radial absorblayer

type(absorbLayer_base_type), public :: base

Basic common data for all absorb layers

type, private :: absorbLayer_base_type

This type contains data to define base absorbLayer

Components

TypeVisibility AttributesNameInitial
real(kind=rk), public :: thickness

Thickness of absorb layer

real(kind=rk), public :: strength

Strength factor for the absorb Layer

real(kind=rk), public :: targetState(4)

target state: pressure, velocityX, velocityY and velocityZ


Functions

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

This function calculates the sigma for the absorblayer from coord. Sponge profile: where, \sigma_A - sponge strength, L - thickness, x0 - start of sponge.

Arguments

Type IntentOptional AttributesName
type(tem_absorbLayer_plane_type) :: me

Spatial absorb 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

private function absorbLayer_plane_vector_for_coord(me, ncomp, coord, n) result(res)

This function calculates the sigma for the absorblayer from coord and fills up the res with the target state. Sponge profile: where, \sigma_A - sponge strength, L - thickness, x0 - start of sponge.

Arguments

Type IntentOptional AttributesName
type(tem_absorbLayer_plane_type) :: me

Spatial absorb layer to evaluate

integer, intent(in) :: ncomp

Number of entrys in each array

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,ncomp)

return value

private function absorbLayer_plane_for_treeids(me, treeIds, tree, n) result(res)

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

Arguments

Type IntentOptional AttributesName
type(tem_absorbLayer_plane_type) :: me

Spatial absorb 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) :: n

Number of arrays to return

Return Value real(kind=rk) (n)

return value

private function absorbLayer_plane_vector_for_treeids(me, ncomp, treeIds, tree, n) result(res)

This function calculates the sigma for the absorblayer from treeids and fills up the res with the target state. Sponge profile: where, \sigma_A - sponge strength, L - thickness, x0 - start of sponge.

Arguments

Type IntentOptional AttributesName
type(tem_absorbLayer_plane_type) :: me

Spatial absorb layer to evaluate

integer, intent(in) :: ncomp

Number of entrys in each array

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) :: n

Number of arrays to return

Return Value real(kind=rk) (n,ncomp)

return value

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

This function calculates the sigma for the absorblayer from coord and fills up the res with the target state. Sponge profile: where, \sigma_A - sponge strength, L - thickness, x0 - start of sponge.

Arguments

Type IntentOptional AttributesName
type(tem_absorbLayer_box_type) :: me

Spatial absorb 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

private function absorbLayer_box_vector_for_coord(me, ncomp, coord, n) result(res)

This function calculates the sigma for the absorblayer from coord and fills up the res with the target state. Sponge profile: where, \sigma_A - sponge strength, L - thickness, x0 - start of sponge.

Arguments

Type IntentOptional AttributesName
type(tem_absorbLayer_box_type) :: me

Spatial absorb layer to evaluate

integer, intent(in) :: ncomp

Number of entrys in each array

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,ncomp)

return value

private function absorbLayer_box_for_treeids(me, treeIds, tree, n) result(res)

This function calculates the sigma for the absorblayer from treeids and fills up the res with the target state. Sponge profile: where, \sigma_A - sponge strength, L - thickness, x0 - start of sponge.

Arguments

Type IntentOptional AttributesName
type(tem_absorbLayer_box_type) :: me

Spatial absorb 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) :: n

Number of arrays to return

Return Value real(kind=rk) (n)

return value

private function absorbLayer_box_vector_for_treeids(me, ncomp, treeIds, tree, n) result(res)

This function calculates the sigma for the absorblayer from treeids and fills up the res with the target state. Sponge profile: where, \sigma_A - sponge strength, L - thickness, x0 - start of sponge.

Arguments

Type IntentOptional AttributesName
type(tem_absorbLayer_box_type) :: me

Spatial absorb layer to evaluate

integer, intent(in) :: ncomp

Number of entrys in each array

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) :: n

Number of arrays to return

Return Value real(kind=rk) (n,ncomp)

return value

private function absorbLayer_radial_for_coord(me, coord, n, nDim) result(res)

This function calculates the sigma for the absorblayer from coord. Sponge profile: where, \sigma_A - sponge strength, L - thickness, x0 - start of sponge.

Arguments

Type IntentOptional AttributesName
type(tem_absorbLayer_radial_type) :: me

Spatial absorb 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

integer, intent(in) :: nDim

Dimension

Return Value real(kind=rk) (n)

return value

private function absorbLayer_radial_vector_for_coord(me, ncomp, coord, n, nDim) result(res)

This function calculates the sigma for the absorblayer from coord and fills up the res with the target state. Sponge profile: where, \sigma_A - sponge strength, L - thickness, x0 - start of sponge.

Arguments

Type IntentOptional AttributesName
type(tem_absorbLayer_radial_type) :: me

Spatial absorb layer to evaluate

integer, intent(in) :: ncomp

Number of entrys in each array

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

integer, intent(in) :: nDim

Dimension

Return Value real(kind=rk) (n,ncomp)

return value

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

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

Arguments

Type IntentOptional AttributesName
type(tem_absorbLayer_radial_type) :: me

Spatial absorb 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) :: n

Number of arrays to return

integer, intent(in) :: nDim

Dimension

Return Value real(kind=rk) (n)

return value

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

This function calculates the sigma for the absorblayer from treeids and fills up the res with the target state. Sponge profile: where, \sigma_A - sponge strength, L - thickness, x0 - start of sponge.

Arguments

Type IntentOptional AttributesName
type(tem_absorbLayer_radial_type) :: me

Spatial absorb layer to evaluate

integer, intent(in) :: ncomp

Number of entrys in each array

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) :: n

Number of arrays to return

integer, intent(in) :: nDim

Dimension

Return Value real(kind=rk) (n,ncomp)

return value


Subroutines

public subroutine tem_load_absorbLayer_plane(me, conf, thandle, nComp)

This routine load planar absorbLayer. Example:

Read more…

Arguments

Type IntentOptional AttributesName
type(tem_absorbLayer_plane_type), intent(out) :: me

Plane absorb layer

type(flu_State) :: conf

lua state type

integer, intent(in) :: thandle

aotus parent handle

integer, intent(in) :: nComp

Number of components, load target_state only if nComp > 1

public subroutine tem_load_absorbLayer_box(me, conf, thandle, nComp)

This routine load box absorbLayer. Box must be axis-aligned so it is defined by an origin and extent in 3 dimensions. Example:

Read more…

Arguments

Type IntentOptional AttributesName
type(tem_absorbLayer_box_type), intent(out) :: me

Plane absorb layer

type(flu_State) :: conf

lua state type

integer, intent(in) :: thandle

aotus parent handle

integer, intent(in) :: nComp

Number of components, load target_state only if nComp > 1

public subroutine tem_load_absorbLayer_radial(me, conf, thandle, nComp)

This routine load radial absorbLayer. Example:

Read more…

Arguments

Type IntentOptional AttributesName
type(tem_absorbLayer_radial_type), intent(out) :: me

Plane absorb layer

type(flu_State) :: conf

lua state type

integer, intent(in) :: thandle

aotus parent handle

integer, intent(in) :: nComp

Number of components, load target_state only if nComp > 1

private subroutine load_absorbLayer_base(me, nComp, conf, thandle)

This routine load base info for absorbLayer

Arguments

Type IntentOptional AttributesName
type(absorbLayer_base_type), intent(out) :: me

Base info for absorb layer

integer, intent(in) :: nComp

Number of components, load target_state only if nComp > 1

type(flu_State) :: conf

lua state type

integer, intent(in) :: thandle

aotus parent handle