ADflow  v1.0
ADflow is a finite volume RANS solver tailored for gradient-based aerodynamic design optimization.
Macros | Functions
metis.c File Reference
#include <metis.h>
Include dependency graph for metis.c:

Go to the source code of this file.

Macros

#define INCOL   10
 
#define INROW   20
 
#define VC   1
 
#define SC   2
 
#define HC   3
 
#define VR   4
 
#define SR   5
 
#define HR   6
 
#define THRESH   1 /* threshold for insertion */
 
#define MTHRESH   6 /* threshold for median */
 

Functions

void Balance2Way (CtrlType *ctrl, GraphType *graph, int *tpwgts, float ubfactor)
 
void Bnd2WayBalance (CtrlType *ctrl, GraphType *graph, int *tpwgts)
 
void General2WayBalance (CtrlType *ctrl, GraphType *graph, int *tpwgts)
 
void BucketSortKeysInc (int n, int max, idxtype *keys, idxtype *tperm, idxtype *perm)
 
void CreateCoarseGraph (CtrlType *ctrl, GraphType *graph, int cnvtxs, idxtype *match, idxtype *perm)
 
void CreateCoarseGraphNoMask (CtrlType *ctrl, GraphType *graph, int cnvtxs, idxtype *match, idxtype *perm)
 
void CreateCoarseGraph_NVW (CtrlType *ctrl, GraphType *graph, int cnvtxs, idxtype *match, idxtype *perm)
 
GraphTypeSetUpCoarseGraph (GraphType *graph, int cnvtxs, int dovsize)
 
void ReAdjustMemory (GraphType *graph, GraphType *cgraph, int dovsize)
 
GraphTypeCoarsen2Way (CtrlType *ctrl, GraphType *graph)
 
void CompressGraph (CtrlType *ctrl, GraphType *graph, int nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *cptr, idxtype *cind)
 
void PruneGraph (CtrlType *ctrl, GraphType *graph, int nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *iperm, float factor)
 
int ComputeCut (GraphType *graph, idxtype *where)
 
int CheckBnd (GraphType *graph)
 
int CheckBnd2 (GraphType *graph)
 
int CheckNodeBnd (GraphType *graph, int onbnd)
 
int CheckRInfo (RInfoType *rinfo)
 
int CheckNodePartitionParams (GraphType *graph)
 
int IsSeparable (GraphType *graph)
 
void METIS_EstimateMemory (int *nvtxs, idxtype *xadj, idxtype *adjncy, int *numflag, int *optype, int *nbytes)
 
void EstimateCFraction (int nvtxs, idxtype *xadj, idxtype *adjncy, float *vfraction, float *efraction)
 
int ComputeCoarseGraphSize (int nvtxs, idxtype *xadj, idxtype *adjncy, int cnvtxs, idxtype *cmap, idxtype *match, idxtype *perm)
 
void FM_2WayEdgeRefine (CtrlType *ctrl, GraphType *graph, int *tpwgts, int npasses)
 
void Change2CNumbering (int nvtxs, idxtype *xadj, idxtype *adjncy)
 
void Change2FNumbering (int nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vector)
 
void Change2FNumbering2 (int nvtxs, idxtype *xadj, idxtype *adjncy)
 
void Change2FNumberingOrder (int nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *v1, idxtype *v2)
 
void ChangeMesh2CNumbering (int n, idxtype *mesh)
 
void ChangeMesh2FNumbering (int n, idxtype *mesh, int nvtxs, idxtype *xadj, idxtype *adjncy)
 
void ChangeMesh2FNumbering2 (int n, idxtype *mesh, int ne, int nn, idxtype *epart, idxtype *npart)
 
void METIS_PARTGRAPHRECURSIVE (int *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *adjwgt, int *wgtflag, int *numflag, int *nparts, int *options, int *edgecut, idxtype *part)
 
void metis_partgraphrecursive (int *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *adjwgt, int *wgtflag, int *numflag, int *nparts, int *options, int *edgecut, idxtype *part)
 
void metis_partgraphrecursive_ (int *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *adjwgt, int *wgtflag, int *numflag, int *nparts, int *options, int *edgecut, idxtype *part)
 
void metis_partgraphrecursive__ (int *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *adjwgt, int *wgtflag, int *numflag, int *nparts, int *options, int *edgecut, idxtype *part)
 
void METIS_WPARTGRAPHRECURSIVE (int *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *adjwgt, int *wgtflag, int *numflag, int *nparts, float *tpwgts, int *options, int *edgecut, idxtype *part)
 
void metis_wpartgraphrecursive (int *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *adjwgt, int *wgtflag, int *numflag, int *nparts, float *tpwgts, int *options, int *edgecut, idxtype *part)
 
void metis_wpartgraphrecursive_ (int *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *adjwgt, int *wgtflag, int *numflag, int *nparts, float *tpwgts, int *options, int *edgecut, idxtype *part)
 
void metis_wpartgraphrecursive__ (int *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *adjwgt, int *wgtflag, int *numflag, int *nparts, float *tpwgts, int *options, int *edgecut, idxtype *part)
 
void METIS_PARTGRAPHKWAY (int *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *adjwgt, int *wgtflag, int *numflag, int *nparts, int *options, int *edgecut, idxtype *part)
 
void metis_partgraphkway (int *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *adjwgt, int *wgtflag, int *numflag, int *nparts, int *options, int *edgecut, idxtype *part)
 
void metis_partgraphkway_ (int *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *adjwgt, int *wgtflag, int *numflag, int *nparts, int *options, int *edgecut, idxtype *part)
 
void metis_partgraphkway__ (int *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *adjwgt, int *wgtflag, int *numflag, int *nparts, int *options, int *edgecut, idxtype *part)
 
void METIS_WPARTGRAPHKWAY (int *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *adjwgt, int *wgtflag, int *numflag, int *nparts, float *tpwgts, int *options, int *edgecut, idxtype *part)
 
void metis_wpartgraphkway (int *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *adjwgt, int *wgtflag, int *numflag, int *nparts, float *tpwgts, int *options, int *edgecut, idxtype *part)
 
void metis_wpartgraphkway_ (int *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *adjwgt, int *wgtflag, int *numflag, int *nparts, float *tpwgts, int *options, int *edgecut, idxtype *part)
 
void metis_wpartgraphkway__ (int *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *adjwgt, int *wgtflag, int *numflag, int *nparts, float *tpwgts, int *options, int *edgecut, idxtype *part)
 
void METIS_EDGEND (int *nvtxs, idxtype *xadj, idxtype *adjncy, int *numflag, int *options, idxtype *perm, idxtype *iperm)
 
void metis_edgend (int *nvtxs, idxtype *xadj, idxtype *adjncy, int *numflag, int *options, idxtype *perm, idxtype *iperm)
 
void metis_edgend_ (int *nvtxs, idxtype *xadj, idxtype *adjncy, int *numflag, int *options, idxtype *perm, idxtype *iperm)
 
void metis_edgend__ (int *nvtxs, idxtype *xadj, idxtype *adjncy, int *numflag, int *options, idxtype *perm, idxtype *iperm)
 
void METIS_NODEND (int *nvtxs, idxtype *xadj, idxtype *adjncy, int *numflag, int *options, idxtype *perm, idxtype *iperm)
 
void metis_nodend (int *nvtxs, idxtype *xadj, idxtype *adjncy, int *numflag, int *options, idxtype *perm, idxtype *iperm)
 
void metis_nodend_ (int *nvtxs, idxtype *xadj, idxtype *adjncy, int *numflag, int *options, idxtype *perm, idxtype *iperm)
 
void metis_nodend__ (int *nvtxs, idxtype *xadj, idxtype *adjncy, int *numflag, int *options, idxtype *perm, idxtype *iperm)
 
void METIS_NODEWND (int *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, int *numflag, int *options, idxtype *perm, idxtype *iperm)
 
void metis_nodewnd (int *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, int *numflag, int *options, idxtype *perm, idxtype *iperm)
 
void metis_nodewnd_ (int *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, int *numflag, int *options, idxtype *perm, idxtype *iperm)
 
void metis_nodewnd__ (int *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, int *numflag, int *options, idxtype *perm, idxtype *iperm)
 
void METIS_PARTMESHNODAL (int *ne, int *nn, idxtype *elmnts, int *etype, int *numflag, int *nparts, int *edgecut, idxtype *epart, idxtype *npart)
 
void metis_partmeshnodal (int *ne, int *nn, idxtype *elmnts, int *etype, int *numflag, int *nparts, int *edgecut, idxtype *epart, idxtype *npart)
 
void metis_partmeshnodal_ (int *ne, int *nn, idxtype *elmnts, int *etype, int *numflag, int *nparts, int *edgecut, idxtype *epart, idxtype *npart)
 
void metis_partmeshnodal__ (int *ne, int *nn, idxtype *elmnts, int *etype, int *numflag, int *nparts, int *edgecut, idxtype *epart, idxtype *npart)
 
void METIS_PARTMESHDUAL (int *ne, int *nn, idxtype *elmnts, int *etype, int *numflag, int *nparts, int *edgecut, idxtype *epart, idxtype *npart)
 
void metis_partmeshdual (int *ne, int *nn, idxtype *elmnts, int *etype, int *numflag, int *nparts, int *edgecut, idxtype *epart, idxtype *npart)
 
void metis_partmeshdual_ (int *ne, int *nn, idxtype *elmnts, int *etype, int *numflag, int *nparts, int *edgecut, idxtype *epart, idxtype *npart)
 
void metis_partmeshdual__ (int *ne, int *nn, idxtype *elmnts, int *etype, int *numflag, int *nparts, int *edgecut, idxtype *epart, idxtype *npart)
 
void METIS_MESHTONODAL (int *ne, int *nn, idxtype *elmnts, int *etype, int *numflag, idxtype *dxadj, idxtype *dadjncy)
 
void metis_meshtonodal (int *ne, int *nn, idxtype *elmnts, int *etype, int *numflag, idxtype *dxadj, idxtype *dadjncy)
 
void metis_meshtonodal_ (int *ne, int *nn, idxtype *elmnts, int *etype, int *numflag, idxtype *dxadj, idxtype *dadjncy)
 
void metis_meshtonodal__ (int *ne, int *nn, idxtype *elmnts, int *etype, int *numflag, idxtype *dxadj, idxtype *dadjncy)
 
void METIS_MESHTODUAL (int *ne, int *nn, idxtype *elmnts, int *etype, int *numflag, idxtype *dxadj, idxtype *dadjncy)
 
void metis_meshtodual (int *ne, int *nn, idxtype *elmnts, int *etype, int *numflag, idxtype *dxadj, idxtype *dadjncy)
 
void metis_meshtodual_ (int *ne, int *nn, idxtype *elmnts, int *etype, int *numflag, idxtype *dxadj, idxtype *dadjncy)
 
void metis_meshtodual__ (int *ne, int *nn, idxtype *elmnts, int *etype, int *numflag, idxtype *dxadj, idxtype *dadjncy)
 
void METIS_ESTIMATEMEMORY (int *nvtxs, idxtype *xadj, idxtype *adjncy, int *numflag, int *optype, int *nbytes)
 
void metis_estimatememory (int *nvtxs, idxtype *xadj, idxtype *adjncy, int *numflag, int *optype, int *nbytes)
 
void metis_estimatememory_ (int *nvtxs, idxtype *xadj, idxtype *adjncy, int *numflag, int *optype, int *nbytes)
 
void metis_estimatememory__ (int *nvtxs, idxtype *xadj, idxtype *adjncy, int *numflag, int *optype, int *nbytes)
 
void METIS_MCPARTGRAPHRECURSIVE (int *nvtxs, int *ncon, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *adjwgt, int *wgtflag, int *numflag, int *nparts, int *options, int *edgecut, idxtype *part)
 
void metis_mcpartgraphrecursive (int *nvtxs, int *ncon, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *adjwgt, int *wgtflag, int *numflag, int *nparts, int *options, int *edgecut, idxtype *part)
 
void metis_mcpartgraphrecursive_ (int *nvtxs, int *ncon, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *adjwgt, int *wgtflag, int *numflag, int *nparts, int *options, int *edgecut, idxtype *part)
 
void metis_mcpartgraphrecursive__ (int *nvtxs, int *ncon, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *adjwgt, int *wgtflag, int *numflag, int *nparts, int *options, int *edgecut, idxtype *part)
 
void METIS_MCPARTGRAPHKWAY (int *nvtxs, int *ncon, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *adjwgt, int *wgtflag, int *numflag, int *nparts, float *rubvec, int *options, int *edgecut, idxtype *part)
 
void metis_mcpartgraphkway (int *nvtxs, int *ncon, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *adjwgt, int *wgtflag, int *numflag, int *nparts, float *rubvec, int *options, int *edgecut, idxtype *part)
 
void metis_mcpartgraphkway_ (int *nvtxs, int *ncon, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *adjwgt, int *wgtflag, int *numflag, int *nparts, float *rubvec, int *options, int *edgecut, idxtype *part)
 
void metis_mcpartgraphkway__ (int *nvtxs, int *ncon, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *adjwgt, int *wgtflag, int *numflag, int *nparts, float *rubvec, int *options, int *edgecut, idxtype *part)
 
void METIS_PARTGRAPHVKWAY (int *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *vsize, int *wgtflag, int *numflag, int *nparts, int *options, int *volume, idxtype *part)
 
void metis_partgraphvkway (int *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *vsize, int *wgtflag, int *numflag, int *nparts, int *options, int *volume, idxtype *part)
 
void metis_partgraphvkway_ (int *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *vsize, int *wgtflag, int *numflag, int *nparts, int *options, int *volume, idxtype *part)
 
void metis_partgraphvkway__ (int *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *vsize, int *wgtflag, int *numflag, int *nparts, int *options, int *volume, idxtype *part)
 
void METIS_WPARTGRAPHVKWAY (int *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *vsize, int *wgtflag, int *numflag, int *nparts, float *tpwgts, int *options, int *volume, idxtype *part)
 
void metis_wpartgraphvkway (int *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *vsize, int *wgtflag, int *numflag, int *nparts, float *tpwgts, int *options, int *volume, idxtype *part)
 
void metis_wpartgraphvkway_ (int *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *vsize, int *wgtflag, int *numflag, int *nparts, float *tpwgts, int *options, int *volume, idxtype *part)
 
void metis_wpartgraphvkway__ (int *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *vsize, int *wgtflag, int *numflag, int *nparts, float *tpwgts, int *options, int *volume, idxtype *part)
 
void SetUpGraph (GraphType *graph, int OpType, int nvtxs, int ncon, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *adjwgt, int wgtflag)
 
void SetUpGraphKway (GraphType *graph, int nvtxs, idxtype *xadj, idxtype *adjncy)
 
void SetUpGraph2 (GraphType *graph, int nvtxs, int ncon, idxtype *xadj, idxtype *adjncy, float *nvwgt, idxtype *adjwgt)
 
void VolSetUpGraph (GraphType *graph, int OpType, int nvtxs, int ncon, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *vsize, int wgtflag)
 
void RandomizeGraph (GraphType *graph)
 
int IsConnectedSubdomain (CtrlType *ctrl, GraphType *graph, int pid, int report)
 
int IsConnected (CtrlType *ctrl, GraphType *graph, int report)
 
int IsConnected2 (GraphType *graph, int report)
 
int FindComponents (CtrlType *ctrl, GraphType *graph, idxtype *cptr, idxtype *cind)
 
void Init2WayPartition (CtrlType *ctrl, GraphType *graph, int *tpwgts, float ubfactor)
 
void InitSeparator (CtrlType *ctrl, GraphType *graph, float ubfactor)
 
void GrowBisection (CtrlType *ctrl, GraphType *graph, int *tpwgts, float ubfactor)
 
void GrowBisectionNode (CtrlType *ctrl, GraphType *graph, float ubfactor)
 
void RandomBisection (CtrlType *ctrl, GraphType *graph, int *tpwgts, float ubfactor)
 
void METIS_PartGraphKway (int *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *adjwgt, int *wgtflag, int *numflag, int *nparts, int *options, int *edgecut, idxtype *part)
 
void METIS_WPartGraphKway (int *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *adjwgt, int *wgtflag, int *numflag, int *nparts, float *tpwgts, int *options, int *edgecut, idxtype *part)
 
int MlevelKWayPartitioning (CtrlType *ctrl, GraphType *graph, int nparts, idxtype *part, float *tpwgts, float ubfactor)
 
void METIS_PartGraphVKway (int *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *vsize, int *wgtflag, int *numflag, int *nparts, int *options, int *volume, idxtype *part)
 
void METIS_WPartGraphVKway (int *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *vsize, int *wgtflag, int *numflag, int *nparts, float *tpwgts, int *options, int *volume, idxtype *part)
 
int MlevelVolKWayPartitioning (CtrlType *ctrl, GraphType *graph, int nparts, idxtype *part, float *tpwgts, float ubfactor)
 
void Random_KWayEdgeRefine (CtrlType *ctrl, GraphType *graph, int nparts, float *tpwgts, float ubfactor, int npasses, int ffactor)
 
void Greedy_KWayEdgeRefine (CtrlType *ctrl, GraphType *graph, int nparts, float *tpwgts, float ubfactor, int npasses)
 
void Greedy_KWayEdgeBalance (CtrlType *ctrl, GraphType *graph, int nparts, float *tpwgts, float ubfactor, int npasses)
 
void RefineKWay (CtrlType *ctrl, GraphType *orggraph, GraphType *graph, int nparts, float *tpwgts, float ubfactor)
 
void AllocateKWayPartitionMemory (CtrlType *ctrl, GraphType *graph, int nparts)
 
void ComputeKWayPartitionParams (CtrlType *ctrl, GraphType *graph, int nparts)
 
void ProjectKWayPartition (CtrlType *ctrl, GraphType *graph, int nparts)
 
int IsBalanced (idxtype *pwgts, int nparts, float *tpwgts, float ubfactor)
 
void ComputeKWayBoundary (CtrlType *ctrl, GraphType *graph, int nparts)
 
void ComputeKWayBalanceBoundary (CtrlType *ctrl, GraphType *graph, int nparts)
 
void Random_KWayVolRefine (CtrlType *ctrl, GraphType *graph, int nparts, float *tpwgts, float ubfactor, int npasses, int ffactor)
 
