subroutine Free_Mesh2D_t(this)
implicit none
class(Mesh2D_t),intent(inout) :: this
this%nElem = 0
this%nNodes = 0
this%nSides = 0
this%nCornerNodes = 0
this%nUniqueSides = 0
this%nUniqueNodes = 0
this%nBCs = 0
deallocate(this%elemInfo)
deallocate(this%sideInfo)
deallocate(this%nodeCoords)
deallocate(this%globalNodeIDs)
deallocate(this%CGNSCornerMap)
deallocate(this%CGNSSideMap)
deallocate(this%BCType)
deallocate(this%BCNames)
if(allocated(this%elemMaterial)) deallocate(this%elemMaterial)
if(allocated(this%materialNames)) deallocate(this%materialNames)
this%nMaterials = 0
call this%decomp%Free()
endsubroutine Free_Mesh2D_t