STYLE: use data() instead of begin() when passing metisDecomp raw data

This commit is contained in:
Mark Olesen
2019-06-14 11:08:31 +02:00
committed by Andrew Heather
parent f7f08fce4b
commit f1394e9ce3

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2016-2018 OpenCFD Ltd. \\ / A nd | Copyright (C) 2016-2019 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
| Copyright (C) 2011-2016 OpenFOAM Foundation | Copyright (C) 2011-2016 OpenFOAM Foundation
@ -36,15 +36,16 @@ License
#include "metis.h" #include "metis.h"
// Provide a clear error message if we have a size mismatch // Provide a clear error message if we have a severe size mismatch
// Allow widening, but not narrowing
// //
// Metis has an 'idx_t' type, but the IDXTYPEWIDTH define is perhaps // Metis has an 'idx_t' type, but the IDXTYPEWIDTH define is perhaps
// more future-proof? // more future-proof?
//#ifdef IDXTYPEWIDTH //#ifdef IDXTYPEWIDTH
//static_assert //static_assert
//( //(
// sizeof(Foam::label) == (IDXTYPEWIDTH/8), // sizeof(Foam::label) > (IDXTYPEWIDTH/8),
// "sizeof(Foam::label) == (IDXTYPEWIDTH/8), check your metis headers" // "sizeof(Foam::label) > (IDXTYPEWIDTH/8), check your metis headers"
//); //);
//#endif //#endif
@ -91,7 +92,7 @@ Foam::label Foam::metisDecomp::decomposeSerial
// Decomposition options // Decomposition options
List<idx_t> options(METIS_NOPTIONS); List<idx_t> options(METIS_NOPTIONS);
METIS_SetDefaultOptions(options.begin()); METIS_SetDefaultOptions(options.data());
// Processor weights initialised with no size, only used if specified in // Processor weights initialised with no size, only used if specified in
// a file // a file
@ -128,7 +129,7 @@ Foam::label Foam::metisDecomp::decomposeSerial
cellWeights.setSize(cWeights.size()); cellWeights.setSize(cWeights.size());
forAll(cellWeights, i) forAll(cellWeights, i)
{ {
cellWeights[i] = int(cWeights[i]/minWeights); cellWeights[i] = idx_t(cWeights[i]/minWeights);
} }
} }
@ -205,17 +206,17 @@ Foam::label Foam::metisDecomp::decomposeSerial
( (
&numCells, // num vertices in graph &numCells, // num vertices in graph
&ncon, // num balancing constraints &ncon, // num balancing constraints
xadj_metis.ref().begin(), // indexing into adjncy xadj_metis.ref().data(), // indexing into adjncy
adjncy_metis.ref().begin(), // neighbour info adjncy_metis.ref().data(), // neighbour info
cellWeights.begin(), // vertex wts cellWeights.data(), // vertex wts
nullptr, // vsize: total communication vol nullptr, // vsize: total communication vol
faceWeights.begin(), // edge wts faceWeights.data(), // edge wts
&nProcs, // nParts &nProcs, // nParts
processorWeights.begin(), // tpwgts processorWeights.data(), // tpwgts
nullptr, // ubvec: processor imbalance (default) nullptr, // ubvec: processor imbalance (default)
options.begin(), options.data(),
&edgeCut, &edgeCut,
decomp_metis.ref().begin() decomp_metis.ref().data()
); );
} }
else else
@ -224,17 +225,17 @@ Foam::label Foam::metisDecomp::decomposeSerial
( (
&numCells, // num vertices in graph &numCells, // num vertices in graph
&ncon, // num balancing constraints &ncon, // num balancing constraints
xadj_metis.ref().begin(), // indexing into adjncy xadj_metis.ref().data(), // indexing into adjncy
adjncy_metis.ref().begin(), // neighbour info adjncy_metis.ref().data(), // neighbour info
cellWeights.begin(), // vertex wts cellWeights.data(), // vertex wts
nullptr, // vsize: total communication vol nullptr, // vsize: total communication vol
faceWeights.begin(), // edge wts faceWeights.data(), // edge wts
&nProcs, // nParts &nProcs, // nParts
processorWeights.begin(), // tpwgts processorWeights.data(), // tpwgts
nullptr, // ubvec: processor imbalance (default) nullptr, // ubvec: processor imbalance (default)
options.begin(), options.data(),
&edgeCut, &edgeCut,
decomp_metis.ref().begin() decomp_metis.ref().data()
); );
} }