PetscErrorCode MatPartitioningSetFromOptions_Party(MatPartitioning part) { PetscErrorCode ierr; PetscTruth flag, b; char value[15]; PetscReal r; PetscFunctionBegin; ierr = PetscOptionsHead("Set Party partitioning options");CHKERRQ(ierr); ierr = PetscOptionsString("-mat_partitioning_party_global", "Global method to use", "MatPartitioningPartySetGlobal", "gcf,gbf", value, 15, &flag);CHKERRQ(ierr); if (flag) ierr = MatPartitioningPartySetGlobal(part, value);CHKERRQ(ierr); ierr = PetscOptionsString("-mat_partitioning_party_local", "Local method to use", "MatPartitioningPartySetLocal", "kl", value, 15, &flag);CHKERRQ(ierr); if (flag) ierr = MatPartitioningPartySetLocal(part, value);CHKERRQ(ierr); ierr = PetscOptionsReal("-mat_partitioning_party_coarse_level", "Coarse level", "MatPartitioningPartySetCoarseLevel", 0, &r, &flag);CHKERRQ(ierr); if (flag) ierr = MatPartitioningPartySetCoarseLevel(part, r);CHKERRQ(ierr); ierr = PetscOptionsTruth("-mat_partitioning_party_match_optimization", "Matching optimization on/off (boolean)", "MatPartitioningPartySetMatchOptimization", PETSC_TRUE, &b, &flag);CHKERRQ(ierr); if (flag) ierr = MatPartitioningPartySetMatchOptimization(part, b);CHKERRQ(ierr); ierr = PetscOptionsTruth("-mat_partitioning_party_bipart", "Bipartitioning option on/off (boolean)", "MatPartitioningPartySetBipart", PETSC_TRUE, &b, &flag);CHKERRQ(ierr); if (flag) ierr = MatPartitioningPartySetBipart(part, b);CHKERRQ(ierr); ierr = PetscOptionsTail();CHKERRQ(ierr); PetscFunctionReturn(0); }
void PETSC_STDCALL matpartitioningpartysetbipart_(MatPartitioning part,PetscTruth *bp, int *__ierr ){ *__ierr = MatPartitioningPartySetBipart( (MatPartitioning)PetscToPointer((part) ),*bp); }