An element for a spacetime function within a linked list.
Besides the actual list of spacetime definitions that are provided, there is a pointer to the next element in the list.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer, | public | :: | nVals | Number of space time functions |
|||
type(tem_spacetime_fun_type), | public, | dimension(:), pointer | :: | val | => | NULL() | Space time function target which C_ptr will point to We maintain a list of spacetime functions here, as each one might be restricted to a subtree, and multiple of those locally different function definitions might be used to define a single variable like a source term. |
type(tem_pointData_list_type), | public | :: | pntData | Points data containing space coordinates or evaluated values for time-indepentent functions |
|||
type(c_ptr), | public | :: | solver_bundle | A pointer to possibly additional solver data. This is for example used to keep a link to the projection data in Ateles to enable the construction of element data from the point data provided by the space-time function. |
|||
integer, | public | :: | isSurface | = | -1 | Used to decided whether this spacetime functions are used for surface or volume i.e boundary or source. Boundary is treated as surface and source as volume coupling type can be rather surface or volume. For boundary. isSurface = 0 For volume, isSurface = 1 |
|
type(tem_st_fun_listElem_type), | public, | pointer | :: | next | => | NULL() | Pointer to next space time function |
type tem_st_fun_listElem_type
!> Number of space time functions
integer :: nVals
!> Space time function target which C_ptr will point to
!
!! We maintain a list of spacetime functions here, as each one might be
!! restricted to a subtree, and multiple of those locally different function
!! definitions might be used to define a single variable like a source term.
type(tem_spacetime_fun_type), dimension(:), pointer :: val => NULL()
!> Points data containing space coordinates or evaluated
!! values for time-indepentent functions
type(tem_pointData_list_type) :: pntData
!> A pointer to possibly additional solver data.
!!
!! This is for example used to keep a link to the projection data
!! in Ateles to enable the construction of element data from the
!! point data provided by the space-time function.
type(c_ptr) :: solver_bundle
!> Used to decided whether this spacetime functions are used
!! for surface or volume i.e boundary or source.
!! Boundary is treated as surface and source as volume
!! coupling type can be rather surface or volume.
!! For boundary. isSurface = 0
!! For volume, isSurface = 1
integer :: isSurface = -1
!> Pointer to next space time function
type(tem_st_fun_listElem_type), pointer :: next => NULL()
end type tem_st_fun_listElem_type