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 type~tem_absorblayer_plane_type tem_absorbLayer_plane_type type~tem_spatial_type->type~tem_absorblayer_plane_type absLayerPlane type~tem_polygon_material_type tem_polygon_material_type type~tem_spatial_type->type~tem_polygon_material_type polygon_material type~ic_2dcrvp_type ic_2dcrvp_type type~tem_spatial_type->type~ic_2dcrvp_type crvp type~spatial_value_type spatial_value_type type~tem_spatial_type->type~spatial_value_type valOnLvl type~spatial_random_type spatial_random_type type~tem_spatial_type->type~spatial_random_type random type~tem_radialspongelayer_type tem_radialSpongeLayer_type type~tem_spatial_type->type~tem_radialspongelayer_type radialSponge type~tem_pmllayer_type tem_pmlLayer_type type~tem_spatial_type->type~tem_pmllayer_type pml type~tem_miescatter_field_type tem_miescatter_field_type type~tem_spatial_type->type~tem_miescatter_field_type mie_fun 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_parabol_type spatial_parabol_type type~tem_spatial_type->type~spatial_parabol_type parabol type~spatial_hopf_type spatial_hopf_type type~tem_spatial_type->type~spatial_hopf_type hopf type~tem_absorblayer_radial_type tem_absorbLayer_radial_type type~tem_spatial_type->type~tem_absorblayer_radial_type absLayerRadial type~tem_heaviside_gibbs_type tem_heaviside_gibbs_type type~tem_spatial_type->type~tem_heaviside_gibbs_type heaviside_gibbs_fun type~spongelayer_type spongeLayer_type type~tem_spatial_type->type~spongelayer_type sponge type~tem_absorblayer_box_type tem_absorbLayer_box_type type~tem_spatial_type->type~tem_absorblayer_box_type absLayerBox flu_state flu_state type~tem_spatial_type->flu_state conf type~tem_cylindricalwave_type tem_cylindricalWave_type type~tem_spatial_type->type~tem_cylindricalwave_type cylindricalWave type~absorblayer_base_type absorbLayer_base_type type~tem_absorblayer_plane_type->type~absorblayer_base_type base 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~cutoff_type cutoff_type type~ic_2dcrvp_type->type~cutoff_type cutoff type~grw_realarray_type grw_realarray_type type~spatial_value_type->type~grw_realarray_type evalVal type~tem_miescatter_type tem_miescatter_type type~tem_miescatter_field_type->type~tem_miescatter_type miescatter type~tem_mieexpansion_type tem_mieexpansion_type type~tem_miescatter_field_type->type~tem_mieexpansion_type mieexpansion type~tem_shape_type tem_shape_type type~spatial_parabol_type->type~tem_shape_type geometry type~tem_absorblayer_radial_type->type~absorblayer_base_type base type~tem_absorblayer_box_type->type~absorblayer_base_type base

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

Contents

Source Code


Components

TypeVisibility AttributesNameInitial
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(spongeLayer_type), public :: sponge

type for the sponge layer

type(tem_radialSpongeLayer_type), public :: radialSponge

type for the radial sponge layer

type(tem_absorbLayer_plane_type), public :: absLayerPlane

type for the planar absorb layer

type(tem_absorbLayer_box_type), public :: absLayerBox

type for the box absorb layer

type(tem_absorbLayer_radial_type), public :: absLayerRadial

type for the radial absorb 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 sponge layer
    type(spongeLayer_type) :: sponge

    !> type for the radial sponge layer
    type(tem_radialSpongeLayer_type) :: radialSponge

    !> type for the planar absorb layer
    type(tem_absorbLayer_plane_type) :: absLayerPlane

    !> type for the box absorb layer
    type(tem_absorbLayer_box_type) :: absLayerBox

    !> type for the radial absorb layer
    type(tem_absorbLayer_radial_type) :: absLayerRadial

    !> 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