mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
162 lines
4.4 KiB
C
162 lines
4.4 KiB
C
/*
|
|
* Copyright 1997, Regents of the University of Minnesota
|
|
*
|
|
* defs.h
|
|
*
|
|
* This file contains constant definitions
|
|
*
|
|
* Started 8/27/94
|
|
* George
|
|
*
|
|
* $Id: defs.h,v 1.1 2003/07/16 15:55:01 karypis Exp $
|
|
*
|
|
*/
|
|
|
|
#define METISTITLE " METIS 4.0 Copyright 1998, Regents of the University of Minnesota\n\n"
|
|
#define MAXLINE 1280000
|
|
|
|
#define LTERM (void **) 0 /* List terminator for GKfree() */
|
|
|
|
#define MAXNCON 16 /* The maximum number of constrains */
|
|
#define MAXNOBJ 16 /* The maximum number of objectives */
|
|
|
|
#define PLUS_GAINSPAN 500 /* Parameters for FM buckets */
|
|
#define NEG_GAINSPAN 500
|
|
|
|
#define HTLENGTH ((1<<11)-1)
|
|
|
|
/* Meaning of various options[] parameters */
|
|
#define OPTION_PTYPE 0
|
|
#define OPTION_CTYPE 1
|
|
#define OPTION_ITYPE 2
|
|
#define OPTION_RTYPE 3
|
|
#define OPTION_DBGLVL 4
|
|
#define OPTION_OFLAGS 5
|
|
#define OPTION_PFACTOR 6
|
|
#define OPTION_NSEPS 7
|
|
|
|
#define OFLAG_COMPRESS 1 /* Try to compress the graph */
|
|
#define OFLAG_CCMP 2 /* Find and order connected components */
|
|
|
|
|
|
/* Default options for PMETIS */
|
|
#define PMETIS_CTYPE MATCH_SHEM
|
|
#define PMETIS_ITYPE IPART_GGPKL
|
|
#define PMETIS_RTYPE RTYPE_FM
|
|
#define PMETIS_DBGLVL 0
|
|
|
|
/* Default options for KMETIS */
|
|
#define KMETIS_CTYPE MATCH_SHEM
|
|
#define KMETIS_ITYPE IPART_PMETIS
|
|
#define KMETIS_RTYPE RTYPE_KWAYRANDOM_MCONN
|
|
#define KMETIS_DBGLVL 0
|
|
|
|
/* Default options for OEMETIS */
|
|
#define OEMETIS_CTYPE MATCH_SHEM
|
|
#define OEMETIS_ITYPE IPART_GGPKL
|
|
#define OEMETIS_RTYPE RTYPE_FM
|
|
#define OEMETIS_DBGLVL 0
|
|
|
|
/* Default options for ONMETIS */
|
|
#define ONMETIS_CTYPE MATCH_SHEM
|
|
#define ONMETIS_ITYPE IPART_GGPKL
|
|
#define ONMETIS_RTYPE RTYPE_SEP1SIDED
|
|
#define ONMETIS_DBGLVL 0
|
|
#define ONMETIS_OFLAGS OFLAG_COMPRESS
|
|
#define ONMETIS_PFACTOR -1
|
|
#define ONMETIS_NSEPS 1
|
|
|
|
/* Default options for McPMETIS */
|
|
#define McPMETIS_CTYPE MATCH_SHEBM_ONENORM
|
|
#define McPMETIS_ITYPE IPART_RANDOM
|
|
#define McPMETIS_RTYPE RTYPE_FM
|
|
#define McPMETIS_DBGLVL 0
|
|
|
|
/* Default options for McKMETIS */
|
|
#define McKMETIS_CTYPE MATCH_SHEBM_ONENORM
|
|
#define McKMETIS_ITYPE IPART_McHPMETIS
|
|
#define McKMETIS_RTYPE RTYPE_KWAYRANDOM
|
|
#define McKMETIS_DBGLVL 0
|
|
|
|
/* Default options for KVMETIS */
|
|
#define KVMETIS_CTYPE MATCH_SHEM
|
|
#define KVMETIS_ITYPE IPART_PMETIS
|
|
#define KVMETIS_RTYPE RTYPE_KWAYRANDOM
|
|
#define KVMETIS_DBGLVL 0
|
|
|
|
|
|
/* Operations supported by stand-alone code */
|
|
#define OP_PMETIS 1
|
|
#define OP_KMETIS 2
|
|
#define OP_OEMETIS 3
|
|
#define OP_ONMETIS 4
|
|
#define OP_ONWMETIS 5
|
|
#define OP_KVMETIS 6
|
|
|
|
|
|
/* Matching Schemes */
|
|
#define MATCH_RM 1
|
|
#define MATCH_HEM 2
|
|
#define MATCH_SHEM 3
|
|
#define MATCH_SHEMKWAY 4
|
|
#define MATCH_SHEBM_ONENORM 5
|
|
#define MATCH_SHEBM_INFNORM 6
|
|
#define MATCH_SBHEM_ONENORM 7
|
|
#define MATCH_SBHEM_INFNORM 8
|
|
|
|
/* Initial partitioning schemes for PMETIS and ONMETIS */
|
|
#define IPART_GGPKL 1
|
|
#define IPART_GGPKLNODE 2
|
|
#define IPART_RANDOM 2
|
|
|
|
/* Refinement schemes for PMETIS */
|
|
#define RTYPE_FM 1
|
|
|
|
/* Initial partitioning schemes for KMETIS */
|
|
#define IPART_PMETIS 1
|
|
|
|
/* Refinement schemes for KMETIS */
|
|
#define RTYPE_KWAYRANDOM 1
|
|
#define RTYPE_KWAYGREEDY 2
|
|
#define RTYPE_KWAYRANDOM_MCONN 3
|
|
|
|
/* Refinement schemes for ONMETIS */
|
|
#define RTYPE_SEP2SIDED 1
|
|
#define RTYPE_SEP1SIDED 2
|
|
|
|
/* Initial Partitioning Schemes for McKMETIS */
|
|
#define IPART_McPMETIS 1 /* Simple McPMETIS */
|
|
#define IPART_McHPMETIS 2 /* horizontally relaxed McPMETIS */
|
|
|
|
#define UNMATCHED -1
|
|
|
|
#define HTABLE_EMPTY -1
|
|
|
|
#define NGR_PASSES 4 /* Number of greedy refinement passes */
|
|
#define NLGR_PASSES 5 /* Number of GR refinement during IPartition */
|
|
|
|
#define LARGENIPARTS 8 /* Number of random initial partitions */
|
|
#define SMALLNIPARTS 3 /* Number of random initial partitions */
|
|
|
|
#define COARSEN_FRACTION 0.75 /* Node reduction between succesive coarsening levels */
|
|
#define COARSEN_FRACTION2 0.90 /* Node reduction between succesive coarsening levels */
|
|
#define UNBALANCE_FRACTION 1.05
|
|
|
|
#define COMPRESSION_FRACTION 0.85
|
|
|
|
#define ORDER_UNBALANCE_FRACTION 1.10
|
|
|
|
#define MMDSWITCH 200
|
|
|
|
#define HORIZONTAL_IMBALANCE 1.05
|
|
|
|
/* Debug Levels */
|
|
#define DBG_TIME 1 /* Perform timing analysis */
|
|
#define DBG_OUTPUT 2
|
|
#define DBG_COARSEN 4 /* Show the coarsening progress */
|
|
#define DBG_REFINE 8 /* Show info on communication during folding */
|
|
#define DBG_IPART 16 /* Show info on initial partition */
|
|
#define DBG_MOVEINFO 32 /* Show info on communication during folding */
|
|
#define DBG_KWAYPINFO 64 /* Show info on communication during folding */
|
|
#define DBG_SEPINFO 128 /* Show info on communication during folding */
|