tem_spongeLayer_module Module

This module gathers the various spatial spongeLayer definitions


Uses

  • module~~tem_spongelayer_module~~UsesGraph module~tem_spongelayer_module tem_spongeLayer_module module~aot_table_module aot_table_module module~tem_spongelayer_module->module~aot_table_module module~tem_geometry_module tem_geometry_module module~tem_spongelayer_module->module~tem_geometry_module module~treelmesh_module treelmesh_module module~tem_spongelayer_module->module~treelmesh_module module~aotus_module aotus_module module~tem_spongelayer_module->module~aotus_module module~tem_logging_module tem_logging_module module~tem_spongelayer_module->module~tem_logging_module module~env_module env_module module~tem_spongelayer_module->module~env_module module~tem_param_module tem_param_module module~tem_spongelayer_module->module~tem_param_module module~tem_aux_module tem_aux_module module~tem_spongelayer_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_spongelayer_module~~UsedByGraph module~tem_spongelayer_module tem_spongeLayer_module module~tem_spatial_module tem_spatial_module module~tem_spatial_module->module~tem_spongelayer_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


Derived Types

type, public :: spongeLayer_type

This type contains data to define spongeLayer

Components

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

Sponge Plane origin

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

Sponge Plane normal

real(kind=rk), public :: dampFactor

Damp factor for the sponge Layer

real(kind=rk), public :: dampExponent

damping exponent for the sponge layer

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

target state

This type contains data to define radial spongeLayer

Components

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

Sponge radial origin

real(kind=rk), public :: innerRadius

Sponge inner radius i.e. sponge start

real(kind=rk), public :: outerRadius

Sponge outer radius i.e. sponge end

real(kind=rk), public :: dampFactor

Damp factor for the sponge Layer

real(kind=rk), public :: dampExponent

damping exponent for the sponge layer

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

target state. For viscous sponge, viscosity is stored and multiplied with sponge strength


Functions

public function tem_spongelayer_for(me, ncomp, coord, n) result(res)

This function calculates the sigma for the spongelayer and fills up the res with the target state

Arguments

Type IntentOptional AttributesName
type(spongeLayer_type) :: me

Spacetime function 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

public function tem_spongelayer_for_treeids(me, ncomp, treeIds, tree, n) result(res)

This function calculates the sigma for the spongelayer and fills up the res with the target state

Arguments

Type IntentOptional AttributesName
type(spongeLayer_type) :: me

Spacetime function 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 function tem_radialSpongelayer2d_for(me, nComp, coord, n) result(res)

This function calculates the sigma for the 2d radial viscosity spongelayer and fills up rest with target_state. This function is currectly used to define viscosity sponge in musubi.

Arguments

Type IntentOptional AttributesName
type(tem_radialSpongeLayer_type) :: me

Spacetime function 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

public function tem_radialSpongelayer_for(me, nComp, coord, n) result(res)

This function calculates the sigma for the radial viscosity spongelayer and fills up rest with target_state. This function is currectly used to define viscosity sponge in musubi.

Arguments

Type IntentOptional AttributesName
type(tem_radialSpongeLayer_type) :: me

Spacetime function 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

public function tem_radialViscSpongelayer2d_for(me, coord, n) result(res)

This function calculates the sigma for the 2d radial viscosity spongelayer and multiply with targetState. This function is currectly used to define viscosity sponge in musubi.

Arguments

Type IntentOptional AttributesName
type(tem_radialSpongeLayer_type) :: me

Spacetime function 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

public function tem_radialViscSpongelayer_for(me, coord, n) result(res)

This function calculates the sigma for the radial viscosity spongelayer and multiply with targetState. This function is currectly used to define viscosity sponge in musubi.

Arguments

Type IntentOptional AttributesName
type(tem_radialSpongeLayer_type) :: me

Spacetime function 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


Subroutines

public subroutine load_spongeLayer(conf, thandle, me, ndim)

Arguments

Type IntentOptional AttributesName
type(flu_State) :: conf

lua state type

integer, intent(in) :: thandle

aotus parent handle

type(spongeLayer_type), intent(out) :: me

Global spongeLayer data type

integer, intent(in) :: ndim

number of spatial dimensions

public subroutine tem_load_radialSpongeLayer(me, conf, thandle, nDim, stateName)

This subroutine load data for radial sponge layer Example:

Read more…

Arguments

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

Radial spongeLayer data type

type(flu_State) :: conf

lua state type

integer, intent(in) :: thandle

aotus parent handle

integer, intent(in), optional :: nDim

number of Dimension for nonViscous sponges

character(len=*), intent(in), optional :: stateName

Load stateName from target_state table

private subroutine load_defaultTargetState(conf, parent, nDim, targetState)

This routine loads state names from target_state table

Arguments

Type IntentOptional AttributesName
type(flu_State) :: conf

lua state type

integer, intent(in) :: parent

aotus parent handle

integer, intent(in) :: nDim

Number of dimension

real(kind=rk), intent(out), allocatable:: targetState(:)

Target state value