68 ZOLTAN_ID_PTR globalIDs,
69 ZOLTAN_ID_PTR localIDs,
86 globalIDs[i] = globalCellMap.
toGlobal(i);
107 ZOLTAN_ID_PTR globalIDs,
108 ZOLTAN_ID_PTR localIDs,
120 || (nCells != mesh.
nCells())
124 *ierr = ZOLTAN_FATAL;
128 double*
p = cellCentres;
167 args[0] =
"zoltanRenumber";
171 for (
label i = 0; i < argc; i++)
173 argv[i] = strdup(
args[i].c_str());
177 int rc = Zoltan_Initialize(argc, argv, &ver);
189 Zoltan_Set_Param(zz,
"ORDER_METHOD",
"LOCAL_HSFC");
190 Zoltan_Set_Param(zz,
"ORDER_TYPE",
"LOCAL");
194 if (!iter().isDict())
196 const word& key = iter().keyword();
197 const word value(iter().stream());
199 Info<< typeName <<
" : setting parameter " << key
200 <<
" to " << value <<
endl;
202 Zoltan_Set_Param(zz, key.c_str(), value.c_str());
222 globalCells[i] = globalCellMap.
toGlobal(i);
230 int err = Zoltan_Order
240 if (err != ZOLTAN_OK)
247 for (
label i = 0; i < argc; i++)
259 order[i] = globalCellMap.
toLocal(oldToNew[i]);
#define forAll(list, i)
Loop across all elements in list.
#define forAllConstIter(Container, container, iter)
Iterate across all elements in the container object of type.
Macros for easy insertion into run-time selection tables.
Template class for intrusive linked lists.
void size(const label)
Override size to be inconsistent with allocated storage.
iterator begin()
Return an iterator to begin traversing the UList.
static const direction nComponents
Number of components in this vector space.
Templated 3D Vector derived from VectorSpace adding construction from 3 components,...
label size() const
Return the number of arguments.
A list of keyword definitions, which are a keyword followed by any number of values (e....
Calculates a unique integer (label so might not have enough room - 2G max) for processor + local inde...
label toGlobal(const label i) const
From local to global.
label toLocal(const label i) const
From global to local on current processor.
Mesh consisting of general polyhedral cells.
label nSolutionD() const
Return the number of valid solved-for dimensions in the mesh.
const Vector< label > & solutionD() const
Return the vector of solved-for directions in mesh.
const vectorField & cellCentres() const
Abstract base class for renumbering.
A class for handling words, derived from string.
Use Zoltan for renumbering a case in parallel.
zoltanRenumber(const dictionary &renumberDict)
Construct given the renumber dictionary.
virtual labelList renumber(const pointField &) const
Return the order in which cells need to be visited, i.e.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
errorManipArg< error, int > exit(error &err, const int errNo=1)
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
Ostream & endl(Ostream &os)
Add newline and flush stream.
defineTypeNameAndDebug(combustionModel, 0)
addToRunTimeSelectionTable(ensightPart, ensightPartCells, istream)
Foam::argList args(argc, argv)
static void get_geom_list(void *data, int nGID, int nLID, int nCells, ZOLTAN_ID_PTR globalIDs, ZOLTAN_ID_PTR localIDs, int nDim, double *cellCentres, int *ierr)
static int get_number_of_vertices(void *data, int *ierr)
static int get_mesh_dim(void *data, int *ierr)
static void get_vertex_list(void *data, int nGID, int nLID, ZOLTAN_ID_PTR globalIDs, ZOLTAN_ID_PTR localIDs, int wgt_dim, float *obj_wgts, int *ierr)