void Random_KWayVolRefineMConn (CtrlType *ctrl, GraphType *graph, int nparts, float *tpwgts, float ubfactor, int npasses, int ffactor)
 
void Greedy_KWayVolBalance (CtrlType *ctrl, GraphType *graph, int nparts, float *tpwgts, float ubfactor, int npasses)
 
void Greedy_KWayVolBalanceMConn (CtrlType *ctrl, GraphType *graph, int nparts, float *tpwgts, float ubfactor, int npasses)
 
void KWayVolUpdate (CtrlType *ctrl, GraphType *graph, int v, int from, int to, idxtype *marker, idxtype *phtable, idxtype *updind)
 
void ComputeKWayVolume (GraphType *graph, int nupd, idxtype *updind, idxtype *marker, idxtype *phtable)
 
int ComputeVolume (GraphType *graph, idxtype *where)
 
void CheckVolKWayPartitionParams (CtrlType *ctrl, GraphType *graph, int nparts)
 
void ComputeVolSubDomainGraph (GraphType *graph, int nparts, idxtype *pmat, idxtype *ndoms)
 
void EliminateVolSubDomainEdges (CtrlType *ctrl, GraphType *graph, int nparts, float *tpwgts)
 
void EliminateVolComponents (CtrlType *ctrl, GraphType *graph, int nparts, float *tpwgts, float ubfactor)
 
void RefineVolKWay (CtrlType *ctrl, GraphType *orggraph, GraphType *graph, int nparts, float *tpwgts, float ubfactor)
 
void AllocateVolKWayPartitionMemory (CtrlType *ctrl, GraphType *graph, int nparts)
 
void ComputeVolKWayPartitionParams (CtrlType *ctrl, GraphType *graph, int nparts)
 
void ComputeKWayVolGains (CtrlType *ctrl, GraphType *graph, int nparts)
 
void ProjectVolKWayPartition (CtrlType *ctrl, GraphType *graph, int nparts)
 
void ComputeVolKWayBoundary (CtrlType *ctrl, GraphType *graph, int nparts)
 
void ComputeVolKWayBalanceBoundary (CtrlType *ctrl, GraphType *graph, int nparts)
 
void Match_RM (CtrlType *ctrl, GraphType *graph)
 
void Match_RM_NVW (CtrlType *ctrl, GraphType *graph)
 
void Match_HEM (CtrlType *ctrl, GraphType *graph)
 
void Match_SHEM (CtrlType *ctrl, GraphType *graph)
 
void MocBalance2Way2 (CtrlType *ctrl, GraphType *graph, float *tpwgts, float *ubvec)
 
void MocGeneral2WayBalance2 (CtrlType *ctrl, GraphType *graph, float *tpwgts, float *ubvec)
 
void SelectQueue3 (int ncon, float *npwgts, float *tpwgts, int *from, int *cnum, PQueueType queues[MAXNCON][2], float *maxwgt)
 
void MocBalance2Way (CtrlType *ctrl, GraphType *graph, float *tpwgts, float lbfactor)
 
void MocGeneral2WayBalance (CtrlType *ctrl, GraphType *graph, float *tpwgts, float lbfactor)
 
GraphTypeMCCoarsen2Way (CtrlType *ctrl, GraphType *graph)
 
void AllocateWorkSpace (CtrlType *ctrl, GraphType *graph, int nparts)
 
void FreeWorkSpace (CtrlType *ctrl, GraphType *graph)
 
int WspaceAvail (CtrlType *ctrl)
 
idxtypeidxwspacemalloc (CtrlType *ctrl, int n)
 
void idxwspacefree (CtrlType *ctrl, int n)
 
float * fwspacemalloc (CtrlType *ctrl, int n)
 
void fwspacefree (CtrlType *ctrl, int n)
 
GraphTypeCreateGraph (void)
 
void InitGraph (GraphType *graph)
 
void FreeGraph (GraphType *graph)
 
void METIS_MeshToDual (int *ne, int *nn, idxtype *elmnts, int *etype, int *numflag, idxtype *dxadj, idxtype *dadjncy)
 
void METIS_MeshToNodal (int *ne, int *nn, idxtype *elmnts, int *etype, int *numflag, idxtype *dxadj, idxtype *dadjncy)
 
void GENDUALMETIS (int nelmnts, int nvtxs, int etype, idxtype *elmnts, idxtype *dxadj, idxtype *dadjncy)
 
void TRINODALMETIS (int nelmnts, int nvtxs, idxtype *elmnts, idxtype *dxadj, idxtype *dadjncy)
 
void TETNODALMETIS (int nelmnts, int nvtxs, idxtype *elmnts, idxtype *dxadj, idxtype *dadjncy)
 
void HEXNODALMETIS (int nelmnts, int nvtxs, idxtype *elmnts, idxtype *dxadj, idxtype *dadjncy)
 
void QUADNODALMETIS (int nelmnts, int nvtxs, idxtype *elmnts, idxtype *dxadj, idxtype *dadjncy)
 
void METIS_PartMeshNodal (int *ne, int *nn, idxtype *elmnts, int *etype, int *numflag, int *nparts, int *edgecut, idxtype *epart, idxtype *npart)
 
void METIS_PartMeshDual (int *ne, int *nn, idxtype *elmnts, int *etype, int *numflag, int *nparts, int *edgecut, idxtype *epart, idxtype *npart)
 
void MocFM_2WayEdgeRefine2 (CtrlType *ctrl, GraphType *graph, float *tpwgts, float *orgubvec, int npasses)
 
void SelectQueue2 (int ncon, float *npwgts, float *tpwgts, int *from, int *cnum, PQueueType queues[MAXNCON][2], float *maxwgt)
 
int IsBetter2wayBalance (int ncon, float *newbal, float *oldbal, float *ubvec)
 
void MocFM_2WayEdgeRefine (CtrlType *ctrl, GraphType *graph, float *tpwgts, int npasses)
 
void SelectQueue (int ncon, float *npwgts, float *tpwgts, int *from, int *cnum, PQueueType queues[MAXNCON][2])
 
int BetterBalance (int ncon, float *npwgts, float *tpwgts, float *diff)
 
float Compute2WayHLoadImbalance (int ncon, float *npwgts, float *tpwgts)
 
void Compute2WayHLoadImbalanceVec (int ncon, float *npwgts, float *tpwgts, float *lbvec)
 
void MinCover (idxtype *xadj, idxtype *adjncy, int asize, int bsize, idxtype *cover, int *csize)
 
int MinCover_Augment (idxtype *xadj, idxtype *adjncy, int col, idxtype *mate, idxtype *flag, idxtype *level, int maxlevel)
 
void MinCover_Decompose (idxtype *xadj, idxtype *adjncy, int asize, int bsize, idxtype *mate, idxtype *cover, int *csize)
 
void MinCover_ColDFS (idxtype *xadj, idxtype *adjncy, int root, idxtype *mate, idxtype *where, int flag)
 
void MinCover_RowDFS (idxtype *xadj, idxtype *adjncy, int root, idxtype *mate, idxtype *where, int flag)
 
void MocInit2WayPartition2 (CtrlType *ctrl, GraphType *graph, float *tpwgts, float *ubvec)
 
void MocGrowBisection2 (CtrlType *ctrl, GraphType *graph, float *tpwgts, float *ubvec)
 
void MocGrowBisectionNew2 (CtrlType *ctrl, GraphType *graph, float *tpwgts, float *ubvec)
 
void MocInit2WayBalance2 (CtrlType *ctrl, GraphType *graph, float *tpwgts, float *ubvec)
 
int SelectQueueOneWay2 (int ncon, float *pto, PQueueType queues[MAXNCON][2], float *ubvec)
 
void MocInit2WayPartition (CtrlType *ctrl, GraphType *graph, float *tpwgts, float ubfactor)
 
void MocGrowBisection (CtrlType *ctrl, GraphType *graph, float *tpwgts, float ubfactor)
 
void MocRandomBisection (CtrlType *ctrl, GraphType *graph, float *tpwgts, float ubfactor)
 
void MocInit2WayBalance (CtrlType *ctrl, GraphType *graph, float *tpwgts)
 
int SelectQueueOneWay (int ncon, float *npwgts, float *tpwgts, int from, PQueueType queues[MAXNCON][2])
 
void METIS_mCPartGraphKway (int *nvtxs, int *ncon, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *adjwgt, int *wgtflag, int *numflag, int *nparts, float *rubvec, int *options, int *edgecut, idxtype *part)
 
int MCMlevelKWayPartitioning (CtrlType *ctrl, GraphType *graph, int nparts, idxtype *part, float *rubvec)
 
void MCRandom_KWayEdgeRefineHorizontal (CtrlType *ctrl, GraphType *graph, int nparts, float *orgubvec, int npasses)
 
void MCGreedy_KWayEdgeBalanceHorizontal (CtrlType *ctrl, GraphType *graph, int nparts, float *ubvec, int npasses)
 
int AreAllHVwgtsBelow (int ncon, float alpha, float *vwgt1, float beta, float *vwgt2, float *limit)
 
int AreAllHVwgtsAbove (int ncon, float alpha, float *vwgt1, float beta, float *vwgt2, float *limit)
 
void ComputeHKWayLoadImbalance (int ncon, int nparts, float *npwgts, float *lbvec)
 
int MocIsHBalanced (int ncon, int nparts, float *npwgts, float *ubvec)
 
int IsHBalanceBetterFT (int ncon, int nparts, float *pfrom, float *pto, float *vwgt, float *ubvec)
 
int IsHBalanceBetterTT (int ncon, int nparts, float *pt1, float *pt2, float *vwgt, float *ubvec)
 
void MocRefineKWayHorizontal (CtrlType *ctrl, GraphType *orggraph, GraphType *graph, int nparts, float *ubvec)
 
void MocAllocateKWayPartitionMemory (CtrlType *ctrl, GraphType *graph, int nparts)
 
void MocComputeKWayPartitionParams (CtrlType *ctrl, GraphType *graph, int nparts)
 
void MocProjectKWayPartition (CtrlType *ctrl, GraphType *graph, int nparts)
 
void MocComputeKWayBalanceBoundary (CtrlType *ctrl, GraphType *graph, int nparts)
 
void MCMatch_RM (CtrlType *ctrl, GraphType *graph)
 
void MCMatch_HEM (CtrlType *ctrl, GraphType *graph)
 
void MCMatch_SHEM (CtrlType *ctrl, GraphType *graph)
 
void MCMatch_SHEBM (CtrlType *ctrl, GraphType *graph, int norm)
 
void MCMatch_SBHEM (CtrlType *ctrl, GraphType *graph, int norm)
 
float BetterVBalance (int ncon, int norm, float *vwgt, float *u1wgt, float *u2wgt)
 
int AreAllVwgtsBelowFast (int ncon, float *vwgt1, float *vwgt2, float limit)
 
void genmmd (int neqns, idxtype *xadj, idxtype *adjncy, idxtype *invp, idxtype *perm, int delta, idxtype *head, idxtype *qsize, idxtype *list, idxtype *marker, int maxint, int *ncsub)
 
void mmdelm (int mdeg_node, idxtype *xadj, idxtype *adjncy, idxtype *head, idxtype *forward, idxtype *backward, idxtype *qsize, idxtype *list, idxtype *marker, int maxint, int tag)
 
int mmdint (int neqns, idxtype *xadj, idxtype *adjncy, idxtype *head, idxtype *forward, idxtype *backward, idxtype *qsize, idxtype *list, idxtype *marker)
 
void mmdnum (int neqns, idxtype *perm, idxtype *invp, idxtype *qsize)
 
void mmdupd (int ehead, int neqns, idxtype *xadj, idxtype *adjncy, int delta, int *mdeg, idxtype *head, idxtype *forward, idxtype *backward, idxtype *qsize, idxtype *list, idxtype *marker, int maxint, int *tag)
 
void METIS_mCPartGraphRecursive (int *nvtxs, int *ncon, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *adjwgt, int *wgtflag, int *numflag, int *nparts, int *options, int *edgecut, idxtype *part)
 
void METIS_mCHPartGraphRecursive (int *nvtxs, int *ncon, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *adjwgt, int *wgtflag, int *numflag, int *nparts, float *ubvec, int *options, int *edgecut, idxtype *part)
 
void METIS_mCPartGraphRecursiveInternal (int *nvtxs, int *ncon, idxtype *xadj, idxtype *adjncy, float *nvwgt, idxtype *adjwgt, int *nparts, int *options, int *edgecut, idxtype *part)
 
void METIS_mCHPartGraphRecursiveInternal (int *nvtxs, int *ncon, idxtype *xadj, idxtype *adjncy, float *nvwgt, idxtype *adjwgt, int *nparts, float *ubvec, int *options, int *edgecut, idxtype *part)
 
int MCMlevelRecursiveBisection (CtrlType *ctrl, GraphType *graph, int nparts, idxtype *part, float ubfactor, int fpart)
 
int MCHMlevelRecursiveBisection (CtrlType *ctrl, GraphType *graph, int nparts, idxtype *part, float *ubvec, int fpart)
 
void MCMlevelEdgeBisection (CtrlType *ctrl, GraphType *graph, float *tpwgts, float ubfactor)
 
void MCHMlevelEdgeBisection (CtrlType *ctrl, GraphType *graph, float *tpwgts, float *ubvec)
 
void MocRefine2Way2 (CtrlType *ctrl, GraphType *orggraph, GraphType *graph, float *tpwgts, float *ubvec)
 
void MocRefine2Way (CtrlType *ctrl, GraphType *orggraph, GraphType *graph, float *tpwgts, float ubfactor)
 
void MocAllocate2WayPartitionMemory (CtrlType *ctrl, GraphType *graph)
 
void MocCompute2WayPartitionParams (CtrlType *ctrl, GraphType *graph)
 
void MocProject2WayPartition (CtrlType *ctrl, GraphType *graph)
 
int AreAllVwgtsBelow (int ncon, float alpha, float *vwgt1, float beta, float *vwgt2, float limit)
 
int AreAnyVwgtsBelow (int ncon, float alpha, float *vwgt1, float beta, float *vwgt2, float limit)
 
int AreAllVwgtsAbove (int ncon, float alpha, float *vwgt1, float beta, float *vwgt2, float limit)
 
float ComputeLoadImbalance (int ncon, int nparts, float *npwgts, float *tpwgts)
 
int AreAllBelow (int ncon, float *v1, float *v2)
 
void iidxsort (int n, idxtype *base)
 
void iintsort (int n, int *base)
 
void ikeysort (int n, KeyValueType *base)
 
void ikeyvalsort (int n, KeyValueType *base)
 
void METIS_EdgeND (int *nvtxs, idxtype *xadj, idxtype *adjncy, int *numflag, int *options, idxtype *perm, idxtype *iperm)
 
void METIS_NodeND (int *nvtxs, idxtype *xadj, idxtype *adjncy, int *numflag, int *options, idxtype *perm, idxtype *iperm)
 
void METIS_NodeWND (int *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, int *numflag, int *options, idxtype *perm, idxtype *iperm)
 
void MlevelNestedDissection (CtrlType *ctrl, GraphType *graph, idxtype *order, float ubfactor, int lastvtx)
 
void MlevelNestedDissectionCC (CtrlType *ctrl, GraphType *graph, idxtype *order, float ubfactor, int lastvtx)
 
void MlevelNodeBisectionMultiple (CtrlType *ctrl, GraphType *graph, int *tpwgts, float ubfactor)
 
void MlevelNodeBisection (CtrlType *ctrl, GraphType *graph, int *tpwgts, float ubfactor)
 
void SplitGraphOrder (CtrlType *ctrl, GraphType *graph, GraphType *lgraph, GraphType *rgraph)
 
void MMDOrder (CtrlType *ctrl, GraphType *graph, idxtype *order, int lastvtx)
 
int SplitGraphOrderCC (CtrlType *ctrl, GraphType *graph, GraphType *sgraphs, int ncmps, idxtype *cptr, idxtype *cind)
 
void METIS_PartGraphKway2 (int *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *adjwgt, int *wgtflag, int *numflag, int *nparts, int *options, int *edgecut, idxtype *part)
 
void METIS_WPartGraphKway2 (int *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *adjwgt, int *wgtflag, int *numflag, int *nparts, float *tpwgts, int *options, int *edgecut, idxtype *part)
 
void METIS_NodeNDP (int nvtxs, idxtype *xadj, idxtype *adjncy, int npes, int *options, idxtype *perm, idxtype *iperm, idxtype *sizes)
 
void MlevelNestedDissectionP (CtrlType *ctrl, GraphType *graph, idxtype *order, int lastvtx, int npes, int cpos, idxtype *sizes)
 
void METIS_NodeComputeSeparator (int *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *adjwgt, int *options, int *sepsize, idxtype *part)
 
void METIS_EdgeComputeSeparator (int *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *adjwgt, int *options, int *sepsize, idxtype *part)
 
void METIS_PartGraphRecursive (int *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *adjwgt, int *wgtflag, int *numflag, int *nparts, int *options, int *edgecut, idxtype *part)
 
void METIS_WPartGraphRecursive (int *nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt, idxtype *adjwgt, int *wgtflag, int *numflag, int *nparts, float *tpwgts, int *options, int *edgecut, idxtype *part)
 
int MlevelRecursiveBisection (CtrlType *ctrl, GraphType *graph, int nparts, idxtype *part, float *tpwgts, float ubfactor, int fpart)
 
void MlevelEdgeBisection (CtrlType *ctrl, GraphType *graph, int *tpwgts, float ubfactor)
 
void SplitGraphPart (CtrlType *ctrl, GraphType *graph, GraphType *lgraph, GraphType *rgraph)
 
void SetUpSplitGraph (GraphType *graph, GraphType *sgraph, int snvtxs, int snedges)
 
void PQueueInit (CtrlType *ctrl, PQueueType *queue, int maxnodes, int maxgain)
 
void PQueueReset (PQueueType *queue)
 
void PQueueFree (CtrlType *ctrl, PQueueType *queue)
 
int PQueueGetSize (PQueueType *queue)
 
int PQueueInsert (PQueueType *queue, int node, int gain)
 
int PQueueDelete (PQueueType *queue, int node, int gain)
 
int PQueueUpdate (PQueueType *queue, int node, int oldgain, int newgain)
 
void PQueueUpdateUp (PQueueType *queue, int node, int oldgain, int newgain)
 
int PQueueGetMax (PQueueType *queue)
 
