tem_spatial_type Derived Type

type, public :: tem_spatial_type

contains spatial state information


Inherits

type~~tem_spatial_type~~InheritsGraph type~tem_spatial_type tem_spatial_type flu_State flu_State type~tem_spatial_type->flu_State conf type~ic_2dcrvp_type ic_2dcrvp_type type~tem_spatial_type->type~ic_2dcrvp_type crvp type~ic_gausspulse_type ic_gausspulse_type type~tem_spatial_type->type~ic_gausspulse_type gausspulse type~ic_tgv_type ic_tgv_type type~tem_spatial_type->type~ic_tgv_type tgv type~spatial_hopf_type spatial_hopf_type type~tem_spatial_type->type~spatial_hopf_type hopf type~spatial_parabol_type spatial_parabol_type type~tem_spatial_type->type~spatial_parabol_type parabol type~spatial_random_type spatial_random_type type~tem_spatial_type->type~spatial_random_type random type~spatial_value_type spatial_value_type type~tem_spatial_type->type~spatial_value_type valOnLvl type~tem_cylindricalwave_type tem_cylindricalWave_type type~tem_spatial_type->type~tem_cylindricalwave_type cylindricalWave type~tem_heaviside_gibbs_type tem_heaviside_gibbs_type type~tem_spatial_type->type~tem_heaviside_gibbs_type heaviside_gibbs_fun type~tem_miescatter_field_type~2 tem_miescatter_field_type type~tem_spatial_type->type~tem_miescatter_field_type~2 mie_fun type~tem_pmllayer_type tem_pmlLayer_type type~tem_spatial_type->type~tem_pmllayer_type pml type~tem_polygon_material_type tem_polygon_material_type type~tem_spatial_type->type~tem_polygon_material_type polygon_material type~tem_spongelayer_box_type tem_spongeLayer_box_type type~tem_spatial_type->type~tem_spongelayer_box_type spongeBox type~tem_spongelayer_plane_type tem_spongeLayer_plane_type type~tem_spatial_type->type~tem_spongelayer_plane_type spongePlane type~tem_spongelayer_radial_type tem_spongeLayer_radial_type type~tem_spatial_type->type~tem_spongelayer_radial_type spongeRadial type~cutoff_type cutoff_type type~ic_2dcrvp_type->type~cutoff_type cutoff type~tem_shape_type tem_shape_type type~spatial_parabol_type->type~tem_shape_type geometry type~grw_realarray_type grw_realarray_type type~spatial_value_type->type~grw_realarray_type evalVal type~tem_mieexpansion_type~2 tem_mieexpansion_type type~tem_miescatter_field_type~2->type~tem_mieexpansion_type~2 mieexpansion type~tem_miescatter_type~2 tem_miescatter_type type~tem_miescatter_field_type~2->type~tem_miescatter_type~2 miescatter type~tem_polygon_movement_type tem_polygon_movement_type type~tem_polygon_material_type->type~tem_polygon_movement_type moving type~tem_polygon_vertex_type tem_polygon_vertex_type type~tem_polygon_material_type->type~tem_polygon_vertex_type poly_list type~spongelayer_base_type spongeLayer_base_type type~tem_spongelayer_box_type->type~spongelayer_base_type type~tem_spongelayer_plane_type->type~spongelayer_base_type type~tem_spongelayer_radial_type->type~spongelayer_base_type type~tem_canonicalnd_type tem_canonicalND_type type~tem_shape_type->type~tem_canonicalnd_type canoND type~tem_cylinder_type tem_cylinder_type type~tem_shape_type->type~tem_cylinder_type cylinder type~tem_ellipsoid_type tem_ellipsoid_type type~tem_shape_type->type~tem_ellipsoid_type ellipsoid type~tem_sphere_type tem_sphere_type type~tem_shape_type->type~tem_sphere_type sphere type~tem_stldata_type tem_stlData_type type~tem_shape_type->type~tem_stldata_type stl_data type~tem_triangle_type tem_triangle_type type~tem_shape_type->type~tem_triangle_type triangle

Inherited by

type~~tem_spatial_type~~InheritedByGraph type~tem_spatial_type tem_spatial_type type~tem_ini_condition_type tem_ini_condition_type type~tem_ini_condition_type->type~tem_spatial_type ini_state type~tem_spacetime_fun_type tem_spacetime_fun_type type~tem_spacetime_fun_type->type~tem_spatial_type spatial type~tem_st_fun_listelem_type tem_st_fun_listElem_type type~tem_st_fun_listelem_type->type~tem_spacetime_fun_type val type~tem_st_fun_listelem_type->type~tem_st_fun_listelem_type next type~tem_variable_type tem_variable_type type~tem_variable_type->type~tem_spacetime_fun_type st_fun type~tem_st_fun_linkedlist_type tem_st_fun_linkedList_type type~tem_st_fun_linkedlist_type->type~tem_st_fun_listelem_type head

