# -*- Mode:Python -*- # hMETIS parameters. parametersTable = \ ( ("metis.globalConnectionsWeightRatio" , TypeInt ,1 ) , ("metis.numberOfInstancesStopCriterion", TypeInt ,45 ) , ("metis.numberOfTriedBisections" , TypeInt ,10 ) , ("metis.partOrKWayHMetis" , TypeBool ,True ) , ("metis.tuneHMetisParameters" , TypeBool ,False) , ("metis.ubFactor" , TypeInt ,0 ) , ("metis.CType", TypeEnumerate ,1 , { 'values':( ("Hybrid First Choice", 1) , ("First Choice" , 2) , ("Greedy First" , 3) , ("Hyper Edge" , 4) , ("Edge" , 5) ) } ) , ("metis.RType", TypeEnumerate ,1 , { 'values':( ("Fiduccia-Mattheyses" , 1) , ("One Way Fidducia-Mattheyses" , 2) , ("Early Exit Fidducia-Mattheyses", 3) ) } ) , ("metis.VCycle", TypeEnumerate ,0 , { 'values':( ("No V-Cycle Refinement" , 0) , ("On Each Final Bisections" , 1) , ("On Best Intermediate Solutions", 2) , ("On All Intermediate Solutions" , 3) ) } ) , ("metis.Reconst", TypeEnumerate ,0 , { 'values':( ("Ignore cuts Hyper Edges" , 0) , ("Keep parts of cuts Hyper Edges", 1) ) } ) , ("metis.debug", TypeEnumerate ,0 , { 'values':( ("Disabled" , 0) , ("Coarsening Stage" , 1) , ("Initial Partitioning", 2) , ("Refinement" , 4) , ("Multiple Runs" , 8) , ("More Multiples Runs" , 16) ) } ) , ("metis.tuneHMetisParameters", TypeBool, True , { 'slaves':( "metis.CType" , "metis.numberOfTriedBisections" , "metis.CType" , "metis.RType" , "metis.VCycle" , "metis.Reconst" , "metis.debug" ) } ) ) # The layout of hMetis is integrated in Mauka. layoutTable = ()