int PQueueSeeMax (PQueueType *queue)
 
int PQueueGetKey (PQueueType *queue)
 
int CheckHeap (PQueueType *queue)
 
void Refine2Way (CtrlType *ctrl, GraphType *orggraph, GraphType *graph, int *tpwgts, float ubfactor)
 
void Allocate2WayPartitionMemory (CtrlType *ctrl, GraphType *graph)
 
void Compute2WayPartitionParams (CtrlType *ctrl, GraphType *graph)
 
void Project2WayPartition (CtrlType *ctrl, GraphType *graph)
 
void ConstructSeparator (CtrlType *ctrl, GraphType *graph, float ubfactor)
 
void ConstructMinCoverSeparator0 (CtrlType *ctrl, GraphType *graph, float ubfactor)
 
void ConstructMinCoverSeparator (CtrlType *ctrl, GraphType *graph, float ubfactor)
 
void FM_2WayNodeRefine (CtrlType *ctrl, GraphType *graph, float ubfactor, int npasses)
 
void FM_2WayNodeRefine2 (CtrlType *ctrl, GraphType *graph, float ubfactor, int npasses)
 
void FM_2WayNodeRefineEqWgt (CtrlType *ctrl, GraphType *graph, int npasses)
 
void FM_2WayNodeRefine_OneSided (CtrlType *ctrl, GraphType *graph, float ubfactor, int npasses)
 
void FM_2WayNodeBalance (CtrlType *ctrl, GraphType *graph, float ubfactor)
 
int ComputeMaxNodeGain (int nvtxs, idxtype *xadj, idxtype *adjncy, idxtype *vwgt)
 
void Refine2WayNode (CtrlType *ctrl, GraphType *orggraph, GraphType *graph, float ubfactor)
 
void Allocate2WayNodePartitionMemory (CtrlType *ctrl, GraphType *graph)
 
void Compute2WayNodePartitionParams (CtrlType *ctrl, GraphType *graph)
 
void Project2WayNodePartition (CtrlType *ctrl, GraphType *graph)
 
void ComputePartitionInfo (GraphType *graph, int nparts, idxtype *where)
 
void ComputePartitionInfoBipartite (GraphType *graph, int nparts, idxtype *where)
 
void ComputePartitionBalance (GraphType *graph, int nparts, idxtype *where, float *ubvec)
 
float ComputeElementBalance (int ne, int nparts, idxtype *where)
 
void Random_KWayEdgeRefineMConn (CtrlType *ctrl, GraphType *graph, int nparts, float *tpwgts, float ubfactor, int npasses, int ffactor)
 
void Greedy_KWayEdgeBalanceMConn (CtrlType *ctrl, GraphType *graph, int nparts, float *tpwgts, float ubfactor, int npasses)
 
void PrintSubDomainGraph (GraphType *graph, int nparts, idxtype *where)
 
void ComputeSubDomainGraph (GraphType *graph, int nparts, idxtype *pmat, idxtype *ndoms)
 
void EliminateSubDomainEdges (CtrlType *ctrl, GraphType *graph, int nparts, float *tpwgts)
 
void MoveGroupMConn (CtrlType *ctrl, GraphType *graph, idxtype *ndoms, idxtype *pmat, int nparts, int to, int nind, idxtype *ind)
 
void EliminateComponents (CtrlType *ctrl, GraphType *graph, int nparts, float *tpwgts, float ubfactor)
 
void MoveGroup (CtrlType *ctrl, GraphType *graph, int nparts, int to, int gid, idxtype *ptr, idxtype *ind)
 
void InitTimers (CtrlType *ctrl)
 
void PrintTimers (CtrlType *ctrl)
 
double seconds (void)
 
void errexit (char *f_str,...)
 
int * imalloc (int n, char *msg)
 
idxtypeidxmalloc (int n, char *msg)
 
float * fmalloc (int n, char *msg)
 
int * ismalloc (int n, int ival, char *msg)
 
idxtypeidxsmalloc (int n, idxtype ival, char *msg)
 
void * GKmalloc (int nbytes, char *msg)
 
void GKfree (void **ptr1,...)
 
int * iset (int n, int val, int *x)
 
idxtypeidxset (int n, idxtype val, idxtype *x)
 
float * sset (int n, float val, float *x)
 
int iamax (int n, int *x)
 
int idxamax (int n, idxtype *x)
 
int idxamax_strd (int n, idxtype *x, int incx)
 
int samax (int n, float *x)
 
int samax2 (int n, float *x)
 
int idxamin (int n, idxtype *x)
 
int samin (int n, float *x)
 
int idxsum (int n, idxtype *x)
 
int idxsum_strd (int n, idxtype *x, int incx)
 
void idxadd (int n, idxtype *x, idxtype *y)
 
int charsum (int n, char *x)
 
int isum (int n, int *x)
 
float ssum (int n, float *x)
 
float ssum_strd (int n, float *x, int incx)
 
void sscale (int n, float alpha, float *x)
 
float snorm2 (int n, float *v)
 
float sdot (int n, float *x, float *y)
 
void saxpy (int n, float alpha, float *x, int incx, float *y, int incy)
 
void RandomPermute (int n, idxtype *p, int flag)
 
int ispow2 (int a)
 
void InitRandom (int seed)
 
int log2 (int a)
 

Macro Definition Documentation

◆ HC

#define HC   3

Definition at line 9370 of file metis.c.

◆ HR

#define HR   6

Definition at line 9373 of file metis.c.

◆ INCOL

#define INCOL   10

Definition at line 9366 of file metis.c.

◆ INROW

#define INROW   20

Definition at line 9367 of file metis.c.

◆ MTHRESH

#define MTHRESH   6 /* threshold for median */

Definition at line 13313 of file metis.c.

◆ SC

#define SC   2

Definition at line 9369 of file metis.c.

◆ SR

#define SR   5

Definition at line 9372 of file metis.c.

◆ THRESH

#define THRESH   1 /* threshold for insertion */

Definition at line 13312 of file metis.c.

◆ VC

#define VC   1

Definition at line 9368 of file metis.c.

◆ VR

#define VR   4

Definition at line 9371 of file metis.c.

Function Documentation

◆ Allocate2WayNodePartitionMemory()

void Allocate2WayNodePartitionMemory ( CtrlType ctrl,
GraphType graph 
)

Definition at line 17529 of file metis.c.

References graphdef::bndind, graphdef::bndptr, idxmalloc(), graphdef::nrinfo, graphdef::nvtxs, graphdef::pwgts, graphdef::rdata, and graphdef::where.

Referenced by ConstructMinCoverSeparator(), ConstructSeparator(), MlevelNodeBisectionMultiple(), and Project2WayNodePartition().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Allocate2WayPartitionMemory()

void Allocate2WayPartitionMemory ( CtrlType ctrl,
GraphType graph 
)

Definition at line 15962 of file metis.c.

References graphdef::bndind, graphdef::bndptr, graphdef::ed, graphdef::id, idxmalloc(), graphdef::nvtxs, graphdef::pwgts, graphdef::rdata, and graphdef::where.

Referenced by GrowBisection(), Project2WayPartition(), and RandomBisection().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ AllocateKWayPartitionMemory()

void AllocateKWayPartitionMemory ( CtrlType ctrl,
GraphType graph,
int  nparts 
)

Definition at line 4381 of file metis.c.

References graphdef::bndind, graphdef::bndptr, idxmalloc(), graphdef::nvtxs, graphdef::pwgts, graphdef::rdata, graphdef::rinfo, and graphdef::where.

Referenced by MlevelKWayPartitioning(), and ProjectKWayPartition().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ AllocateVolKWayPartitionMemory()

void AllocateVolKWayPartitionMemory ( CtrlType ctrl,
GraphType graph,
int  nparts 
)

Definition at line 6543 of file metis.c.

References graphdef::bndind, graphdef::bndptr, idxmalloc(), graphdef::nvtxs, graphdef::pwgts, graphdef::rdata, graphdef::vrinfo, and graphdef::where.

Referenced by MlevelVolKWayPartitioning(), and ProjectVolKWayPartition().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ AllocateWorkSpace()

void AllocateWorkSpace ( CtrlType ctrl,
GraphType graph,
int  nparts 
)

◆ AreAllBelow()

int AreAllBelow ( int  ncon,
float *  v1,
float *  v2 
)

Definition at line 13286 of file metis.c.

Referenced by MocBalance2Way2(), MocFM_2WayEdgeRefine2(), and MocGeneral2WayBalance2().

Here is the caller graph for this function:

◆ AreAllHVwgtsAbove()

int AreAllHVwgtsAbove ( int  ncon,
float  alpha,
float *  vwgt1,
float  beta,
float *  vwgt2,
float *  limit 
)

Definition at line 10982 of file metis.c.

References inputphysics::alpha, and inputphysics::beta.

Referenced by MCGreedy_KWayEdgeBalanceHorizontal().

Here is the caller graph for this function:

◆ AreAllHVwgtsBelow()

int AreAllHVwgtsBelow ( int  ncon,
float  alpha,
float *  vwgt1,
float  beta,
float *  vwgt2,
float *  limit 
)

Definition at line 10965 of file metis.c.

References inputphysics::alpha, and inputphysics::beta.

Referenced by MCGreedy_KWayEdgeBalanceHorizontal(), and MCRandom_KWayEdgeRefineHorizontal().

Here is the caller graph for this function:

◆ AreAllVwgtsAbove()

int AreAllVwgtsAbove ( int  ncon,
float  alpha,
float *  vwgt1,
float  beta,
float *  vwgt2,
float  limit 
)

Definition at line 13248 of file metis.c.

References inputphysics::alpha, and inputphysics::beta.

◆ AreAllVwgtsBelow()

int AreAllVwgtsBelow ( int  ncon,
float  alpha,
float *  vwgt1,
float  beta,
float *  vwgt2,
float  limit 
)

Definition at line 13215 of file metis.c.

References inputphysics::alpha, and inputphysics::beta.

◆ AreAllVwgtsBelowFast()

int AreAllVwgtsBelowFast ( int  ncon,
float *  vwgt1,
float *  vwgt2,
float  limit 
)

Definition at line 11923 of file metis.c.

Referenced by MCMatch_HEM(), MCMatch_RM(), MCMatch_SBHEM(), MCMatch_SHEBM(), and MCMatch_SHEM().

Here is the caller graph for this function:

◆ AreAnyVwgtsBelow()

int AreAnyVwgtsBelow ( int  ncon,
float  alpha,
float *  vwgt1,
float  beta,
float *  vwgt2,
float  limit 
)

Definition at line 13231 of file metis.c.

References inputphysics::alpha, and inputphysics::beta.

Referenced by MocInit2WayBalance().

Here is the caller graph for this function:

◆ Balance2Way()

void Balance2Way ( CtrlType ctrl,
GraphType graph,
int *  tpwgts,
float  ubfactor 
)

Definition at line 21 of file metis.c.

References Bnd2WayBalance(), General2WayBalance(), graphdef::nbnd, graphdef::nvtxs, and graphdef::pwgts.

Referenced by GrowBisection(), GrowBisectionNode(), RandomBisection(), and Refine2Way().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ BetterBalance()

int BetterBalance ( int  ncon,
float *  npwgts,
float *  tpwgts,
float *  diff 
)

Definition at line 9306 of file metis.c.

References MAXNCON, and snorm2().

Referenced by MocFM_2WayEdgeRefine(), and MocGeneral2WayBalance().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ BetterVBalance()

float BetterVBalance ( int  ncon,
int  norm,
float *  vwgt,
float *  u1wgt,
float *  u2wgt 
)

Definition at line 11862 of file metis.c.

References errexit().

Referenced by MCMatch_SBHEM(), and MCMatch_SHEBM().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Bnd2WayBalance()

void Bnd2WayBalance ( CtrlType ctrl,
GraphType graph,
int *  tpwgts 
)

◆ BucketSortKeysInc()

void BucketSortKeysInc ( int  n,
int  max,
idxtype keys,
idxtype tperm,
idxtype perm 
)

Definition at line 302 of file metis.c.

References idxsmalloc(), blockette::ii, and MAKECSR.

Referenced by Match_SHEM(), MCMatch_SBHEM(), MCMatch_SHEBM(), and MCMatch_SHEM().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Change2CNumbering()

void Change2CNumbering ( int  nvtxs,
idxtype xadj,
idxtype adjncy 
)

◆ Change2FNumbering()

void Change2FNumbering ( int  nvtxs,
idxtype xadj,
idxtype adjncy,
idxtype vector 
)

◆ Change2FNumbering2()

void Change2FNumbering2 ( int  nvtxs,
idxtype xadj,
idxtype adjncy 
)

Definition at line 1902 of file metis.c.

Referenced by METIS_EstimateMemory().

Here is the caller graph for this function:

◆ Change2FNumberingOrder()

void Change2FNumberingOrder ( int  nvtxs,
idxtype xadj,
idxtype adjncy,
idxtype v1,
idxtype v2 
)

Definition at line 1919 of file metis.c.

Referenced by METIS_EdgeND(), METIS_NodeND(), and METIS_NodeWND().

Here is the caller graph for this function:

◆ ChangeMesh2CNumbering()

void ChangeMesh2CNumbering ( int  n,
idxtype mesh 
)

Definition at line 1942 of file metis.c.

Referenced by METIS_MeshToDual(), METIS_MeshToNodal(), METIS_PartMeshDual(), and METIS_PartMeshNodal().

Here is the caller graph for this function:

◆ ChangeMesh2FNumbering()

void ChangeMesh2FNumbering ( int  n,
idxtype mesh,
int  nvtxs,
idxtype xadj,
idxtype adjncy 
)

Definition at line 1955 of file metis.c.

Referenced by METIS_MeshToDual(), and METIS_MeshToNodal().

Here is the caller graph for this function:

◆ ChangeMesh2FNumbering2()

void ChangeMesh2FNumbering2 ( int  n,
idxtype mesh,
int  ne,
int  nn,
idxtype epart,
idxtype npart 
)

Definition at line 1975 of file metis.c.

Referenced by METIS_PartMeshDual(), and METIS_PartMeshNodal().

Here is the caller graph for this function:

◆ charsum()

int charsum ( int  n,
char *  x 
)

Definition at line 19629 of file metis.c.

References blockpointers::x.

◆ CheckBnd()

int CheckBnd ( GraphType graph)

◆ CheckBnd2()

int CheckBnd2 ( GraphType graph)

Definition at line 1340 of file metis.c.

References graphdef::adjncy, graphdef::adjwgt, ASSERT, ASSERTP, graphdef::bndind, graphdef::bndptr, graphdef::nbnd, graphdef::nvtxs, graphdef::where, and graphdef::xadj.

Referenced by MocProjectKWayPartition(), and ProjectKWayPartition().

Here is the caller graph for this function:

◆ CheckHeap()

int CheckHeap ( PQueueType queue)

Definition at line 15876 of file metis.c.

References ASSERT, ASSERTP, PQueueType::heap, PQueueType::locator, PQueueType::maxnodes, and PQueueType::nnodes.

Referenced by PQueueDelete(), PQueueGetMax(), PQueueInsert(), PQueueUpdate(), and PQueueUpdateUp().

Here is the caller graph for this function:

◆ CheckNodeBnd()

int CheckNodeBnd ( GraphType graph,
int  onbnd 
)

◆ CheckNodePartitionParams()

int CheckNodePartitionParams ( GraphType graph)

◆ CheckRInfo()

int CheckRInfo ( RInfoType rinfo)

◆ CheckVolKWayPartitionParams()

void CheckVolKWayPartitionParams ( CtrlType ctrl,
GraphType graph,
int  nparts 
)

◆ Coarsen2Way()

GraphType* Coarsen2Way ( CtrlType ctrl,
GraphType graph 
)

◆ CompressGraph()

void CompressGraph ( CtrlType ctrl,
GraphType graph,
int  nvtxs,
idxtype xadj,
idxtype adjncy,
idxtype cptr,
idxtype cind 
)

◆ Compute2WayHLoadImbalance()

float Compute2WayHLoadImbalance ( int  ncon,
float *  npwgts,
float *  tpwgts 
)

Definition at line 9322 of file metis.c.

References fort_depend::temp.

Referenced by MocBalance2Way(), MocFM_2WayEdgeRefine(), MocGeneral2WayBalance(), and MocInit2WayBalance().

Here is the caller graph for this function:

◆ Compute2WayHLoadImbalanceVec()

void Compute2WayHLoadImbalanceVec ( int  ncon,
float *  npwgts,
float *  tpwgts,
float *  lbvec 
)

Definition at line 9340 of file metis.c.

Referenced by MocBalance2Way2(), MocFM_2WayEdgeRefine2(), and MocGeneral2WayBalance2().

Here is the caller graph for this function:

◆ Compute2WayNodePartitionParams()

void Compute2WayNodePartitionParams ( CtrlType ctrl,
GraphType graph 
)

◆ Compute2WayPartitionParams()

void Compute2WayPartitionParams ( CtrlType ctrl,
GraphType graph 
)

◆ ComputeCoarseGraphSize()

int ComputeCoarseGraphSize ( int  nvtxs,
idxtype xadj,
idxtype adjncy,
int  cnvtxs,
idxtype cmap,
idxtype match,
idxtype perm 
)

Definition at line 1608 of file metis.c.

References GKfree(), idxsmalloc(), bcpointers::iend, bcpointers::istart, and LTERM.

Referenced by EstimateCFraction().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ComputeCut()

int ComputeCut ( GraphType graph,
idxtype where 
)

◆ ComputeElementBalance()

float ComputeElementBalance ( int  ne,
int  nparts,
idxtype where 
)

Definition at line 17901 of file metis.c.

References idxamax(), idxsmalloc(), and idxsum().

Here is the call graph for this function:

◆ ComputeHKWayLoadImbalance()

void ComputeHKWayLoadImbalance ( int  ncon,
int  nparts,
float *  npwgts,
float *  lbvec 
)

Definition at line 10998 of file metis.c.

Referenced by MCGreedy_KWayEdgeBalanceHorizontal(), and MCRandom_KWayEdgeRefineHorizontal().

Here is the caller graph for this function:

◆ ComputeKWayBalanceBoundary()

void ComputeKWayBalanceBoundary ( CtrlType ctrl,
GraphType graph,
int  nparts 
)

Definition at line 4637 of file metis.c.

