all data needed for a transient reduction, operation to perform and necessary data from previous timesteps
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
type(tem_reduction_transient_config_type), | public | :: | config |
reduction info loaded from config file |
|||
integer, | public | :: | nTimes | = | 0 |
Number of "recorded" previous iterations |
|
integer, | public | :: | nEntries | = | 0 |
Number of values to store in the double buffer val |
|
integer, | public | :: | nComponents | = | 0 |
number of components |
|
integer, | public | :: | nDofs |
Number of degrees of freedom |
|||
integer, | public | :: | curr |
Index of the storage for the currently filling (incomplete) position in val |
|||
integer, | public | :: | last |
Index of the storage location with the previously completed interval holding the reduced value over that interval. |
|||
real(kind=rk), | public, | allocatable | :: | val(:,:) |
Double buffer to store data from previous timesteps size (nComponentsnDofstree%nElems,2) 2nd index is used to maintain last valid reduced value when nRecord is reached. It will be swapped to avoid copy operations |
type tem_reduction_transient_type
!> reduction info loaded from config file
type(tem_reduction_transient_config_type) :: config
!> Number of "recorded" previous iterations
integer :: nTimes = 0
!> Number of values to store in the double buffer val
integer :: nEntries = 0
!> number of components
integer :: nComponents = 0
!> Number of degrees of freedom
integer :: nDofs
!> Index of the storage for the currently filling (incomplete) position
!! in val
integer :: curr
!> Index of the storage location with the previously completed interval
!! holding the reduced value over that interval.
integer :: last
!> Double buffer to store data from previous timesteps
!! size (nComponents*nDofs*tree%nElems,2)
!! 2nd index is used to maintain last valid reduced value when
!! nRecord is reached. It will be swapped to avoid copy operations
real(kind=rk), allocatable :: val(:,:)
end type tem_reduction_transient_type