sBase_free Subroutine

private subroutine sBase_free(sf)

finalize the type sBase

Type Bound

t_sBase

Arguments

Type IntentOptional Attributes Name
class(t_sBase), intent(inout) :: sf

self


Calls

proc~~sbase_free~~CallsGraph proc~sbase_free t_sBase%sBase_free sdeallocate sdeallocate proc~sbase_free->sdeallocate

Source Code

SUBROUTINE sBase_free( sf )
! MODULES
IMPLICIT NONE
!-----------------------------------------------------------------------------------------------------------------------------------
! INPUT VARIABLES
!-----------------------------------------------------------------------------------------------------------------------------------
! OUTPUT VARIABLES
  CLASS(t_sBase), INTENT(INOUT) :: sf !! self
!-----------------------------------------------------------------------------------------------------------------------------------
! LOCAL VARIABLES
!===================================================================================================================================
  IF(.NOT.sf%initialized) RETURN
  !pointers, classes
  NULLIFY(sf%grid)
  !allocatables
  SDEALLOCATE(sf%xi_GP)
  SDEALLOCATE(sf%w_GPloc)
  SDEALLOCATE(sf%w_GP)
  SDEALLOCATE(sf%s_GP)
  SDEALLOCATE(sf%s_IP)
  SDEALLOCATE(sf%base_offset)
  SDEALLOCATE(sf%base_GP)
  SDEALLOCATE(sf%base_ds_GP)
  SDEALLOCATE(sf%base_dsAxis)
  SDEALLOCATE(sf%base_dsEdge)
  SDEALLOCATE(sf%nDOF_BC)
  SDEALLOCATE(sf%A_Axis)
  SDEALLOCATE(sf%invA_Axis)
  SDEALLOCATE(sf%R_Axis)
  SDEALLOCATE(sf%AR_Axis)
  SDEALLOCATE(sf%A_Edge)
  SDEALLOCATE(sf%invA_Edge)
  SDEALLOCATE(sf%R_Edge)
  SDEALLOCATE(sf%AR_Edge)
  SELECT TYPE (sf)
  TYPE IS(t_sbase_spl)
    CALL sf%interpol%free()
    CALL sf%bspl%free()
  TYPE IS(t_sbase_disc)
    SDEALLOCATE(sf%xiIP)
    SDEALLOCATE(sf%wbaryIP)
    SDEALLOCATE(sf%DmatIP)
  END SELECT !TYPE

  sf%continuity =-99
  sf%deg        =-1
  sf%degGP      =-1
  sf%nGP        =-1
  sf%nbase      =-1
  sf%initialized=.FALSE.

END SUBROUTINE sBase_free