References graphdef::bndind, BNDInsert, graphdef::bndptr, rinfodef::ed, idxset(), graphdef::nbnd, graphdef::nvtxs, and graphdef::rinfo.

Referenced by RefineKWay().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ComputeKWayBoundary()

void ComputeKWayBoundary ( CtrlType ctrl,
GraphType graph,
int  nparts 
)

Definition at line 4612 of file metis.c.

References graphdef::bndind, BNDInsert, graphdef::bndptr, rinfodef::ed, rinfodef::id, idxset(), graphdef::nbnd, graphdef::nvtxs, and graphdef::rinfo.

Referenced by MocRefineKWayHorizontal(), and RefineKWay().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ComputeKWayPartitionParams()

void ComputeKWayPartitionParams ( CtrlType ctrl,
GraphType graph,
int  nparts 
)

◆ ComputeKWayVolGains()

void ComputeKWayVolGains ( CtrlType ctrl,
GraphType graph,
int  nparts 
)

◆ ComputeKWayVolume()

void ComputeKWayVolume ( GraphType graph,
int  nupd,
idxtype updind,
idxtype marker,
idxtype phtable 
)

◆ ComputeLoadImbalance()

float ComputeLoadImbalance ( int  ncon,
int  nparts,
float *  npwgts,
float *  tpwgts 
)

Definition at line 13264 of file metis.c.

Referenced by MocInit2WayBalance2().

Here is the caller graph for this function:

◆ ComputeMaxNodeGain()

int ComputeMaxNodeGain ( int  nvtxs,
idxtype xadj,
idxtype adjncy,
idxtype vwgt 
)

Definition at line 17443 of file metis.c.

Referenced by FM_2WayNodeBalance(), FM_2WayNodeRefine(), FM_2WayNodeRefine2(), FM_2WayNodeRefine_OneSided(), and FM_2WayNodeRefineEqWgt().

Here is the caller graph for this function:

◆ ComputePartitionBalance()

void ComputePartitionBalance ( GraphType graph,
int  nparts,
idxtype where,
float *  ubvec 
)

Definition at line 17867 of file metis.c.

References idxamax(), idxset(), idxsmalloc(), idxsum(), graphdef::ncon, graphdef::nvtxs, partitionmod::ubvec, and graphdef::vwgt.

Here is the call graph for this function:

◆ ComputePartitionInfo()

void ComputePartitionInfo ( GraphType graph,
int  nparts,
idxtype where 
)

◆ ComputePartitionInfoBipartite()

void ComputePartitionInfoBipartite ( GraphType graph,
int  nparts,
idxtype where 
)

◆ ComputeSubDomainGraph()

void ComputeSubDomainGraph ( GraphType graph,
int  nparts,
idxtype pmat,
idxtype ndoms 
)

Definition at line 18594 of file metis.c.

References graphdef::adjncy, graphdef::adjwgt, rinfodef::edegrees, idxset(), rinfodef::ndegrees, graphdef::nvtxs, graphdef::rinfo, graphdef::where, and graphdef::xadj.

Referenced by EliminateSubDomainEdges(), Greedy_KWayEdgeBalanceMConn(), and Random_KWayEdgeRefineMConn().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ComputeVolKWayBalanceBoundary()

void ComputeVolKWayBalanceBoundary ( CtrlType ctrl,
GraphType graph,
int  nparts 
)

Definition at line 6875 of file metis.c.

References graphdef::bndind, BNDInsert, graphdef::bndptr, vrinfodef::ed, idxset(), graphdef::nbnd, graphdef::nvtxs, and graphdef::vrinfo.

Referenced by RefineVolKWay().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ComputeVolKWayBoundary()

void ComputeVolKWayBoundary ( CtrlType ctrl,
GraphType graph,
int  nparts 
)

Definition at line 6850 of file metis.c.

References graphdef::bndind, BNDInsert, graphdef::bndptr, vrinfodef::ed, vrinfodef::gv, vrinfodef::id, idxset(), graphdef::nbnd, graphdef::nvtxs, and graphdef::vrinfo.

Referenced by RefineVolKWay().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ComputeVolKWayPartitionParams()

void ComputeVolKWayPartitionParams ( CtrlType ctrl,
GraphType graph,
int  nparts 
)

◆ ComputeVolSubDomainGraph()

void ComputeVolSubDomainGraph ( GraphType graph,
int  nparts,
idxtype pmat,
idxtype ndoms 
)

Definition at line 6003 of file metis.c.

References graphdef::adjncy, graphdef::adjwgt, vrinfodef::edegrees, idxset(), vrinfodef::ndegrees, graphdef::nvtxs, graphdef::vrinfo, graphdef::where, and graphdef::xadj.

Referenced by Greedy_KWayVolBalanceMConn(), and Random_KWayVolRefineMConn().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ComputeVolume()

int ComputeVolume ( GraphType graph,
idxtype where 
)

Definition at line 5838 of file metis.c.

References graphdef::adjncy, idxamax(), idxsmalloc(), graphdef::nvtxs, graphdef::vsize, graphdef::vwgt, and graphdef::xadj.

Referenced by ComputePartitionInfo(), ComputePartitionInfoBipartite(), Random_KWayEdgeRefine(), and Random_KWayEdgeRefineMConn().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ConstructMinCoverSeparator()

void ConstructMinCoverSeparator ( CtrlType ctrl,
GraphType graph,
float  ubfactor 
)

◆ ConstructMinCoverSeparator0()

void ConstructMinCoverSeparator0 ( CtrlType ctrl,
GraphType graph,
float  ubfactor 
)

◆ ConstructSeparator()

void ConstructSeparator ( CtrlType ctrl,
GraphType graph,
float  ubfactor 
)

◆ CreateCoarseGraph()

void CreateCoarseGraph ( CtrlType ctrl,
GraphType graph,
int  cnvtxs,
idxtype match,
idxtype perm 
)

◆ CreateCoarseGraph_NVW()

void CreateCoarseGraph_NVW ( CtrlType ctrl,
GraphType graph,
int  cnvtxs,
idxtype match,
idxtype perm 
)

◆ CreateCoarseGraphNoMask()

void CreateCoarseGraphNoMask ( CtrlType ctrl,
GraphType graph,
int  cnvtxs,
idxtype match,
idxtype perm 
)

◆ CreateGraph()

GraphType* CreateGraph ( void  )

Definition at line 7996 of file metis.c.

References GKmalloc(), and InitGraph().

Referenced by SetUpCoarseGraph().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ EliminateComponents()

void EliminateComponents ( CtrlType ctrl,
GraphType graph,
int  nparts,
float *  tpwgts,
float  ubfactor 
)

Definition at line 18966 of file metis.c.

References graphdef::adjncy, graphdef::adjwgt, ASSERT, idxset(), idxsum(), idxwspacefree(), idxwspacemalloc(), blockette::ii, INC_DEC, blockette::jj, MoveGroup(), graphdef::nvtxs, graphdef::pwgts, graphdef::vwgt, graphdef::where, and graphdef::xadj.

Referenced by RefineKWay().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ EliminateSubDomainEdges()

void EliminateSubDomainEdges ( CtrlType ctrl,
GraphType graph,
int  nparts,
float *  tpwgts 
)

◆ EliminateVolComponents()

void EliminateVolComponents ( CtrlType ctrl,
GraphType graph,
int  nparts,
float *  tpwgts,
float  ubfactor 
)

◆ EliminateVolSubDomainEdges()

void EliminateVolSubDomainEdges ( CtrlType ctrl,
GraphType graph,
int  nparts,
float *  tpwgts 
)

◆ errexit()

void errexit ( char *  f_str,
  ... 
)

Definition at line 19307 of file metis.c.

References get_f2py::stdout.

Referenced by BetterVBalance(), Coarsen2Way(), GKmalloc(), Init2WayPartition(), MCCoarsen2Way(), MocInit2WayPartition(), MocInit2WayPartition2(), MocRefine2Way(), MocRefine2Way2(), and Refine2Way().

Here is the caller graph for this function:

◆ EstimateCFraction()

void EstimateCFraction ( int  nvtxs,
idxtype xadj,
idxtype adjncy,
float *  vfraction,
float *  efraction 
)

Definition at line 1563 of file metis.c.

References ComputeCoarseGraphSize(), GKfree(), idxmalloc(), idxsmalloc(), blockette::ii, LTERM, RandomPermute(), and UNMATCHED.

Referenced by METIS_EstimateMemory().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ FindComponents()

int FindComponents ( CtrlType ctrl,
GraphType graph,
idxtype cptr,
idxtype cind 
)

Definition at line 2855 of file metis.c.

References graphdef::adjncy, graphdef::bndind, idxsmalloc(), graphdef::nbnd, graphdef::nvtxs, graphdef::where, and graphdef::xadj.

Referenced by MlevelNestedDissectionCC().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ FM_2WayEdgeRefine()

void FM_2WayEdgeRefine ( CtrlType ctrl,
GraphType graph,
int *  tpwgts,
int  npasses 
)

◆ FM_2WayNodeBalance()

void FM_2WayNodeBalance ( CtrlType ctrl,
GraphType graph,
float  ubfactor 
)

◆ FM_2WayNodeRefine()

void FM_2WayNodeRefine ( CtrlType ctrl,
GraphType graph,
float  ubfactor,
int  npasses 
)

◆ FM_2WayNodeRefine2()

void FM_2WayNodeRefine2 ( CtrlType ctrl,
GraphType graph,
float  ubfactor,
int  npasses 
)

◆ FM_2WayNodeRefine_OneSided()

void FM_2WayNodeRefine_OneSided ( CtrlType ctrl,
GraphType graph,
float  ubfactor,
int  npasses 
)

◆ FM_2WayNodeRefineEqWgt()

void FM_2WayNodeRefineEqWgt ( CtrlType ctrl,
GraphType graph,
int  npasses 
)

◆ fmalloc()

float* fmalloc ( int  n,
char *  msg 
)

◆ FreeGraph()

void FreeGraph ( GraphType graph)

Definition at line 8044 of file metis.c.

References graphdef::gdata, GKfree(), LTERM, graphdef::npwgts, graphdef::nvwgt, and graphdef::rdata.

Referenced by MocProject2WayPartition(), MocProjectKWayPartition(), Project2WayNodePartition(), Project2WayPartition(), ProjectKWayPartition(), and ProjectVolKWayPartition().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ FreeWorkSpace()

void FreeWorkSpace ( CtrlType ctrl,
GraphType graph 
)

◆ fwspacefree()

void fwspacefree ( CtrlType ctrl,
int  n 
)

Definition at line 7982 of file metis.c.

References ASSERT, workspacedef::ccore, and controldef::wspace.

Referenced by MCGreedy_KWayEdgeBalanceHorizontal(), MCRandom_KWayEdgeRefineHorizontal(), MocFM_2WayEdgeRefine2(), and MocGeneral2WayBalance2().

Here is the caller graph for this function:

◆ fwspacemalloc()

float* fwspacemalloc ( CtrlType ctrl,
int  n 
)

◆ GENDUALMETIS()

void GENDUALMETIS ( int  nelmnts,
int  nvtxs,
int  etype,
idxtype elmnts,
idxtype dxadj,
idxtype dadjncy 
)

Definition at line 8125 of file metis.c.

References idxmalloc(), idxsmalloc(), blockette::jj, blockette::kk, autoEditForward::m, and MAKECSR.

Referenced by METIS_MeshToDual().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ General2WayBalance()

void General2WayBalance ( CtrlType ctrl,
GraphType graph,
int *  tpwgts 
)

◆ genmmd()

void genmmd ( int  neqns,
idxtype xadj,
idxtype adjncy,
idxtype invp,
idxtype perm,
int  delta,
idxtype head,
idxtype qsize,
idxtype list,
idxtype marker,
int  maxint,
int *  ncsub 
)

Definition at line 11986 of file metis.c.

References utils::delta(), mmdelm(), mmdint(), mmdnum(), mmdupd(), and autoEditReverseFast::num.

Referenced by MMDOrder().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GKfree()

void GKfree ( void **  ptr1,
  ... 
)

◆ GKmalloc()

void* GKmalloc ( int  nbytes,
char *  msg 
)

Definition at line 19391 of file metis.c.

References errexit().

Referenced by AllocateWorkSpace(), CheckVolKWayPartitionParams(), CompressGraph(), CreateGraph(), EliminateSubDomainEdges(), EliminateVolComponents(), EliminateVolSubDomainEdges(), fmalloc(), idxmalloc(), idxsmalloc(), imalloc(), ismalloc(), and MlevelNestedDissectionCC().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Greedy_KWayEdgeBalance()

void Greedy_KWayEdgeBalance ( CtrlType ctrl,
GraphType graph,
int  nparts,
float *  tpwgts,
float  ubfactor,
int  npasses 
)

◆ Greedy_KWayEdgeBalanceMConn()

void Greedy_KWayEdgeBalanceMConn ( CtrlType ctrl,
GraphType graph,
int  nparts,
float *  tpwgts,
float  ubfactor,
int  npasses 
)

◆ Greedy_KWayEdgeRefine()

void Greedy_KWayEdgeRefine ( CtrlType ctrl,
GraphType graph,
int  nparts,
float *  tpwgts,
float  ubfactor,
int  npasses 
)

◆ Greedy_KWayVolBalance()

void Greedy_KWayVolBalance ( CtrlType ctrl,
GraphType graph,
int  nparts,
float *  tpwgts,
float  ubfactor,
int  npasses 
)

◆ Greedy_KWayVolBalanceMConn()

void Greedy_KWayVolBalanceMConn ( CtrlType ctrl,
GraphType graph,
int  nparts,
float *  tpwgts,
float  ubfactor,
int  npasses 
)

◆ GrowBisection()

void GrowBisection ( CtrlType ctrl,
GraphType graph,
int *  tpwgts,
float  ubfactor 
)

◆ GrowBisectionNode()

void GrowBisectionNode ( CtrlType ctrl,
GraphType graph,
float  ubfactor 
)

◆ HEXNODALMETIS()

void HEXNODALMETIS ( int  nelmnts,
int  nvtxs,
idxtype elmnts,
idxtype dxadj,
idxtype dadjncy 
)

Definition at line 8318 of file metis.c.

References ASSERT, idxmalloc(), idxsmalloc(), blockette::jj, blockette::kk, and MAKECSR.

Referenced by METIS_MeshToNodal().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ iamax()

int iamax ( int  n,
int *  x 
)

Definition at line 19477 of file metis.c.

References blockpointers::x.

Referenced by METIS_PartMeshDual(), and METIS_PartMeshNodal().

Here is the caller graph for this function:

◆ idxadd()

void idxadd ( int  n,
idxtype x,
idxtype y 
)

Definition at line 19619 of file metis.c.

References blockpointers::x.

◆ idxamax()

int idxamax ( int  n,
idxtype x 
)

◆ idxamax_strd()

int idxamax_strd ( int  n,
idxtype x,
int  incx 
)

Definition at line 19504 of file metis.c.

References blockpointers::x.

Referenced by ComputePartitionInfo(), and ComputePartitionInfoBipartite().

Here is the caller graph for this function:

◆ idxamin()

int idxamin ( int  n,
idxtype x 
)

◆ idxmalloc()

idxtype* idxmalloc ( int  n,
char *  msg 
)

◆ idxset()

idxtype* idxset ( int  n,
idxtype  val,
idxtype x 
)

Definition at line 19448 of file metis.c.

References blockpointers::x.

Referenced by Bnd2WayBalance(), CompressGraph(), Compute2WayNodePartitionParams(), Compute2WayPartitionParams(), ComputeKWayBalanceBoundary(), ComputeKWayBoundary(), ComputeKWayPartitionParams(), ComputeKWayVolGains(), ComputePartitionBalance(), ComputePartitionInfo(), ComputePartitionInfoBipartite(), ComputeSubDomainGraph(), ComputeVolKWayBalanceBoundary(), ComputeVolKWayBoundary(), ComputeVolKWayPartitionParams(), ComputeVolSubDomainGraph(), ConstructMinCoverSeparator(), ConstructMinCoverSeparator0(), CreateCoarseGraph(), CreateCoarseGraph_NVW(), CreateCoarseGraphNoMask(), EliminateComponents(), EliminateSubDomainEdges(), EliminateVolComponents(), EliminateVolSubDomainEdges(), FM_2WayEdgeRefine(), FM_2WayNodeBalance(), FM_2WayNodeRefine(), FM_2WayNodeRefine2(), FM_2WayNodeRefineEqWgt(), General2WayBalance(), Greedy_KWayEdgeBalance(), Greedy_KWayEdgeBalanceMConn(), Greedy_KWayEdgeRefine(), Greedy_KWayVolBalance(), Greedy_KWayVolBalanceMConn(), GrowBisection(), GrowBisectionNode(), idxsmalloc(), Match_HEM(), Match_RM(), Match_RM_NVW(), Match_SHEM(), MCGreedy_KWayEdgeBalanceHorizontal(), MCMatch_HEM(), MCMatch_RM(), MCMatch_SBHEM(), MCMatch_SHEBM(), MCMatch_SHEM(), METIS_NodeNDP(), METIS_PartMeshDual(), METIS_PartMeshNodal(), MocCompute2WayPartitionParams(), MocComputeKWayBalanceBoundary(), MocComputeKWayPartitionParams(), MocFM_2WayEdgeRefine(), MocFM_2WayEdgeRefine2(), MocGeneral2WayBalance(), MocGeneral2WayBalance2(), MocGrowBisection(), MocGrowBisection2(), MocGrowBisectionNew2(), MocInit2WayBalance2(), MocProject2WayPartition(), MocProjectKWayPartition(), PQueueInit(), PQueueReset(), Project2WayPartition(), ProjectKWayPartition(), ProjectVolKWayPartition(), PruneGraph(), RandomBisection(), SetUpGraph(), SplitGraphOrder(), SplitGraphOrderCC(), and VolSetUpGraph().

◆ idxsmalloc()

idxtype* idxsmalloc ( int  n,
idxtype  ival,
char *  msg 
)

◆ idxsum()

int idxsum ( int  n,
idxtype x 
)

◆ idxsum_strd()

int idxsum_strd ( int  n,
idxtype x,
int  incx 
)

Definition at line 19604 of file metis.c.

References blockpointers::x.

Referenced by ComputePartitionInfo(), ComputePartitionInfoBipartite(), SetUpGraph(), and VolSetUpGraph().

