This data type is providing the input for the reduction routines It must be filled by the solver, before the reduction is called It exists on each process

Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|

integer, | public | :: | nComponents | amount of components of the quantity to reduce |
|||

real(kind=rk), | public, | allocatable | :: | val(:) | the result from the reduction operation size: nComponents |
||

integer, | public | :: | nElems | how many elements have been included into the reduction (so far) |
|||

real(kind=rk), | public | :: | Vloc | local part of total volume of intersected elements |
|||

character(len=labelLen), | public | :: | reduceType | = | '' | Which operation to perform on the list of elements |

```
type tem_reduction_spatial_type
!> amount of components of the quantity to reduce
integer :: nComponents
!> the result from the reduction operation
!! size: nComponents
real(kind=rk), allocatable :: val(:)
!> how many elements have been included into the reduction (so far)
integer :: nElems
!> local part of total volume of intersected elements
real(kind=rk) :: Vloc
!> Which operation to perform on the list of elements
character(len=labelLen) :: reduceType = ''
end type tem_reduction_spatial_type
```