return the number of total allocated memory (bytes) per element
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_element_type), | intent(inout) | :: | me |
element object |
||
integer(kind=long_k), | intent(out) | :: | elemSize |
number of total entries to be returned |
subroutine getSize_element( me, elemSize ) ! --------------------------------------------------------------------------- !> element object type( tem_element_type ), intent(inout) :: me !> number of total entries to be returned integer(kind=long_k), intent(out) :: elemSize ! --------------------------------------------------------------------------- integer :: iVal, nSize ! --------------------------------------------------------------------------- elemSize = 0 elemSize = elemSize + int( me%tID%containerSize*12, kind=long_k) elemSize = elemSize + int( me%property%containerSize*8, kind=long_k) elemSize = elemSize + int( me%eType%containerSize*4, kind=long_k) elemSize = elemSize + int( me%pntTID%containerSize*4, kind=long_k) do iVal = 1, me%stencil%nVals if( me%stencil%val( iVal )%nVals .gt. 0 ) then nSize = size( me%stencil%val( iVal )%val(1)%tIDpos )*8 else nSize = 0 end if elemSize = elemSize & & + int( me%stencil%val( iVal )%containerSize*nSize, kind=long_k) end do do iVal = 1, me%neighID%nVals elemSize = elemSize & & + int( me%neighID%val( iVal )%containerSize*12, kind=long_k) end do elemSize = elemSize + int( me%sourceProc%containerSize*4, kind=long_k) elemSize = elemSize + int( me%haloNesting%containerSize*4, kind=long_k) elemSize = elemSize + int( me%needsUpdate%containerSize*4, kind=long_k) end subroutine getSize_element