Here is the caller graph for this function:

◆ idxwspacefree()

void idxwspacefree ( CtrlType ctrl,
int  n 
)

◆ idxwspacemalloc()

idxtype* idxwspacemalloc ( CtrlType ctrl,
int  n 
)

◆ iidxsort()

void iidxsort ( int  n,
idxtype base 
)

Definition at line 13327 of file metis.c.

References THRESH.

◆ iintsort()

void iintsort ( int  n,
int *  base 
)

Definition at line 13455 of file metis.c.

References THRESH.

◆ ikeysort()

void ikeysort ( int  n,
KeyValueType base 
)

Definition at line 13584 of file metis.c.

References THRESH.

Referenced by CompressGraph(), EliminateSubDomainEdges(), EliminateVolComponents(), and EliminateVolSubDomainEdges().

Here is the caller graph for this function:

◆ ikeyvalsort()

void ikeyvalsort ( int  n,
KeyValueType base 
)

Definition at line 13720 of file metis.c.

References THRESH.

◆ imalloc()

int* imalloc ( int  n,
char *  msg 
)

Definition at line 19330 of file metis.c.

References GKmalloc().

Here is the call graph for this function:

◆ Init2WayPartition()

void Init2WayPartition ( CtrlType ctrl,
GraphType graph,
int *  tpwgts,
float  ubfactor 
)

Definition at line 2938 of file metis.c.

References DBG_IPART, DBG_MOVEINFO, DBG_REFINE, DBG_TIME, controldef::dbglvl, errexit(), GrowBisection(), IFSET, controldef::InitPartTmr, IPART_GGPKL, controldef::IType, graphdef::mincut, RandomBisection(), starttimer, and stoptimer.

Referenced by MlevelEdgeBisection(), and MlevelNodeBisection().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ InitGraph()

void InitGraph ( GraphType graph)

◆ InitRandom()

void InitRandom ( int  seed)

◆ InitSeparator()

void InitSeparator ( CtrlType ctrl,
GraphType graph,
float  ubfactor 
)

Definition at line 2972 of file metis.c.

References Compute2WayNodePartitionParams(), DBG_IPART, DBG_MOVEINFO, DBG_REFINE, DBG_TIME, controldef::dbglvl, GrowBisectionNode(), IFSET, controldef::InitPartTmr, graphdef::mincut, starttimer, and stoptimer.

Referenced by MlevelNodeBisection().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ InitTimers()

void InitTimers ( CtrlType ctrl)

◆ IsBalanced()

int IsBalanced ( idxtype pwgts,
int  nparts,
float *  tpwgts,
float  ubfactor 
)

Definition at line 4595 of file metis.c.

References idxsum().

Referenced by RefineKWay(), and RefineVolKWay().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ IsBetter2wayBalance()

int IsBetter2wayBalance ( int  ncon,
float *  newbal,
float *  oldbal,
float *  ubvec 
)

Definition at line 8980 of file metis.c.

References checkPyfForUpperCase::tmp, and partitionmod::ubvec.

Referenced by MocFM_2WayEdgeRefine2(), and MocGeneral2WayBalance2().

Here is the caller graph for this function:

◆ IsConnected()

int IsConnected ( CtrlType ctrl,
GraphType graph,
int  report 
)

Definition at line 2755 of file metis.c.

References graphdef::adjncy, idxmalloc(), idxsmalloc(), graphdef::nvtxs, and graphdef::xadj.

Here is the call graph for this function:

◆ IsConnected2()

int IsConnected2 ( GraphType graph,
int  report 
)

Definition at line 2792 of file metis.c.

References graphdef::adjncy, GKfree(), idxmalloc(), idxsmalloc(), LTERM, graphdef::nvtxs, graphdef::where, and graphdef::xadj.

Here is the call graph for this function:

◆ IsConnectedSubdomain()

int IsConnectedSubdomain ( CtrlType ctrl,
GraphType graph,
int  pid,
int  report 
)

Definition at line 2677 of file metis.c.

References graphdef::adjncy, GKfree(), idxmalloc(), idxsmalloc(), LTERM, graphdef::nvtxs, graphdef::vwgt, graphdef::where, and graphdef::xadj.

Referenced by ComputePartitionInfo().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ iset()

int* iset ( int  n,
int  val,
int *  x 
)

Definition at line 19434 of file metis.c.

References blockpointers::x.

Referenced by ismalloc().

Here is the caller graph for this function:

◆ IsHBalanceBetterFT()

int IsHBalanceBetterFT ( int  ncon,
int  nparts,
float *  pfrom,
float *  pto,
float *  vwgt,
float *  ubvec 
)

Definition at line 11046 of file metis.c.

References amax, fort_depend::temp, and partitionmod::ubvec.

Referenced by MCGreedy_KWayEdgeBalanceHorizontal(), and MCRandom_KWayEdgeRefineHorizontal().

Here is the caller graph for this function:

◆ IsHBalanceBetterTT()

int IsHBalanceBetterTT ( int  ncon,
int  nparts,
float *  pt1,
float *  pt2,
float *  vwgt,
float *  ubvec 
)

Definition at line 11094 of file metis.c.

References fort_depend::temp, and partitionmod::ubvec.

Referenced by MCGreedy_KWayEdgeBalanceHorizontal(), and MCRandom_KWayEdgeRefineHorizontal().

Here is the caller graph for this function:

◆ ismalloc()

int* ismalloc ( int  n,
int  ival,
char *  msg 
)

Definition at line 19366 of file metis.c.

References GKmalloc(), and iset().

Here is the call graph for this function:

◆ ispow2()

int ispow2 ( int  a)

Definition at line 19770 of file metis.c.

◆ IsSeparable()

int IsSeparable ( GraphType graph)

Definition at line 1475 of file metis.c.

References graphdef::adjncy, ASSERTP, graphdef::nvtxs, graphdef::where, and graphdef::xadj.

Referenced by ConstructMinCoverSeparator(), ConstructMinCoverSeparator0(), and ConstructSeparator().

Here is the caller graph for this function:

◆ isum()

int isum ( int  n,
int *  x 
)

Definition at line 19642 of file metis.c.

References blockpointers::x.

◆ KWayVolUpdate()

void KWayVolUpdate ( CtrlType ctrl,
GraphType graph,
int  v,
int  from,
int  to,
idxtype marker,
idxtype phtable,
idxtype updind 
)

◆ log2()

int log2 ( int  a)

Definition at line 19799 of file metis.c.

Referenced by METIS_mCPartGraphKway(), METIS_WPartGraphKway(), and METIS_WPartGraphVKway().

Here is the caller graph for this function:

◆ Match_HEM()

void Match_HEM ( CtrlType ctrl,
GraphType graph 
)

◆ Match_RM()

void Match_RM ( CtrlType ctrl,
GraphType graph 
)

◆ Match_RM_NVW()

void Match_RM_NVW ( CtrlType ctrl,
GraphType graph 
)

Definition at line 6971 of file metis.c.

References graphdef::adjncy, graphdef::cmap, CreateCoarseGraph_NVW(), DBG_TIME, controldef::dbglvl, idxset(), idxwspacefree(), idxwspacemalloc(), IFSET, blockette::ii, controldef::MatchTmr, graphdef::nvtxs, RandomPermute(), starttimer, stoptimer, UNMATCHED, and graphdef::xadj.

Referenced by Coarsen2Way().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Match_SHEM()

void Match_SHEM ( CtrlType ctrl,
GraphType graph 
)

◆ MCCoarsen2Way()

GraphType* MCCoarsen2Way ( CtrlType ctrl,
GraphType graph 
)

◆ MCGreedy_KWayEdgeBalanceHorizontal()

void MCGreedy_KWayEdgeBalanceHorizontal ( CtrlType ctrl,
GraphType graph,
int  nparts,
float *  ubvec,
int  npasses 
)

◆ MCHMlevelEdgeBisection()

void MCHMlevelEdgeBisection ( CtrlType ctrl,
GraphType graph,
float *  tpwgts,
float *  ubvec 
)

Definition at line 12907 of file metis.c.

References MCCoarsen2Way(), MocInit2WayPartition2(), MocRefine2Way2(), and partitionmod::ubvec.

Referenced by MCHMlevelRecursiveBisection().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ MCHMlevelRecursiveBisection()

int MCHMlevelRecursiveBisection ( CtrlType ctrl,
GraphType graph,
int  nparts,
idxtype part,
float *  ubvec,
int  fpart 
)

◆ MCMatch_HEM()

void MCMatch_HEM ( CtrlType ctrl,
GraphType graph 
)

◆ MCMatch_RM()

void MCMatch_RM ( CtrlType ctrl,
GraphType graph 
)

◆ MCMatch_SBHEM()

void MCMatch_SBHEM ( CtrlType ctrl,
GraphType graph,
int  norm 
)

◆ MCMatch_SHEBM()

void MCMatch_SHEBM ( CtrlType ctrl,
GraphType graph,
int  norm 
)

◆ MCMatch_SHEM()

void MCMatch_SHEM ( CtrlType ctrl,
GraphType graph 
)

◆ MCMlevelEdgeBisection()

void MCMlevelEdgeBisection ( CtrlType ctrl,
GraphType graph,
float *  tpwgts,
float  ubfactor 
)

Definition at line 12890 of file metis.c.

References MCCoarsen2Way(), MocInit2WayPartition(), and MocRefine2Way().

Referenced by MCHMlevelRecursiveBisection(), and MCMlevelRecursiveBisection().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ MCMlevelKWayPartitioning()

int MCMlevelKWayPartitioning ( CtrlType ctrl,
GraphType graph,
int  nparts,
idxtype part,
float *  rubvec 
)

◆ MCMlevelRecursiveBisection()

int MCMlevelRecursiveBisection ( CtrlType ctrl,
GraphType graph,
int  nparts,
idxtype part,
float  ubfactor,
int  fpart 
)

Definition at line 12760 of file metis.c.

References graphdef::gdata, GKfree(), graphdef::label, LTERM, MCMlevelEdgeBisection(), graphdef::mincut, graphdef::npwgts, graphdef::nvtxs, graphdef::nvwgt, partitionmod::part, graphdef::rdata, SplitGraphPart(), and graphdef::where.

Referenced by METIS_mCPartGraphRecursive(), and METIS_mCPartGraphRecursiveInternal().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ MCRandom_KWayEdgeRefineHorizontal()

void MCRandom_KWayEdgeRefineHorizontal ( CtrlType ctrl,
GraphType graph,
int  nparts,
float *  orgubvec,
int  npasses 
)

◆ METIS_EdgeComputeSeparator()

void METIS_EdgeComputeSeparator ( int *  nvtxs,
idxtype xadj,
idxtype adjncy,
idxtype vwgt,
idxtype adjwgt,
int *  options,
int *  sepsize,
idxtype part 
)

◆ METIS_EDGEND()

void METIS_EDGEND ( int *  nvtxs,
idxtype xadj,
idxtype adjncy,
int *  numflag,
int *  options,
idxtype perm,
idxtype iperm 
)

Definition at line 2082 of file metis.c.

References METIS_EdgeND().

Here is the call graph for this function:

◆ metis_edgend()

void metis_edgend ( int *  nvtxs,
idxtype xadj,
idxtype adjncy,
int *  numflag,
int *  options,
idxtype perm,
idxtype iperm 
)

Definition at line 2086 of file metis.c.

References METIS_EdgeND().

Here is the call graph for this function:

◆ METIS_EdgeND()

void METIS_EdgeND ( int *  nvtxs,
idxtype xadj,
idxtype adjncy,
int *  numflag,
int *  options,
idxtype perm,
idxtype iperm 
)

◆ metis_edgend_()

void metis_edgend_ ( int *  nvtxs,
idxtype xadj,
idxtype adjncy,
int *  numflag,
int *  options,
idxtype perm,
idxtype iperm 
)

Definition at line 2090 of file metis.c.

References METIS_EdgeND().

Here is the call graph for this function:

◆ metis_edgend__()

void metis_edgend__ ( int *  nvtxs,
idxtype xadj,
idxtype adjncy,
int *  numflag,
int *  options,
idxtype perm,
idxtype iperm 
)

Definition at line 2094 of file metis.c.

References METIS_EdgeND().

Here is the call graph for this function:

◆ METIS_EstimateMemory()

void METIS_EstimateMemory ( int *  nvtxs,
idxtype xadj,
idxtype adjncy,
int *  numflag,
int *  optype,
int *  nbytes 
)

Definition at line 1519 of file metis.c.

References Change2CNumbering(), Change2FNumbering2(), EstimateCFraction(), InitRandom(), NEG_GAINSPAN, and PLUS_GAINSPAN.

Referenced by METIS_ESTIMATEMEMORY(), metis_estimatememory(), metis_estimatememory_(), and metis_estimatememory__().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ METIS_ESTIMATEMEMORY()

void METIS_ESTIMATEMEMORY ( int *  nvtxs,
idxtype xadj,
idxtype adjncy,
int *  numflag,
int *  optype,
int *  nbytes 
)

Definition at line 2211 of file metis.c.

References METIS_EstimateMemory().

Here is the call graph for this function:

◆ metis_estimatememory()

void metis_estimatememory ( int *  nvtxs,
idxtype xadj,
idxtype adjncy,
int *  numflag,
int *  optype,
int *  nbytes 
)

Definition at line 2215 of file metis.c.

References METIS_EstimateMemory().

Here is the call graph for this function:

◆ metis_estimatememory_()

void metis_estimatememory_ ( int *  nvtxs,
idxtype xadj,
idxtype adjncy,
int *  numflag,
int *  optype,
int *  nbytes 
)

Definition at line 2219 of file metis.c.

References METIS_EstimateMemory().

Here is the call graph for this function:

◆ metis_estimatememory__()

void metis_estimatememory__ ( int *  nvtxs,
idxtype xadj,
idxtype adjncy,
int *  numflag,
int *  optype,
int *  nbytes 
)

Definition at line 2223 of file metis.c.

References METIS_EstimateMemory().

Here is the call graph for this function:

◆ METIS_mCHPartGraphRecursive()

void METIS_mCHPartGraphRecursive ( int *  nvtxs,
int *  ncon,
idxtype xadj,
idxtype adjncy,
idxtype vwgt,
idxtype adjwgt,
int *  wgtflag,
int *  numflag,
int *  nparts,
float *  ubvec,
int *  options,
int *  edgecut,
idxtype part 
)

◆ METIS_mCHPartGraphRecursiveInternal()

void METIS_mCHPartGraphRecursiveInternal ( int *  nvtxs,
int *  ncon,
idxtype xadj,
idxtype adjncy,
float *  nvwgt,
idxtype adjwgt,
int *  nparts,
float *  ubvec,
int *  options,
int *  edgecut,
idxtype part 
)

◆ METIS_MCPARTGRAPHKWAY()

void METIS_MCPARTGRAPHKWAY ( int *  nvtxs,
int *  ncon,
idxtype xadj,
idxtype adjncy,
idxtype vwgt,
idxtype adjwgt,
int *  wgtflag,
int *  numflag,
int *  nparts,
float *  rubvec,
int *  options,
int *  edgecut,
idxtype part 
)

Definition at line 2248 of file metis.c.

References METIS_mCPartGraphKway(), and partitionmod::part.

Here is the call graph for this function:

◆ metis_mcpartgraphkway()

void metis_mcpartgraphkway ( int *  nvtxs,
int *  ncon,
idxtype xadj,
idxtype adjncy,
idxtype vwgt,
idxtype adjwgt,
int *  wgtflag,
int *  numflag,
int *  nparts,
float *  rubvec,
int *  options,
int *  edgecut,
idxtype part 
)

Definition at line 2252 of file metis.c.

References METIS_mCPartGraphKway(), and partitionmod::part.

Here is the call graph for this function:

◆ METIS_mCPartGraphKway()

void METIS_mCPartGraphKway ( int *  nvtxs,
int *  ncon,
idxtype xadj,
idxtype adjncy,
idxtype vwgt,
idxtype adjwgt,
int *  wgtflag,
int *  numflag,
int *  nparts,
float *  rubvec,
int *  options,
int *  edgecut,
idxtype part 
)

◆ metis_mcpartgraphkway_()

void metis_mcpartgraphkway_ ( int *  nvtxs,
int *  ncon,
idxtype xadj,
idxtype adjncy,
idxtype vwgt,
idxtype adjwgt,
int *  wgtflag,
int *  numflag,
int *  nparts,
float *  rubvec,
int *  options,
int *  edgecut,
idxtype part 
)

Definition at line 2256 of file metis.c.

References METIS_mCPartGraphKway(), and partitionmod::part.

Here is the call graph for this function:

◆ metis_mcpartgraphkway__()

void metis_mcpartgraphkway__ ( int *  nvtxs,
int *  ncon,
idxtype xadj,
idxtype adjncy,
idxtype vwgt,
idxtype adjwgt,
int *  wgtflag,
int *  numflag,
int *  nparts,
float *  rubvec,
int *  options,
int *  edgecut,
idxtype part 
)

Definition at line 2260 of file metis.c.

References METIS_mCPartGraphKway(), and partitionmod::part.

Here is the call graph for this function:

◆ METIS_MCPARTGRAPHRECURSIVE()

void METIS_MCPARTGRAPHRECURSIVE ( int *  nvtxs,
int *  ncon,
idxtype xadj,
idxtype adjncy,
idxtype vwgt,
idxtype adjwgt,
int *  wgtflag,
int *  numflag,
int *  nparts,
int *  options,
int *  edgecut,
idxtype part 
)

Definition at line 2230 of file metis.c.

References METIS_mCPartGraphRecursive(), and partitionmod::part.

Here is the call graph for this function:

◆ metis_mcpartgraphrecursive()

void metis_mcpartgraphrecursive ( int *  nvtxs,
int *  ncon,
idxtype xadj,
idxtype adjncy,
idxtype vwgt,
idxtype adjwgt,
int *  wgtflag,
int *  numflag,
int *  nparts,
int *  options,
int *  edgecut,
idxtype part 
)

Definition at line 2234 of file metis.c.

References METIS_mCPartGraphRecursive(), and partitionmod::part.

Here is the call graph for this function:

◆ METIS_mCPartGraphRecursive()

