tem_spatial_type Derived Type

type, public :: tem_spatial_type

contains spatial state information


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