tem_freeSurfData Subroutine

public subroutine tem_freeSurfData(me, minLevel, maxLevel)

This subroutine deallocates all arrays in the tem_surfaceData_type. This is used when unloading and reloading the stl surface mesh during dynamic load balancing. General information like outputprefix, timeControl and backPointCoords are NOT touched!!!

Arguments

Type IntentOptional Attributes Name
type(tem_surfData_type), intent(inout) :: me

datatype to store the surface information

integer, intent(in) :: minLevel

Level range

integer, intent(in) :: maxLevel

Level range


Source Code

  subroutine tem_freeSurfData( me, minLevel, maxLevel )
    ! ---------------------------------------------------------------------------
    !> datatype to store the surface information
    type( tem_surfData_type ), intent(inout) :: me
    !> Level range
    integer, intent(in) :: minLevel, maxLevel
    ! ---------------------------------------------------------------------------
    integer :: iLevel
    ! ---------------------------------------------------------------------------

    me%nUniquePoints_total = 0
    me%nTrias = 0

    if( allocated( me%pointCoords ))     deallocate( me%pointCoords )
    if( allocated( me%surfArea ))        deallocate( me%surfArea )
    if( allocated( me%parentIDs ))then
      do iLevel = minLevel, maxLevel
        if( allocated( me%parentIDs(iLevel)%ptrs ))then
          deallocate( me%parentIDs(iLevel)%ptrs )
        end if
      end do
    end if
    if( allocated( me%trias ))           deallocate( me%trias )
    if( allocated( me%stlHead ))         deallocate( me%stlHead )

  end subroutine tem_freeSurfData