void METIS_mCPartGraphRecursive ( int *  nvtxs,
int *  ncon,
idxtype xadj,
idxtype adjncy,
idxtype vwgt,
idxtype adjwgt,
int *  wgtflag,
int *  numflag,
int *  nparts,
int *  options,
int *  edgecut,
idxtype part 
)

◆ metis_mcpartgraphrecursive_()

void metis_mcpartgraphrecursive_ ( int *  nvtxs,
int *  ncon,
idxtype xadj,
idxtype adjncy,
idxtype vwgt,
idxtype adjwgt,
int *  wgtflag,
int *  numflag,
int *  nparts,
int *  options,
int *  edgecut,
idxtype part 
)

Definition at line 2238 of file metis.c.

References METIS_mCPartGraphRecursive(), and partitionmod::part.

Here is the call graph for this function:

◆ metis_mcpartgraphrecursive__()

void metis_mcpartgraphrecursive__ ( int *  nvtxs,
int *  ncon,
idxtype xadj,
idxtype adjncy,
idxtype vwgt,
idxtype adjwgt,
int *  wgtflag,
int *  numflag,
int *  nparts,
int *  options,
int *  edgecut,
idxtype part 
)

Definition at line 2242 of file metis.c.

References METIS_mCPartGraphRecursive(), and partitionmod::part.

Here is the call graph for this function:

◆ METIS_mCPartGraphRecursiveInternal()

void METIS_mCPartGraphRecursiveInternal ( int *  nvtxs,
int *  ncon,
idxtype xadj,
idxtype adjncy,
float *  nvwgt,
idxtype adjwgt,
int *  nparts,
int *  options,
int *  edgecut,
idxtype part 
)

◆ METIS_MESHTODUAL()

void METIS_MESHTODUAL ( int *  ne,
int *  nn,
idxtype elmnts,
int *  etype,
int *  numflag,
idxtype dxadj,
idxtype dadjncy 
)

Definition at line 2193 of file metis.c.

References METIS_MeshToDual().

Here is the call graph for this function:

◆ metis_meshtodual()

void metis_meshtodual ( int *  ne,
int *  nn,
idxtype elmnts,
int *  etype,
int *  numflag,
idxtype dxadj,
idxtype dadjncy 
)

Definition at line 2197 of file metis.c.

References METIS_MeshToDual().

Here is the call graph for this function:

◆ METIS_MeshToDual()

void METIS_MeshToDual ( int *  ne,
int *  nn,
idxtype elmnts,
int *  etype,
int *  numflag,
idxtype dxadj,
idxtype dadjncy 
)

Definition at line 8074 of file metis.c.

References ChangeMesh2CNumbering(), ChangeMesh2FNumbering(), and GENDUALMETIS().

Referenced by METIS_MESHTODUAL(), metis_meshtodual(), metis_meshtodual_(), metis_meshtodual__(), and METIS_PartMeshDual().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ metis_meshtodual_()

void metis_meshtodual_ ( int *  ne,
int *  nn,
idxtype elmnts,
int *  etype,
int *  numflag,
idxtype dxadj,
idxtype dadjncy 
)

Definition at line 2201 of file metis.c.

References METIS_MeshToDual().

Here is the call graph for this function:

◆ metis_meshtodual__()

void metis_meshtodual__ ( int *  ne,
int *  nn,
idxtype elmnts,
int *  etype,
int *  numflag,
idxtype dxadj,
idxtype dadjncy 
)

Definition at line 2205 of file metis.c.

References METIS_MeshToDual().

Here is the call graph for this function:

◆ METIS_MESHTONODAL()

void METIS_MESHTONODAL ( int *  ne,
int *  nn,
idxtype elmnts,
int *  etype,
int *  numflag,
idxtype dxadj,
idxtype dadjncy 
)

Definition at line 2175 of file metis.c.

References METIS_MeshToNodal().

Here is the call graph for this function:

◆ metis_meshtonodal()

void metis_meshtonodal ( int *  ne,
int *  nn,
idxtype elmnts,
int *  etype,
int *  numflag,
idxtype dxadj,
idxtype dadjncy 
)

Definition at line 2179 of file metis.c.

References METIS_MeshToNodal().

Here is the call graph for this function:

◆ METIS_MeshToNodal()

void METIS_MeshToNodal ( int *  ne,
int *  nn,
idxtype elmnts,
int *  etype,
int *  numflag,
idxtype dxadj,
idxtype dadjncy 
)

Definition at line 8093 of file metis.c.

References ChangeMesh2CNumbering(), ChangeMesh2FNumbering(), HEXNODALMETIS(), QUADNODALMETIS(), TETNODALMETIS(), and TRINODALMETIS().

Referenced by METIS_MESHTONODAL(), metis_meshtonodal(), metis_meshtonodal_(), metis_meshtonodal__(), and METIS_PartMeshNodal().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ metis_meshtonodal_()

void metis_meshtonodal_ ( int *  ne,
int *  nn,
idxtype elmnts,
int *  etype,
int *  numflag,
idxtype dxadj,
idxtype dadjncy 
)

Definition at line 2183 of file metis.c.

References METIS_MeshToNodal().

Here is the call graph for this function:

◆ metis_meshtonodal__()

void metis_meshtonodal__ ( int *  ne,
int *  nn,
idxtype elmnts,
int *  etype,
int *  numflag,
idxtype dxadj,
idxtype dadjncy 
)

Definition at line 2187 of file metis.c.

References METIS_MeshToNodal().

Here is the call graph for this function:

◆ METIS_NodeComputeSeparator()

void METIS_NodeComputeSeparator ( int *  nvtxs,
idxtype xadj,
idxtype adjncy,
idxtype vwgt,
idxtype adjwgt,
int *  options,
int *  sepsize,
idxtype part 
)

◆ METIS_NODEND()

void METIS_NODEND ( int *  nvtxs,
idxtype xadj,
idxtype adjncy,
int *  numflag,
int *  options,
idxtype perm,
idxtype iperm 
)

Definition at line 2101 of file metis.c.

References METIS_NodeND().

Here is the call graph for this function:

◆ metis_nodend()

void metis_nodend ( int *  nvtxs,
idxtype xadj,
idxtype adjncy,
int *  numflag,
int *  options,
idxtype perm,
idxtype iperm 
)

Definition at line 2105 of file metis.c.

References METIS_NodeND().

Here is the call graph for this function:

◆ METIS_NodeND()

void METIS_NodeND ( int *  nvtxs,
idxtype xadj,
idxtype adjncy,
int *  numflag,
int *  options,
idxtype perm,
idxtype iperm 
)

◆ metis_nodend_()

void metis_nodend_ ( int *  nvtxs,
idxtype xadj,
idxtype adjncy,
int *  numflag,
int *  options,
idxtype perm,
idxtype iperm 
)

Definition at line 2109 of file metis.c.

References METIS_NodeND().

Here is the call graph for this function:

◆ metis_nodend__()

void metis_nodend__ ( int *  nvtxs,
idxtype xadj,
idxtype adjncy,
int *  numflag,
int *  options,
idxtype perm,
idxtype iperm 
)

Definition at line 2113 of file metis.c.

References METIS_NodeND().

Here is the call graph for this function:

◆ METIS_NodeNDP()

void METIS_NodeNDP ( int  nvtxs,
idxtype xadj,
idxtype adjncy,
int  npes,
int *  options,
idxtype perm,
idxtype iperm,
idxtype sizes 
)

◆ METIS_NODEWND()

void METIS_NODEWND ( int *  nvtxs,
idxtype xadj,
idxtype adjncy,
idxtype vwgt,
int *  numflag,
int *  options,
idxtype perm,
idxtype iperm 
)

Definition at line 2120 of file metis.c.

References METIS_NodeWND().

Here is the call graph for this function:

◆ metis_nodewnd()

void metis_nodewnd ( int *  nvtxs,
idxtype xadj,
idxtype adjncy,
idxtype vwgt,
int *  numflag,
int *  options,
idxtype perm,
idxtype iperm 
)

Definition at line 2124 of file metis.c.

References METIS_NodeWND().

Here is the call graph for this function:

◆ METIS_NodeWND()

void METIS_NodeWND ( int *  nvtxs,
idxtype xadj,
idxtype adjncy,
idxtype vwgt,
int *  numflag,
int *  options,
idxtype perm,
idxtype iperm 
)

◆ metis_nodewnd_()

void metis_nodewnd_ ( int *  nvtxs,
idxtype xadj,
idxtype adjncy,
idxtype vwgt,
int *  numflag,
int *  options,
idxtype perm,
idxtype iperm 
)

Definition at line 2128 of file metis.c.

References METIS_NodeWND().

Here is the call graph for this function:

◆ metis_nodewnd__()

void metis_nodewnd__ ( int *  nvtxs,
idxtype xadj,
idxtype adjncy,
idxtype vwgt,
int *  numflag,
int *  options,
idxtype perm,
idxtype iperm 
)

Definition at line 2132 of file metis.c.

References METIS_NodeWND().

Here is the call graph for this function:

◆ METIS_PARTGRAPHKWAY()

void METIS_PARTGRAPHKWAY ( int *  nvtxs,
idxtype xadj,
idxtype adjncy,
idxtype vwgt,
idxtype adjwgt,
int *  wgtflag,
int *  numflag,
int *  nparts,
int *  options,
int *  edgecut,
idxtype part 
)

Definition at line 2044 of file metis.c.

References METIS_PartGraphKway(), and partitionmod::part.

Here is the call graph for this function:

◆ metis_partgraphkway()

void metis_partgraphkway ( int *  nvtxs,
idxtype xadj,
idxtype adjncy,
idxtype vwgt,
idxtype adjwgt,
int *  wgtflag,
int *  numflag,
int *  nparts,
int *  options,
int *  edgecut,
idxtype part 
)

Definition at line 2048 of file metis.c.

References METIS_PartGraphKway(), and partitionmod::part.

Here is the call graph for this function:

◆ METIS_PartGraphKway()

void METIS_PartGraphKway ( int *  nvtxs,
idxtype xadj,
idxtype adjncy,
idxtype vwgt,
idxtype adjwgt,
int *  wgtflag,
int *  numflag,
int *  nparts,
int *  options,
int *  edgecut,
idxtype part 
)

Definition at line 3361 of file metis.c.

References fmalloc(), METIS_WPartGraphKway(), and partitionmod::part.

Referenced by METIS_PARTGRAPHKWAY(), metis_partgraphkway(), metis_partgraphkway_(), metis_partgraphkway__(), METIS_PartMeshDual(), and METIS_PartMeshNodal().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ METIS_PartGraphKway2()

void METIS_PartGraphKway2 ( int *  nvtxs,
idxtype xadj,
idxtype adjncy,
idxtype vwgt,
idxtype adjwgt,
int *  wgtflag,
int *  numflag,
int *  nparts,
int *  options,
int *  edgecut,
idxtype part 
)

Definition at line 14630 of file metis.c.

References fmalloc(), METIS_WPartGraphKway2(), and partitionmod::part.

Here is the call graph for this function:

◆ metis_partgraphkway_()

void metis_partgraphkway_ ( int *  nvtxs,
idxtype xadj,
idxtype adjncy,
idxtype vwgt,
idxtype adjwgt,
int *  wgtflag,
int *  numflag,
int *  nparts,
int *  options,
int *  edgecut,
idxtype part 
)

Definition at line 2052 of file metis.c.

References METIS_PartGraphKway(), and partitionmod::part.

Here is the call graph for this function:

◆ metis_partgraphkway__()

void metis_partgraphkway__ ( int *  nvtxs,
idxtype xadj,
idxtype adjncy,
idxtype vwgt,
idxtype adjwgt,
int *  wgtflag,
int *  numflag,
int *  nparts,
int *  options,
int *  edgecut,
idxtype part 
)

Definition at line 2056 of file metis.c.

References METIS_PartGraphKway(), and partitionmod::part.

Here is the call graph for this function:

◆ METIS_PARTGRAPHRECURSIVE()

void METIS_PARTGRAPHRECURSIVE ( int *  nvtxs,
idxtype xadj,
idxtype adjncy,
idxtype vwgt,
idxtype adjwgt,
int *  wgtflag,
int *  numflag,
int *  nparts,
int *  options,
int *  edgecut,
idxtype part 
)

Definition at line 2007 of file metis.c.

References METIS_PartGraphRecursive(), and partitionmod::part.

Here is the call graph for this function:

◆ metis_partgraphrecursive()

void metis_partgraphrecursive ( int *  nvtxs,
idxtype xadj,
idxtype adjncy,
idxtype vwgt,
idxtype adjwgt,
int *  wgtflag,
int *  numflag,
int *  nparts,
int *  options,
int *  edgecut,
idxtype part 
)

Definition at line 2011 of file metis.c.

References METIS_PartGraphRecursive(), and partitionmod::part.

Here is the call graph for this function:

◆ METIS_PartGraphRecursive()

void METIS_PartGraphRecursive ( int *  nvtxs,
idxtype xadj,
idxtype adjncy,
idxtype vwgt,
idxtype adjwgt,
int *  wgtflag,
int *  numflag,
int *  nparts,
int *  options,
int *  edgecut,
idxtype part 
)

Definition at line 15006 of file metis.c.

References fmalloc(), METIS_WPartGraphRecursive(), and partitionmod::part.

Referenced by METIS_PARTGRAPHRECURSIVE(), metis_partgraphrecursive(), metis_partgraphrecursive_(), and metis_partgraphrecursive__().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ metis_partgraphrecursive_()

void metis_partgraphrecursive_ ( int *  nvtxs,
idxtype xadj,
idxtype adjncy,
idxtype vwgt,
idxtype adjwgt,
int *  wgtflag,
int *  numflag,
int *  nparts,
int *  options,
int *  edgecut,
idxtype part 
)

Definition at line 2015 of file metis.c.

References METIS_PartGraphRecursive(), and partitionmod::part.

Here is the call graph for this function:

◆ metis_partgraphrecursive__()

void metis_partgraphrecursive__ ( int *  nvtxs,
idxtype xadj,
idxtype adjncy,
idxtype vwgt,
idxtype adjwgt,
int *  wgtflag,
int *  numflag,
int *  nparts,
int *  options,
int *  edgecut,
idxtype part 
)

Definition at line 2019 of file metis.c.

References METIS_PartGraphRecursive(), and partitionmod::part.

Here is the call graph for this function:

◆ METIS_PARTGRAPHVKWAY()

void METIS_PARTGRAPHVKWAY ( int *  nvtxs,
idxtype xadj,
idxtype adjncy,
idxtype vwgt,
idxtype vsize,
int *  wgtflag,
int *  numflag,
int *  nparts,
int *  options,
int *  volume,
idxtype part 
)

Definition at line 2266 of file metis.c.

References METIS_PartGraphVKway(), and partitionmod::part.

Here is the call graph for this function:

◆ metis_partgraphvkway()

void metis_partgraphvkway ( int *  nvtxs,
idxtype xadj,
idxtype adjncy,
idxtype vwgt,
idxtype vsize,
int *  wgtflag,
int *  numflag,
int *  nparts,
int *  options,
int *  volume,
idxtype part 
)

Definition at line 2270 of file metis.c.

References METIS_PartGraphVKway(), and partitionmod::part.

Here is the call graph for this function:

◆ METIS_PartGraphVKway()

void METIS_PartGraphVKway ( int *  nvtxs,
idxtype xadj,
idxtype adjncy,
idxtype vwgt,
idxtype vsize,
int *  wgtflag,
int *  numflag,
int *  nparts,
int *  options,
int *  volume,
idxtype part 
)

Definition at line 3488 of file metis.c.

References fmalloc(), METIS_WPartGraphVKway(), and partitionmod::part.

Referenced by METIS_PARTGRAPHVKWAY(), metis_partgraphvkway(), metis_partgraphvkway_(), and metis_partgraphvkway__().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ metis_partgraphvkway_()

void metis_partgraphvkway_ ( int *  nvtxs,
idxtype xadj,
idxtype adjncy,
idxtype vwgt,
idxtype vsize,
int *  wgtflag,
int *  numflag,
int *  nparts,
int *  options,
int *  volume,
idxtype part 
)

Definition at line 2274 of file metis.c.

References METIS_PartGraphVKway(), and partitionmod::part.

Here is the call graph for this function:

◆ metis_partgraphvkway__()

void metis_partgraphvkway__ ( int *  nvtxs,
idxtype xadj,
idxtype adjncy,
idxtype vwgt,
idxtype vsize,
int *  wgtflag,
int *  numflag,
int *  nparts,
int *  options,
int *  volume,
idxtype part 
)

Definition at line 2278 of file metis.c.

References METIS_PartGraphVKway(), and partitionmod::part.

Here is the call graph for this function:

◆ METIS_PARTMESHDUAL()

void METIS_PARTMESHDUAL ( int *  ne,
int *  nn,
idxtype elmnts,
int *  etype,
int *  numflag,
int *  nparts,
int *  edgecut,
idxtype epart,
idxtype npart 
)

Definition at line 2157 of file metis.c.

References METIS_PartMeshDual().

Here is the call graph for this function:

◆ metis_partmeshdual()

void metis_partmeshdual ( int *  ne,
int *  nn,
idxtype elmnts,
int *  etype,
int *  numflag,
int *  nparts,
int *  edgecut,
idxtype epart,
idxtype npart 
)

Definition at line 2161 of file metis.c.

References METIS_PartMeshDual().

Here is the call graph for this function:

◆ METIS_PartMeshDual()

void METIS_PartMeshDual ( int *  ne,
int *  nn,
idxtype elmnts,
int *  etype,
int *  numflag,
int *  nparts,
int *  edgecut,
idxtype epart,
idxtype npart 
)

Definition at line 8559 of file metis.c.

References ChangeMesh2CNumbering(), ChangeMesh2FNumbering2(), GKfree(), iamax(), idxmalloc(), idxset(), idxsmalloc(), LTERM, MAKECSR, METIS_MeshToDual(), and METIS_PartGraphKway().

Referenced by METIS_PARTMESHDUAL(), metis_partmeshdual(), metis_partmeshdual_(), and metis_partmeshdual__().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ metis_partmeshdual_()

void metis_partmeshdual_ ( int *  ne,
int *  nn,
idxtype elmnts,
int *  etype,
int *  numflag,
int *  nparts,
int *  edgecut,
idxtype epart,
idxtype npart 
)

Definition at line 2165 of file metis.c.

References METIS_PartMeshDual().

Here is the call graph for this function:

