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