Components

Type Visibility Attributes Name Initial
character(len=LabelLen), public :: kind
  • 'none' = no spatial modifier defined
  • 'const' = a constant factor
  • 'lua_fun' = defined as a lua function
  • 'parabol' = parabolic function shape = {object = line} defines 2d parabola shape = {object = plane} defines 3d parabola Further predefined functions might be added here
real(kind=rk), public, allocatable :: const(:)

constant spatial value for nComponents

integer, public :: lua_fun_ref = 0

Reference to the Lua function if the spatial function is defined as a Lua function.

type(flu_State), public :: conf
type(ic_gausspulse_type), public :: gausspulse

defines gausspulse

type(ic_2dcrvp_type), public :: crvp

2d co-rotating vortex pair

type(ic_tgv_type), public :: tgv

Taylor-Green vortex type

type(spatial_parabol_type), public :: parabol

Parabol type

type(spatial_random_type), public :: random

Random type

type(spatial_hopf_type), public :: hopf

Hopf Fibration type

type(tem_miescatter_field_type), public :: mie_fun

Spatial function for Mie-series solution of electrodynamic scattering at dielectric sphere.

type(tem_heaviside_gibbs_type), public :: heaviside_gibbs_fun

Spatial function for Heaviside function including Gibbs oscillations.

type(spatial_value_type), public :: valOnLvl(globalMaxLevels)

store spatial value on each level

type(tem_spongeLayer_plane_type), public :: spongePlane

type for the plane sponge layer

type(tem_spongeLayer_box_type), public :: spongeBox

type for the box sponge layer

type(tem_spongeLayer_radial_type), public :: spongeRadial

type for the radial sponge layer

type(tem_pmlLayer_type), public :: pml

type for the pml damping medium

type(tem_cylindricalWave_type), public :: cylindricalWave

type for a scalar cylindrical wave.

type(tem_polygon_material_type), public :: polygon_material

Description of a material definition by a polygon.

real(kind=rk), public :: rect_ly

range of x and y dimention for rectangular function

real(kind=rk), public :: rect_lz
logical, public :: isStored = .false.

to store spatial values during initialization


Source Code

  type tem_spatial_type
    !> kind: how is the spatial defined?
    !!
    !! - 'none' = no spatial modifier defined
    !! - 'const' = a constant factor
    !! - 'lua_fun' = defined as a lua function
    !! - 'parabol' = parabolic function
    !!               shape = {object = line} defines 2d parabola
    !!               shape = {object = plane} defines 3d parabola
    !! Further predefined functions might be added here
    character(len=LabelLen) :: kind

    !> constant spatial value for nComponents
    real(kind=rk), allocatable :: const(:)

    !> Reference to the Lua function if the spatial function is defined
    !! as a Lua function.
    integer :: lua_fun_ref = 0

    type(flu_state) :: conf

    !> defines gausspulse
    type( ic_gausspulse_type ) :: gausspulse

    !> 2d co-rotating vortex pair
    type( ic_2dcrvp_type ) :: crvp

    !> Taylor-Green vortex type
    type( ic_tgv_type ) :: tgv

    !> Parabol type
    type( spatial_parabol_type ) :: parabol

    !> Random type
    type( spatial_random_type ) :: random

    !> Hopf Fibration type
    type( spatial_hopf_type ) :: hopf

    !> Spatial function for Mie-series solution
    !! of electrodynamic scattering at dielectric sphere.
    type(tem_miescatter_field_type) :: mie_fun

    !> Spatial function for Heaviside function including Gibbs
    !! oscillations.
    type(tem_heaviside_gibbs_type) :: heaviside_gibbs_fun

    !> store spatial value on each level
    type(spatial_value_type) :: valOnLvl(globalMaxLevels)

    !> type for the plane sponge layer
    type(tem_spongeLayer_plane_type) :: spongePlane

    !> type for the box sponge layer
    type(tem_spongeLayer_box_type) :: spongeBox

    !> type for the radial sponge layer
    type(tem_spongeLayer_radial_type) :: spongeRadial

    !> type for the pml damping medium
    type(tem_pmlLayer_type) :: pml

    !> type for a scalar cylindrical wave.
    type(tem_cylindricalWave_type) :: cylindricalWave

    !> Description of a material definition by a polygon.
    type(tem_polygon_material_type) :: polygon_material

    !> range of x and y dimention for rectangular function
    real(kind=rk) :: rect_ly
    real(kind=rk) :: rect_lz

    !> to store spatial values during initialization
    logical :: isStored = .false.
  end type tem_spatial_type