◆ metis_partmeshdual__()

void metis_partmeshdual__ ( int *  ne,
int *  nn,
idxtype elmnts,
int *  etype,
int *  numflag,
int *  nparts,
int *  edgecut,
idxtype epart,
idxtype npart 
)

Definition at line 2169 of file metis.c.

References METIS_PartMeshDual().

Here is the call graph for this function:

◆ METIS_PARTMESHNODAL()

void METIS_PARTMESHNODAL ( int *  ne,
int *  nn,
idxtype elmnts,
int *  etype,
int *  numflag,
int *  nparts,
int *  edgecut,
idxtype epart,
idxtype npart 
)

Definition at line 2139 of file metis.c.

References METIS_PartMeshNodal().

Here is the call graph for this function:

◆ metis_partmeshnodal()

void metis_partmeshnodal ( int *  ne,
int *  nn,
idxtype elmnts,
int *  etype,
int *  numflag,
int *  nparts,
int *  edgecut,
idxtype epart,
idxtype npart 
)

Definition at line 2143 of file metis.c.

References METIS_PartMeshNodal().

Here is the call graph for this function:

◆ METIS_PartMeshNodal()

void METIS_PartMeshNodal ( int *  ne,
int *  nn,
idxtype elmnts,
int *  etype,
int *  numflag,
int *  nparts,
int *  edgecut,
idxtype epart,
idxtype npart 
)

Definition at line 8471 of file metis.c.

References ChangeMesh2CNumbering(), ChangeMesh2FNumbering2(), GKfree(), iamax(), idxmalloc(), idxset(), idxsmalloc(), LTERM, METIS_MeshToNodal(), and METIS_PartGraphKway().

Referenced by METIS_PARTMESHNODAL(), metis_partmeshnodal(), metis_partmeshnodal_(), and metis_partmeshnodal__().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ metis_partmeshnodal_()

void metis_partmeshnodal_ ( int *  ne,
int *  nn,
idxtype elmnts,
int *  etype,
int *  numflag,
int *  nparts,
int *  edgecut,
idxtype epart,
idxtype npart 
)

Definition at line 2147 of file metis.c.

References METIS_PartMeshNodal().

Here is the call graph for this function:

◆ metis_partmeshnodal__()

void metis_partmeshnodal__ ( int *  ne,
int *  nn,
idxtype elmnts,
int *  etype,
int *  numflag,
int *  nparts,
int *  edgecut,
idxtype epart,
idxtype npart 
)

Definition at line 2151 of file metis.c.

References METIS_PartMeshNodal().

Here is the call graph for this function:

◆ METIS_WPARTGRAPHKWAY()

void METIS_WPARTGRAPHKWAY ( int *  nvtxs,
idxtype xadj,
idxtype adjncy,
idxtype vwgt,
idxtype adjwgt,
int *  wgtflag,
int *  numflag,
int *  nparts,
float *  tpwgts,
int *  options,
int *  edgecut,
idxtype part 
)

Definition at line 2063 of file metis.c.

References METIS_WPartGraphKway(), and partitionmod::part.

Here is the call graph for this function:

◆ metis_wpartgraphkway()

void metis_wpartgraphkway ( int *  nvtxs,
idxtype xadj,
idxtype adjncy,
idxtype vwgt,
idxtype adjwgt,
int *  wgtflag,
int *  numflag,
int *  nparts,
float *  tpwgts,
int *  options,
int *  edgecut,
idxtype part 
)

Definition at line 2067 of file metis.c.

References METIS_WPartGraphKway(), and partitionmod::part.

Here is the call graph for this function:

◆ METIS_WPartGraphKway()

void METIS_WPartGraphKway ( int *  nvtxs,
idxtype xadj,
idxtype adjncy,
idxtype vwgt,
idxtype adjwgt,
int *  wgtflag,
int *  numflag,
int *  nparts,
float *  tpwgts,
int *  options,
int *  edgecut,
idxtype part 
)

◆ METIS_WPartGraphKway2()

void METIS_WPartGraphKway2 ( int *  nvtxs,
idxtype xadj,
idxtype adjncy,
idxtype vwgt,
idxtype adjwgt,
int *  wgtflag,
int *  numflag,
int *  nparts,
float *  tpwgts,
int *  options,
int *  edgecut,
idxtype part 
)

◆ metis_wpartgraphkway_()

void metis_wpartgraphkway_ ( int *  nvtxs,
idxtype xadj,
idxtype adjncy,
idxtype vwgt,
idxtype adjwgt,
int *  wgtflag,
int *  numflag,
int *  nparts,
float *  tpwgts,
int *  options,
int *  edgecut,
idxtype part 
)

Definition at line 2071 of file metis.c.

References METIS_WPartGraphKway(), and partitionmod::part.

Here is the call graph for this function:

◆ metis_wpartgraphkway__()

void metis_wpartgraphkway__ ( int *  nvtxs,
idxtype xadj,
idxtype adjncy,
idxtype vwgt,
idxtype adjwgt,
int *  wgtflag,
int *  numflag,
int *  nparts,
float *  tpwgts,
int *  options,
int *  edgecut,
idxtype part 
)

Definition at line 2075 of file metis.c.

References METIS_WPartGraphKway(), and partitionmod::part.

Here is the call graph for this function:

◆ METIS_WPARTGRAPHRECURSIVE()

void METIS_WPARTGRAPHRECURSIVE ( int *  nvtxs,
idxtype xadj,
idxtype adjncy,
idxtype vwgt,
idxtype adjwgt,
int *  wgtflag,
int *  numflag,
int *  nparts,
float *  tpwgts,
int *  options,
int *  edgecut,
idxtype part 
)

Definition at line 2025 of file metis.c.

References METIS_WPartGraphRecursive(), and partitionmod::part.

Here is the call graph for this function:

◆ metis_wpartgraphrecursive()

void metis_wpartgraphrecursive ( int *  nvtxs,
idxtype xadj,
idxtype adjncy,
idxtype vwgt,
idxtype adjwgt,
int *  wgtflag,
int *  numflag,
int *  nparts,
float *  tpwgts,
int *  options,
int *  edgecut,
idxtype part 
)

Definition at line 2029 of file metis.c.

References METIS_WPartGraphRecursive(), and partitionmod::part.

Here is the call graph for this function:

◆ METIS_WPartGraphRecursive()

void METIS_WPartGraphRecursive ( int *  nvtxs,
idxtype xadj,
idxtype adjncy,
idxtype vwgt,
idxtype adjwgt,
int *  wgtflag,
int *  numflag,
int *  nparts,
float *  tpwgts,
int *  options,
int *  edgecut,
idxtype part 
)

◆ metis_wpartgraphrecursive_()

void metis_wpartgraphrecursive_ ( int *  nvtxs,
idxtype xadj,
idxtype adjncy,
idxtype vwgt,
idxtype adjwgt,
int *  wgtflag,
int *  numflag,
int *  nparts,
float *  tpwgts,
int *  options,
int *  edgecut,
idxtype part 
)

Definition at line 2033 of file metis.c.

References METIS_WPartGraphRecursive(), and partitionmod::part.

Here is the call graph for this function:

◆ metis_wpartgraphrecursive__()

void metis_wpartgraphrecursive__ ( int *  nvtxs,
idxtype xadj,
idxtype adjncy,
idxtype vwgt,
idxtype adjwgt,
int *  wgtflag,
int *  numflag,
int *  nparts,
float *  tpwgts,
int *  options,
int *  edgecut,
idxtype part 
)

Definition at line 2037 of file metis.c.

References METIS_WPartGraphRecursive(), and partitionmod::part.

Here is the call graph for this function:

◆ METIS_WPARTGRAPHVKWAY()

void METIS_WPARTGRAPHVKWAY ( int *  nvtxs,
idxtype xadj,
idxtype adjncy,
idxtype vwgt,
idxtype vsize,
int *  wgtflag,
int *  numflag,
int *  nparts,
float *  tpwgts,
int *  options,
int *  volume,
idxtype part 
)

Definition at line 2283 of file metis.c.

References METIS_WPartGraphVKway(), and partitionmod::part.

Here is the call graph for this function:

◆ metis_wpartgraphvkway()

void metis_wpartgraphvkway ( int *  nvtxs,
idxtype xadj,
idxtype adjncy,
idxtype vwgt,
idxtype vsize,
int *  wgtflag,
int *  numflag,
int *  nparts,
float *  tpwgts,
int *  options,
int *  volume,
idxtype part 
)

Definition at line 2287 of file metis.c.

References METIS_WPartGraphVKway(), and partitionmod::part.

Here is the call graph for this function:

◆ METIS_WPartGraphVKway()

void METIS_WPartGraphVKway ( int *  nvtxs,
idxtype xadj,
idxtype adjncy,
idxtype vwgt,
idxtype vsize,
int *  wgtflag,
int *  numflag,
int *  nparts,
float *  tpwgts,
int *  options,
int *  volume,
idxtype part 
)

◆ metis_wpartgraphvkway_()

void metis_wpartgraphvkway_ ( int *  nvtxs,
idxtype xadj,
idxtype adjncy,
idxtype vwgt,
idxtype vsize,
int *  wgtflag,
int *  numflag,
int *  nparts,
float *  tpwgts,
int *  options,
int *  volume,
idxtype part 
)

Definition at line 2291 of file metis.c.

References METIS_WPartGraphVKway(), and partitionmod::part.

Here is the call graph for this function:

◆ metis_wpartgraphvkway__()

void metis_wpartgraphvkway__ ( int *  nvtxs,
idxtype xadj,
idxtype adjncy,
idxtype vwgt,
idxtype vsize,
int *  wgtflag,
int *  numflag,
int *  nparts,
float *  tpwgts,
int *  options,
int *  volume,
idxtype part 
)

Definition at line 2295 of file metis.c.

References METIS_WPartGraphVKway(), and partitionmod::part.

Here is the call graph for this function:

◆ MinCover()

void MinCover ( idxtype xadj,
idxtype adjncy,
int  asize,
int  bsize,
idxtype cover,
int *  csize 
)

Definition at line 9389 of file metis.c.

References GKfree(), idxmalloc(), idxsmalloc(), LTERM, MinCover_Augment(), and MinCover_Decompose().

Referenced by ConstructMinCoverSeparator(), and ConstructMinCoverSeparator0().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ MinCover_Augment()

int MinCover_Augment ( idxtype xadj,
idxtype adjncy,
int  col,
idxtype mate,
idxtype flag,
idxtype level,
int  maxlevel 
)

Definition at line 9474 of file metis.c.

References blockpointers::status.

Referenced by MinCover().

Here is the caller graph for this function:

◆ MinCover_ColDFS()

void MinCover_ColDFS ( idxtype xadj,
idxtype adjncy,
int  root,
idxtype mate,
idxtype where,
int  flag 
)

Definition at line 9560 of file metis.c.

References HC, HR, INCOL, and INROW.

Referenced by MinCover_Decompose().

Here is the caller graph for this function:

◆ MinCover_Decompose()

void MinCover_Decompose ( idxtype xadj,
idxtype adjncy,
int  asize,
int  bsize,
idxtype mate,
idxtype cover,
int *  csize 
)

Definition at line 9511 of file metis.c.

References HR, idxmalloc(), INCOL, INROW, MinCover_ColDFS(), MinCover_RowDFS(), SC, SR, and VC.

Referenced by MinCover().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ MinCover_RowDFS()

void MinCover_RowDFS ( idxtype xadj,
idxtype adjncy,
int  root,
idxtype mate,
idxtype where,
int  flag 
)

Definition at line 9585 of file metis.c.

References INCOL, INROW, VC, and VR.

Referenced by MinCover_Decompose().

Here is the caller graph for this function:

◆ MlevelEdgeBisection()

void MlevelEdgeBisection ( CtrlType ctrl,
GraphType graph,
int *  tpwgts,
float  ubfactor 
)

Definition at line 15153 of file metis.c.

References Coarsen2Way(), Init2WayPartition(), and Refine2Way().

Referenced by METIS_EdgeComputeSeparator(), MlevelNestedDissection(), and MlevelRecursiveBisection().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ MlevelKWayPartitioning()

int MlevelKWayPartitioning ( CtrlType ctrl,
GraphType graph,
int  nparts,
idxtype part,
float *  tpwgts,
float  ubfactor 
)

◆ MlevelNestedDissection()

void MlevelNestedDissection ( CtrlType ctrl,
GraphType graph,
idxtype order,
float  ubfactor,
int  lastvtx 
)

◆ MlevelNestedDissectionCC()

void MlevelNestedDissectionCC ( CtrlType ctrl,
GraphType graph,
idxtype order,
float  ubfactor,
int  lastvtx 
)

◆ MlevelNestedDissectionP()

void MlevelNestedDissectionP ( CtrlType ctrl,
GraphType graph,
idxtype order,
int  lastvtx,
int  npes,
int  cpos,
idxtype sizes 
)

◆ MlevelNodeBisection()

void MlevelNodeBisection ( CtrlType ctrl,
GraphType graph,
int *  tpwgts,
float  ubfactor 
)

◆ MlevelNodeBisectionMultiple()

void MlevelNodeBisectionMultiple ( CtrlType ctrl,
GraphType graph,
int *  tpwgts,
float  ubfactor 
)

◆ MlevelRecursiveBisection()

int MlevelRecursiveBisection ( CtrlType ctrl,
GraphType graph,
int  nparts,
idxtype part,
float *  tpwgts,
float  ubfactor,
int  fpart 
)

Definition at line 15087 of file metis.c.

References graphdef::gdata, GKfree(), idxsum(), graphdef::label, LTERM, graphdef::mincut, MlevelEdgeBisection(), graphdef::nvtxs, partitionmod::part, graphdef::rdata, SplitGraphPart(), sscale(), ssum(), graphdef::vwgt, and graphdef::where.

Referenced by METIS_WPartGraphRecursive().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ MlevelVolKWayPartitioning()

int MlevelVolKWayPartitioning ( CtrlType ctrl,
GraphType graph,
int  nparts,
idxtype part,
float *  tpwgts,
float  ubfactor 
)

◆ mmdelm()

void mmdelm ( int  mdeg_node,
idxtype xadj,
idxtype adjncy,
idxtype head,
idxtype forward,
idxtype backward,
idxtype qsize,
idxtype list,
idxtype marker,
int  maxint,
int  tag 
)

Definition at line 12104 of file metis.c.

References bcpointers::istart, and bcpointers::jstart.

Referenced by genmmd().

Here is the caller graph for this function:

◆ mmdint()

int mmdint ( int  neqns,
idxtype xadj,
idxtype adjncy,
idxtype head,
idxtype forward,
idxtype backward,
idxtype qsize,
idxtype list,
idxtype marker 
)

Definition at line 12238 of file metis.c.

Referenced by genmmd().

Here is the caller graph for this function:

◆ mmdnum()

void mmdnum ( int  neqns,
idxtype perm,
idxtype invp,
idxtype qsize 
)

Definition at line 12281 of file metis.c.

References autoEditReverseFast::num.

Referenced by genmmd().

Here is the caller graph for this function:

◆ MMDOrder()

void MMDOrder ( CtrlType ctrl,
GraphType graph,
idxtype order,
int  lastvtx 
)

Definition at line 14461 of file metis.c.

References graphdef::adjncy, genmmd(), idxmalloc(), graphdef::label, MAXIDX, graphdef::nvtxs, and graphdef::xadj.

Referenced by MlevelNestedDissection(), MlevelNestedDissectionCC(), and MlevelNestedDissectionP().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ mmdupd()

void mmdupd ( int  ehead,
int  neqns,
idxtype xadj,
idxtype adjncy,
int  delta,
int *  mdeg,
idxtype head,
idxtype forward,
idxtype backward,
idxtype qsize,
idxtype list,
idxtype marker,
int  maxint,
int *  tag 
)

Definition at line 12345 of file metis.c.

References utils::delta(), bcpointers::istart, and bcpointers::jstart.

Referenced by genmmd().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ MocAllocate2WayPartitionMemory()

void MocAllocate2WayPartitionMemory ( CtrlType ctrl,
GraphType graph 
)

Definition at line 13044 of file metis.c.

References graphdef::bndind, graphdef::bndptr, graphdef::ed, fmalloc(), graphdef::id, idxmalloc(), graphdef::ncon, graphdef::npwgts, graphdef::nvtxs, graphdef::rdata, and graphdef::where.

Referenced by MocGrowBisection(), MocGrowBisection2(), MocGrowBisectionNew2(), MocProject2WayPartition(), and MocRandomBisection().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ MocAllocateKWayPartitionMemory()

void MocAllocateKWayPartitionMemory ( CtrlType ctrl,
GraphType graph,
int  nparts 
)

Definition at line 11197 of file metis.c.

References graphdef::bndind, graphdef::bndptr, fmalloc(), idxmalloc(), graphdef::ncon, graphdef::npwgts, graphdef::nvtxs, graphdef::rdata, graphdef::rinfo, and graphdef::where.

Referenced by MCMlevelKWayPartitioning(), and MocProjectKWayPartition().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ MocBalance2Way()

void MocBalance2Way ( CtrlType ctrl,
GraphType graph,
float *  tpwgts,
float  lbfactor 
)

Definition at line 7512 of file metis.c.

References Compute2WayHLoadImbalance(), MocGeneral2WayBalance(), graphdef::ncon, and graphdef::npwgts.

Referenced by MocGrowBisection(), MocRandomBisection(), and MocRefine2Way().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ MocBalance2Way2()

void MocBalance2Way2 ( CtrlType ctrl,
GraphType graph,
float *  tpwgts,
float *  ubvec 
)

Definition at line 7185 of file metis.c.

References AreAllBelow(), Compute2WayHLoadImbalanceVec(), MAXNCON, MocGeneral2WayBalance2(), graphdef::ncon, graphdef::npwgts, and partitionmod::ubvec.

Referenced by MocGrowBisection2(), and MocRefine2Way2().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ MocCompute2WayPartitionParams()

void MocCompute2WayPartitionParams ( CtrlType ctrl,
GraphType graph 
)

◆ MocComputeKWayBalanceBoundary()

void MocComputeKWayBalanceBoundary ( CtrlType ctrl,
GraphType graph,
int  nparts 
)

Definition at line 11408 of file metis.c.

References graphdef::bndind, BNDInsert, graphdef::bndptr, rinfodef::ed, idxset(), graphdef::nbnd, graphdef::nvtxs, and graphdef::rinfo.

