@@ -449,6 +449,44 @@ subroutine runParmetis(MNP)
449449
450450 INTEGER :: np_toSend
451451
452+ #ifdef W3_SCOTCH
453+ interface
454+ #ifdef SCOTCH_707
455+ subroutine SCOTCHFParMETIS_V3_PartGeomKway (vtxdist , xadj , adjncy , &
456+ vwgt , adjwgt , wgtflag , numflag , ndims , xyz , ncon , nparts , &
457+ tpwgts , ubvec , options , edgecut , part , comm , ref )
458+ import :: MPI_Comm
459+ integer , intent (in ) :: vtxdist(* ), xadj(* ), adjncy(* )
460+ integer , intent (in ) :: vwgt(* ), adjwgt(* )
461+ integer , intent (in ) :: wgtflag, numflag, ndims, ncon, nparts
462+ real (4 ), intent (in ) :: xyz(* )
463+ real (4 ), intent (in ) :: tpwgts(* ), ubvec(* )
464+ integer , intent (in ) :: options(* )
465+ integer , intent (out ) :: edgecut
466+ integer , intent (inout ) :: part(* )
467+ type (MPI_Comm), intent (in ) :: comm
468+ integer , intent (out ) :: ref
469+ end subroutine SCOTCHFParMETIS_V3_PartGeomKway
470+ #else
471+ subroutine SCOTCH_ParMETIS_V3_PartGeomKway (vtxdist , xadj , adjncy , &
472+ vwgt , adjwgt , wgtflag , numflag , ndims , xyz , ncon , nparts , &
473+ tpwgts , ubvec , options , edgecut , part , comm , ref )
474+ import :: MPI_Comm
475+ integer , intent (in ) :: vtxdist(* ), xadj(* ), adjncy(* )
476+ integer , intent (in ) :: vwgt(* ), adjwgt(* )
477+ integer , intent (in ) :: wgtflag, numflag, ndims, ncon, nparts
478+ real (4 ), intent (in ) :: xyz(* )
479+ real (4 ), intent (in ) :: tpwgts(* ), ubvec(* )
480+ integer , intent (in ) :: options(* )
481+ integer , intent (out ) :: edgecut
482+ integer , intent (inout ) :: part(* )
483+ type (MPI_Comm), intent (in ) :: comm
484+ integer , intent (out ) :: ref
485+ end subroutine SCOTCH_ParMETIS_V3_PartGeomKway
486+ #endif
487+ end interface
488+ #endif
489+
452490 ! CALL REAL_MPI_BARRIER_PDLIB(comm, "runParmetis, step 1")
453491 ! Create xadj and adjncy arrays. They holds the nodes neighbors in CSR Format
454492 ! Here, the adjacency structure of a graph is represented by two arrays,
0 commit comments