Referenced by MocRefineKWayHorizontal().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ MocComputeKWayPartitionParams()

void MocComputeKWayPartitionParams ( CtrlType ctrl,
GraphType graph,
int  nparts 
)

◆ MocFM_2WayEdgeRefine()

void MocFM_2WayEdgeRefine ( CtrlType ctrl,
GraphType graph,
float *  tpwgts,
int  npasses 
)

◆ MocFM_2WayEdgeRefine2()

void MocFM_2WayEdgeRefine2 ( CtrlType ctrl,
GraphType graph,
float *  tpwgts,
float *  orgubvec,
int  npasses 
)

◆ MocGeneral2WayBalance()

void MocGeneral2WayBalance ( CtrlType ctrl,
GraphType graph,
float *  tpwgts,
float  lbfactor 
)

◆ MocGeneral2WayBalance2()

void MocGeneral2WayBalance2 ( CtrlType ctrl,
GraphType graph,
float *  tpwgts,
float *  ubvec 
)

◆ MocGrowBisection()

void MocGrowBisection ( CtrlType ctrl,
GraphType graph,
float *  tpwgts,
float  ubfactor 
)

◆ MocGrowBisection2()

void MocGrowBisection2 ( CtrlType ctrl,
GraphType graph,
float *  tpwgts,
float *  ubvec 
)

◆ MocGrowBisectionNew2()

void MocGrowBisectionNew2 ( CtrlType ctrl,
GraphType graph,
float *  tpwgts,
float *  ubvec 
)

◆ MocInit2WayBalance()

void MocInit2WayBalance ( CtrlType ctrl,
GraphType graph,
float *  tpwgts 
)

◆ MocInit2WayBalance2()

void MocInit2WayBalance2 ( CtrlType ctrl,
GraphType graph,
float *  tpwgts,
float *  ubvec 
)

◆ MocInit2WayPartition()

void MocInit2WayPartition ( CtrlType ctrl,
GraphType graph,
float *  tpwgts,
float  ubfactor 
)

Definition at line 9996 of file metis.c.

References DBG_IPART, DBG_MOVEINFO, DBG_REFINE, DBG_TIME, controldef::dbglvl, errexit(), IFSET, controldef::InitPartTmr, IPART_GGPKL, IPART_RANDOM, controldef::IType, graphdef::mincut, MocGrowBisection(), MocRandomBisection(), starttimer, stoptimer, and graphdef::where.

Referenced by MCMlevelEdgeBisection().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ MocInit2WayPartition2()

void MocInit2WayPartition2 ( CtrlType ctrl,
GraphType graph,
float *  tpwgts,
float *  ubvec 
)

Definition at line 9628 of file metis.c.

References DBG_IPART, DBG_MOVEINFO, DBG_REFINE, DBG_TIME, controldef::dbglvl, errexit(), IFSET, controldef::InitPartTmr, IPART_GGPKL, IPART_RANDOM, controldef::IType, graphdef::mincut, MocGrowBisection2(), MocGrowBisectionNew2(), starttimer, stoptimer, and partitionmod::ubvec.

Referenced by MCHMlevelEdgeBisection().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ MocIsHBalanced()

int MocIsHBalanced ( int  ncon,
int  nparts,
float *  npwgts,
float *  ubvec 
)

Definition at line 11018 of file metis.c.

References partitionmod::ubvec.

Referenced by MCGreedy_KWayEdgeBalanceHorizontal(), and MocRefineKWayHorizontal().

Here is the caller graph for this function:

◆ MocProject2WayPartition()

void MocProject2WayPartition ( CtrlType ctrl,
GraphType graph 
)

◆ MocProjectKWayPartition()

void MocProjectKWayPartition ( CtrlType ctrl,
GraphType graph,
int  nparts 
)

◆ MocRandomBisection()

void MocRandomBisection ( CtrlType ctrl,
GraphType graph,
float *  tpwgts,
float  ubfactor 
)

◆ MocRefine2Way()

void MocRefine2Way ( CtrlType ctrl,
GraphType orggraph,
GraphType graph,
float *  tpwgts,
float  ubfactor 
)

◆ MocRefine2Way2()

void MocRefine2Way2 ( CtrlType ctrl,
GraphType orggraph,
GraphType graph,
float *  tpwgts,
float *  ubvec 
)

◆ MocRefineKWayHorizontal()

void MocRefineKWayHorizontal ( CtrlType ctrl,
GraphType orggraph,
GraphType graph,
int  nparts,
float *  ubvec 
)

◆ MoveGroup()

void MoveGroup ( CtrlType ctrl,
GraphType graph,
int  nparts,
int  to,
int  gid,
idxtype ptr,
idxtype ind 
)

◆ MoveGroupMConn()

void MoveGroupMConn ( CtrlType ctrl,
GraphType graph,
idxtype ndoms,
idxtype pmat,
int  nparts,
int  to,
int  nind,
idxtype ind 
)

◆ PQueueDelete()

int PQueueDelete ( PQueueType queue,
int  node,
int  gain 
)

◆ PQueueFree()

void PQueueFree ( CtrlType ctrl,
PQueueType queue 
)

◆ PQueueGetKey()

int PQueueGetKey ( PQueueType queue)

Definition at line 15855 of file metis.c.

References PQueueType::heap, KeyValueType::key, PQueueType::maxgain, PQueueType::nnodes, and PQueueType::type.

Referenced by SelectQueue(), SelectQueue2(), SelectQueue3(), and SelectQueueOneWay2().

Here is the caller graph for this function:

◆ PQueueGetMax()

int PQueueGetMax ( PQueueType queue)

◆ PQueueGetSize()

int PQueueGetSize ( PQueueType queue)

Definition at line 15455 of file metis.c.

References PQueueType::nnodes.

Referenced by SelectQueue(), SelectQueue2(), SelectQueue3(), SelectQueueOneWay(), and SelectQueueOneWay2().

Here is the caller graph for this function:

◆ PQueueInit()

void PQueueInit ( CtrlType ctrl,
PQueueType queue,
int  maxnodes,
int  maxgain 
)

◆ PQueueInsert()

int PQueueInsert ( PQueueType queue,
int  node,
int  gain 
)

◆ PQueueReset()

void PQueueReset ( PQueueType queue)

◆ PQueueSeeMax()

int PQueueSeeMax ( PQueueType queue)

◆ PQueueUpdate()

int PQueueUpdate ( PQueueType queue,
int  node,
int  oldgain,
int  newgain 
)

◆ PQueueUpdateUp()

void PQueueUpdateUp ( PQueueType queue,
int  node,
int  oldgain,
int  newgain 
)

◆ PrintSubDomainGraph()

void PrintSubDomainGraph ( GraphType graph,
int  nparts,
idxtype where 
)

Definition at line 18543 of file metis.c.

References graphdef::adjncy, graphdef::adjwgt, idxsmalloc(), graphdef::nvtxs, and graphdef::xadj.

Here is the call graph for this function:

◆ PrintTimers()

void PrintTimers ( CtrlType ctrl)

◆ Project2WayNodePartition()

void Project2WayNodePartition ( CtrlType ctrl,
GraphType graph 
)

Definition at line 17605 of file metis.c.

References Allocate2WayNodePartitionMemory(), ASSERTP, graphdef::cmap, graphdef::coarser, Compute2WayNodePartitionParams(), FreeGraph(), graphdef::nvtxs, and graphdef::where.

Referenced by Refine2WayNode().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Project2WayPartition()

void Project2WayPartition ( CtrlType ctrl,
GraphType graph 
)

◆ ProjectKWayPartition()

void ProjectKWayPartition ( CtrlType ctrl,
GraphType graph,
int  nparts 
)

◆ ProjectVolKWayPartition()

void ProjectVolKWayPartition ( CtrlType ctrl,
GraphType graph,
int  nparts 
)

◆ PruneGraph()

void PruneGraph ( CtrlType ctrl,
GraphType graph,
int  nvtxs,
idxtype xadj,
idxtype adjncy,
idxtype iperm,
float  factor 
)

Definition at line 1162 of file metis.c.

References graphdef::adjncy, graphdef::adjwgt, graphdef::adjwgtsum, graphdef::cmap, graphdef::gdata, idxmalloc(), idxset(), InitGraph(), graphdef::label, graphdef::ncon, graphdef::nedges, graphdef::nvtxs, graphdef::vwgt, and graphdef::xadj.

Referenced by METIS_NodeND().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ QUADNODALMETIS()

void QUADNODALMETIS ( int  nelmnts,
int  nvtxs,
idxtype elmnts,
idxtype dxadj,
idxtype dadjncy 
)

Definition at line 8391 of file metis.c.

References ASSERT, idxmalloc(), idxsmalloc(), blockette::jj, blockette::kk, and MAKECSR.

Referenced by METIS_MeshToNodal().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Random_KWayEdgeRefine()

void Random_KWayEdgeRefine ( CtrlType ctrl,
GraphType graph,
int  nparts,
float *  tpwgts,
float  ubfactor,
int  npasses,
int  ffactor 
)

◆ Random_KWayEdgeRefineMConn()

void Random_KWayEdgeRefineMConn ( CtrlType ctrl,
GraphType graph,
int  nparts,
float *  tpwgts,
float  ubfactor,
int  npasses,
int  ffactor 
)

◆ Random_KWayVolRefine()

void Random_KWayVolRefine ( CtrlType ctrl,
GraphType graph,
int  nparts,
float *  tpwgts,
float  ubfactor,
int  npasses,
int  ffactor 
)

◆ Random_KWayVolRefineMConn()

void Random_KWayVolRefineMConn ( CtrlType ctrl,
GraphType graph,
int  nparts,
float *  tpwgts,
float  ubfactor,
int  npasses,
int  ffactor 
)

◆ RandomBisection()

void RandomBisection ( CtrlType ctrl,
GraphType graph,
int *  tpwgts,
float  ubfactor 
)

◆ RandomizeGraph()

void RandomizeGraph ( GraphType graph)

◆ RandomPermute()

void RandomPermute ( int  n,
idxtype p,
int  flag 
)

◆ ReAdjustMemory()

void ReAdjustMemory ( GraphType graph,
GraphType cgraph,
int  dovsize 
)

◆ Refine2Way()

void Refine2Way ( CtrlType ctrl,
GraphType orggraph,
GraphType graph,
int *  tpwgts,
float  ubfactor 
)

◆ Refine2WayNode()

void Refine2WayNode ( CtrlType ctrl,
GraphType orggraph,
GraphType graph,
float  ubfactor 
)

◆ RefineKWay()

void RefineKWay ( CtrlType ctrl,
GraphType orggraph,
GraphType graph,
int  nparts,
float *  tpwgts,
float  ubfactor 
)

◆ RefineVolKWay()

void RefineVolKWay ( CtrlType ctrl,
GraphType orggraph,
GraphType graph,
int  nparts,
float *  tpwgts,
float  ubfactor 
)

◆ samax()

int samax ( int  n,
float *  x 
)

◆ samax2()

int samax2 ( int  n,
float *  x 
)

Definition at line 19533 of file metis.c.

References blockpointers::x.

Referenced by MocGeneral2WayBalance().

Here is the caller graph for this function:

◆ samin()

int samin ( int  n,
float *  x 
)

Definition at line 19576 of file metis.c.

References blockpointers::x.

Referenced by MCGreedy_KWayEdgeBalanceHorizontal(), and MCRandom_KWayEdgeRefineHorizontal().

Here is the caller graph for this function:

◆ saxpy()

void saxpy ( int  n,
float  alpha,
float *  x,
int  incx,
float *  y,
int  incy 
)

◆ sdot()

float sdot ( int  n,
float *  x,
float *  y 
)

Definition at line 19711 of file metis.c.

References blockpointers::x.

◆ seconds()

double seconds ( void  )

Definition at line 19282 of file metis.c.

◆ SelectQueue()

void SelectQueue ( int  ncon,
float *  npwgts,
float *  tpwgts,
int *  from,
int *  cnum,
PQueueType  queues[MAXNCON][2] 
)

Definition at line 9241 of file metis.c.

References partitionmod::part, PQueueGetKey(), and PQueueGetSize().

Referenced by MocFM_2WayEdgeRefine(), and MocGeneral2WayBalance().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SelectQueue2()

void SelectQueue2 ( int  ncon,
float *  npwgts,
float *  tpwgts,
int *  from,
int *  cnum,
PQueueType  queues[MAXNCON][2],
float *  maxwgt 
)

Definition at line 8917 of file metis.c.

References PQueueGetKey(), and PQueueGetSize().

Referenced by MocFM_2WayEdgeRefine2().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SelectQueue3()

void SelectQueue3 ( int  ncon,
float *  npwgts,
float *  tpwgts,
int *  from,
int *  cnum,
PQueueType  queues[MAXNCON][2],
float *  maxwgt 
)

Definition at line 7428 of file metis.c.

References PQueueGetKey(), and PQueueGetSize().

Referenced by MocGeneral2WayBalance2().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SelectQueueOneWay()

int SelectQueueOneWay ( int  ncon,
float *  npwgts,
float *  tpwgts,
int  from,
PQueueType  queues[MAXNCON][2] 
)

Definition at line 10314 of file metis.c.

References PQueueGetSize().

Referenced by MocInit2WayBalance().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SelectQueueOneWay2()

int SelectQueueOneWay2 ( int  ncon,
float *  pto,
PQueueType  queues[MAXNCON][2],
float *  ubvec 
)

Definition at line 9937 of file metis.c.

References constants::imax, MAXNCON, PQueueGetKey(), PQueueGetSize(), and partitionmod::ubvec.

Referenced by MocInit2WayBalance2().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SetUpCoarseGraph()

GraphType* SetUpCoarseGraph ( GraphType graph,
int  cnvtxs,
int  dovsize 
)

◆ SetUpGraph()

void SetUpGraph ( GraphType graph,
int  OpType,
int  nvtxs,
int  ncon,
idxtype xadj,
idxtype adjncy,
idxtype vwgt,
idxtype adjwgt,
int  wgtflag 
)

◆ SetUpGraph2()

void SetUpGraph2 ( GraphType graph,
int  nvtxs,
int  ncon,
idxtype xadj,
idxtype adjncy,
float *  nvwgt,
idxtype adjwgt 
)

◆ SetUpGraphKway()

void SetUpGraphKway ( GraphType graph,
int  nvtxs,
idxtype xadj,
idxtype adjncy 
)

Definition at line 2443 of file metis.c.

References graphdef::adjncy, graphdef::adjwgt, graphdef::adjwgtsum, graphdef::cmap, graphdef::gdata, idxmalloc(), InitGraph(), graphdef::ncon, graphdef::nedges, graphdef::nvtxs, graphdef::vwgt, and graphdef::xadj.

Referenced by SetUpGraph().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SetUpSplitGraph()

void SetUpSplitGraph ( GraphType graph,
GraphType sgraph,
int  snvtxs,
int  snedges 
)

Definition at line 15294 of file metis.c.

References graphdef::adjncy, graphdef::adjwgt, graphdef::adjwgtsum, graphdef::cmap, fmalloc(), graphdef::gdata, idxmalloc(), InitGraph(), graphdef::label, graphdef::ncon, graphdef::nedges, graphdef::nvtxs, graphdef::nvwgt, graphdef::vwgt, and graphdef::xadj.

Referenced by SplitGraphOrder(), SplitGraphOrderCC(), and SplitGraphPart().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ snorm2()

float snorm2 ( int  n,
float *  v 
)

Definition at line 19695 of file metis.c.

Referenced by BetterBalance().

Here is the caller graph for this function:

◆ SplitGraphOrder()

void SplitGraphOrder ( CtrlType ctrl,
GraphType graph,
GraphType lgraph,
GraphType rgraph 
)

◆ SplitGraphOrderCC()

int SplitGraphOrderCC ( CtrlType ctrl,
GraphType graph,
GraphType sgraphs,
int  ncmps,
idxtype cptr,
idxtype cind 
)

◆ SplitGraphPart()

void SplitGraphPart ( CtrlType ctrl,
GraphType graph,
GraphType lgraph,
GraphType rgraph 
)

◆ sscale()

void sscale ( int  n,
float  alpha,
float *  x 
)

Definition at line 19683 of file metis.c.

References inputphysics::alpha, and blockpointers::x.

Referenced by MlevelRecursiveBisection().

Here is the caller graph for this function:

◆ sset()

float* sset ( int  n,
float  val,
float *  x 
)

Definition at line 19462 of file metis.c.

References blockpointers::x.

Referenced by MocCompute2WayPartitionParams(), and MocComputeKWayPartitionParams().

Here is the caller graph for this function:

◆ ssum()

float ssum ( int  n,
float *  x 
)

Definition at line 19655 of file metis.c.

References blockpointers::x.

Referenced by MlevelRecursiveBisection().

Here is the caller graph for this function:

◆ ssum_strd()

float ssum_strd ( int  n,
float *  x,
int  incx 
)

Definition at line 19669 of file metis.c.

References blockpointers::x.

Referenced by MCCoarsen2Way().

Here is the caller graph for this function:

◆ TETNODALMETIS()

void TETNODALMETIS ( int  nelmnts,
int  nvtxs,
idxtype elmnts,
idxtype dxadj,
idxtype dadjncy 
)

Definition at line 8269 of file metis.c.

References idxmalloc(), idxsmalloc(), blockette::jj, blockette::kk, and MAKECSR.

Referenced by METIS_MeshToNodal().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ TRINODALMETIS()

void TRINODALMETIS ( int  nelmnts,
int  nvtxs,
idxtype elmnts,
idxtype dxadj,
idxtype dadjncy 
)

Definition at line 8220 of file metis.c.

References idxmalloc(), idxsmalloc(), blockette::jj, blockette::kk, and MAKECSR.

Referenced by METIS_MeshToNodal().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ VolSetUpGraph()

void VolSetUpGraph ( GraphType graph,
int  OpType,
int  nvtxs,
int  ncon,
idxtype xadj,
idxtype adjncy,
idxtype vwgt,
idxtype vsize,
int  wgtflag 
)

◆ WspaceAvail()

int WspaceAvail ( CtrlType ctrl)

Definition at line 7937 of file metis.c.

References workspacedef::ccore, workspacedef::maxcore, and controldef::wspace.

Referenced by PQueueInit().

Here is the caller graph for this function: