BUGFIX: Compile WM_LABEL_SIZE=64
This commit is contained in:
parent
67e2f83134
commit
923fee738e
105 changed files with 549 additions and 391 deletions
|
@ -27,14 +27,15 @@ diff -ruN scotch_6.0.4_orig/src/Make.inc/Makefile.inc.i686_mac_darwin10.shlib sc
|
||||||
diff -ruN scotch_6.0.4_orig/src/Make.inc/Makefile.inc.i686_pc_linux2.shlib scotch_6.0.4/src/Make.inc/Makefile.inc.i686_pc_linux2.shlib
|
diff -ruN scotch_6.0.4_orig/src/Make.inc/Makefile.inc.i686_pc_linux2.shlib scotch_6.0.4/src/Make.inc/Makefile.inc.i686_pc_linux2.shlib
|
||||||
--- scotch_6.0.4_orig/src/Make.inc/Makefile.inc.i686_pc_linux2.shlib 2014-08-05 08:56:17.000000000 -0400
|
--- scotch_6.0.4_orig/src/Make.inc/Makefile.inc.i686_pc_linux2.shlib 2014-08-05 08:56:17.000000000 -0400
|
||||||
+++ scotch_6.0.4/src/Make.inc/Makefile.inc.i686_pc_linux2.shlib 2015-06-21 00:26:43.072992194 -0400
|
+++ scotch_6.0.4/src/Make.inc/Makefile.inc.i686_pc_linux2.shlib 2015-06-21 00:26:43.072992194 -0400
|
||||||
@@ -8,10 +8,10 @@
|
@@ -8,10 +8,11 @@
|
||||||
CAT = cat
|
CAT = cat
|
||||||
CCS = gcc
|
CCS = gcc
|
||||||
CCP = mpicc
|
CCP = mpicc
|
||||||
-CCD = gcc
|
-CCD = gcc
|
||||||
-CFLAGS = -O3 -DCOMMON_FILE_COMPRESS_GZ -DCOMMON_PTHREAD -DCOMMON_RANDOM_FIXED_SEED -DSCOTCH_RENAME -DSCOTCH_PTHREAD -Drestrict=__restrict
|
-CFLAGS = -O3 -DCOMMON_FILE_COMPRESS_GZ -DCOMMON_PTHREAD -DCOMMON_RANDOM_FIXED_SEED -DSCOTCH_RENAME -DSCOTCH_PTHREAD -Drestrict=__restrict
|
||||||
+CCD = mpicc -I$(MPI_HOME)/include
|
+CCD = mpicc -I$(MPI_HOME)/include
|
||||||
+CFLAGS = -O3 -DCOMMON_FILE_COMPRESS_GZ -DCOMMON_PTHREAD -DCOMMON_RANDOM_FIXED_SEED -DSCOTCH_RENAME -DSCOTCH_PTHREAD -Drestrict=__restrict -Xlinker --no-as-needed
|
+INTSIZE =
|
||||||
|
+CFLAGS = -O3 $(INTSIZE) -DCOMMON_FILE_COMPRESS_GZ -DCOMMON_PTHREAD -DCOMMON_RANDOM_FIXED_SEED -DSCOTCH_RENAME -DSCOTCH_PTHREAD -Drestrict=__restrict -Xlinker --no-as-needed
|
||||||
CLIBFLAGS = -shared -fPIC
|
CLIBFLAGS = -shared -fPIC
|
||||||
-LDFLAGS = -lz -lm -pthread
|
-LDFLAGS = -lz -lm -pthread
|
||||||
+LDFLAGS = -lz -lm -pthread -lrt
|
+LDFLAGS = -lz -lm -pthread -lrt
|
||||||
|
|
|
@ -78,6 +78,7 @@ Prefix: %{_prefix}
|
||||||
Group: Development/Tools
|
Group: Development/Tools
|
||||||
Patch0: ParMGridGen-1.0.patch_darwin
|
Patch0: ParMGridGen-1.0.patch_darwin
|
||||||
Patch1: ParMGridGen-1.0.patch
|
Patch1: ParMGridGen-1.0.patch
|
||||||
|
Patch2: ParMGridGen-1.0.patch_64Bit
|
||||||
|
|
||||||
%define _installPrefix %{_prefix}/packages/%{name}-%{version}/platforms/%{_WM_OPTIONS}
|
%define _installPrefix %{_prefix}/packages/%{name}-%{version}/platforms/%{_WM_OPTIONS}
|
||||||
|
|
||||||
|
@ -93,6 +94,10 @@ Patch1: ParMGridGen-1.0.patch
|
||||||
%patch1 -p1
|
%patch1 -p1
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
if [ "$WM_LABEL_SIZE" = "64" ]; then
|
||||||
|
%patch2 -p1
|
||||||
|
fi
|
||||||
|
|
||||||
%build
|
%build
|
||||||
[ -n "$WM_CC" ] && export CC="$WM_CC"
|
[ -n "$WM_CC" ] && export CC="$WM_CC"
|
||||||
[ -n "$WM_CXX" ] && export CXX="$WM_CXX"
|
[ -n "$WM_CXX" ] && export CXX="$WM_CXX"
|
||||||
|
|
5
ThirdParty/rpmBuild/SPECS/metis-5.1.0.spec
vendored
5
ThirdParty/rpmBuild/SPECS/metis-5.1.0.spec
vendored
|
@ -77,6 +77,7 @@ Source: %url/%{name}-%{version}.tar.gz
|
||||||
Prefix: %{_prefix}
|
Prefix: %{_prefix}
|
||||||
Group: Development/Tools
|
Group: Development/Tools
|
||||||
Patch0: metis-5.1.0_patch_gcc
|
Patch0: metis-5.1.0_patch_gcc
|
||||||
|
Patch1: metis-5.1.0_patch_64Bit
|
||||||
|
|
||||||
%define _installPrefix %{_prefix}/packages/%{name}-%{version}/platforms/%{_WM_OPTIONS}
|
%define _installPrefix %{_prefix}/packages/%{name}-%{version}/platforms/%{_WM_OPTIONS}
|
||||||
|
|
||||||
|
@ -90,6 +91,10 @@ Patch0: metis-5.1.0_patch_gcc
|
||||||
%patch0 -p1
|
%patch0 -p1
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
if [ "$WM_LABEL_SIZE" = "64" ]; then
|
||||||
|
%patch1 -p1
|
||||||
|
fi
|
||||||
|
|
||||||
%build
|
%build
|
||||||
[ -n "$WM_CC" ] && export CC="$WM_CC"
|
[ -n "$WM_CC" ] && export CC="$WM_CC"
|
||||||
[ -n "$WM_CXX" ] && export CXX="$WM_CXX"
|
[ -n "$WM_CXX" ] && export CXX="$WM_CXX"
|
||||||
|
|
|
@ -78,6 +78,7 @@ Prefix: %{_prefix}
|
||||||
Group: Development/Tools
|
Group: Development/Tools
|
||||||
Patch0: ParMetis-3.1.1.patch_darwin
|
Patch0: ParMetis-3.1.1.patch_darwin
|
||||||
Patch1: ParMetis-3.1.1.patch
|
Patch1: ParMetis-3.1.1.patch
|
||||||
|
Patch2: ParMetis-3.1.1.patch_64Bit
|
||||||
|
|
||||||
%define _installPrefix %{_prefix}/packages/%{name}-%{version}/platforms/%{_WM_OPTIONS}
|
%define _installPrefix %{_prefix}/packages/%{name}-%{version}/platforms/%{_WM_OPTIONS}
|
||||||
|
|
||||||
|
@ -93,6 +94,10 @@ Patch1: ParMetis-3.1.1.patch
|
||||||
#patch1 -p1
|
#patch1 -p1
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
if [ "$WM_LABEL_SIZE" = "64" ]; then
|
||||||
|
%patch2 -p1
|
||||||
|
fi
|
||||||
|
|
||||||
%build
|
%build
|
||||||
[ -n "$WM_CC" ] && export CC="$WM_CC"
|
[ -n "$WM_CC" ] && export CC="$WM_CC"
|
||||||
[ -n "$WM_CXX" ] && export CXX="$WM_CXX"
|
[ -n "$WM_CXX" ] && export CXX="$WM_CXX"
|
||||||
|
|
5
ThirdParty/rpmBuild/SPECS/scotch-6.0.4.spec
vendored
5
ThirdParty/rpmBuild/SPECS/scotch-6.0.4.spec
vendored
|
@ -77,6 +77,7 @@ Prefix: %{_prefix}
|
||||||
Group: Development/Tools
|
Group: Development/Tools
|
||||||
Patch0: scotch-6.0.4_patch_0
|
Patch0: scotch-6.0.4_patch_0
|
||||||
Patch1: scotch-6.0.4_patch_darwin
|
Patch1: scotch-6.0.4_patch_darwin
|
||||||
|
Patch2: scotch-6.0.4_patch_64Bit
|
||||||
|
|
||||||
%define _installPrefix %{_prefix}/packages/%{name}-%{version}/platforms/%{_WM_OPTIONS}
|
%define _installPrefix %{_prefix}/packages/%{name}-%{version}/platforms/%{_WM_OPTIONS}
|
||||||
|
|
||||||
|
@ -92,6 +93,10 @@ Patch1: scotch-6.0.4_patch_darwin
|
||||||
%patch0 -p1
|
%patch0 -p1
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
if [ "$WM_LABEL_SIZE" = "64" ]; then
|
||||||
|
%patch2 -p1
|
||||||
|
fi
|
||||||
|
|
||||||
%build
|
%build
|
||||||
# export WM settings in a form that GNU configure recognizes
|
# export WM settings in a form that GNU configure recognizes
|
||||||
# [ -n "$WM_CC" ] && export CC="$WM_CC"
|
# [ -n "$WM_CC" ] && export CC="$WM_CC"
|
||||||
|
|
|
@ -212,7 +212,7 @@ int main(int argc, char *argv[])
|
||||||
{
|
{
|
||||||
label curMeshEdge = meshEdges[edgeI];
|
label curMeshEdge = meshEdges[edgeI];
|
||||||
|
|
||||||
labelList curEdgePatchIDs(2, -1);
|
labelList curEdgePatchIDs(2, label(-1));
|
||||||
|
|
||||||
label patchI = -1;
|
label patchI = -1;
|
||||||
|
|
||||||
|
|
|
@ -99,7 +99,11 @@ int main(int argc, char *argv[])
|
||||||
const labelList faceOwner = mesh.faceOwner();
|
const labelList faceOwner = mesh.faceOwner();
|
||||||
const vectorField faceNormals = mesh.Sf()/mesh.magSf();
|
const vectorField faceNormals = mesh.Sf()/mesh.magSf();
|
||||||
|
|
||||||
labelListList abaqusCellPoints(cellPoints.size(), List<label>(8, 1));
|
labelListList abaqusCellPoints
|
||||||
|
(
|
||||||
|
cellPoints.size(),
|
||||||
|
labelList(8, label(1))
|
||||||
|
);
|
||||||
|
|
||||||
forAll(cells, celli)
|
forAll(cells, celli)
|
||||||
{
|
{
|
||||||
|
@ -338,7 +342,11 @@ int main(int argc, char *argv[])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
labelListList materialsOrdered(numberOfMaterials, List<label>(0,0));
|
labelListList materialsOrdered
|
||||||
|
(
|
||||||
|
numberOfMaterials,
|
||||||
|
labelList(0, label(0))
|
||||||
|
);
|
||||||
forAll(materialsOrdered, matOrderi)
|
forAll(materialsOrdered, matOrderi)
|
||||||
{
|
{
|
||||||
materialsOrdered[matOrderi].setSize(cellsOfEachMaterial[matOrderi], 0);
|
materialsOrdered[matOrderi].setSize(cellsOfEachMaterial[matOrderi], 0);
|
||||||
|
@ -401,7 +409,7 @@ int main(int argc, char *argv[])
|
||||||
//- face 5 is nodes 3 7 8 4
|
//- face 5 is nodes 3 7 8 4
|
||||||
//- face 6 is nodes 4 8 5 1
|
//- face 6 is nodes 4 8 5 1
|
||||||
//- So i will compare points on the face and
|
//- So i will compare points on the face and
|
||||||
labelListList abaqusFaceConvention(6, List<label>(4,-1));
|
labelListList abaqusFaceConvention(6, labelList(4, label(-1)));
|
||||||
abaqusFaceConvention[0][0] = 1;
|
abaqusFaceConvention[0][0] = 1;
|
||||||
abaqusFaceConvention[0][1] = 2;
|
abaqusFaceConvention[0][1] = 2;
|
||||||
abaqusFaceConvention[0][2] = 3;
|
abaqusFaceConvention[0][2] = 3;
|
||||||
|
@ -438,7 +446,7 @@ int main(int argc, char *argv[])
|
||||||
//- face it is
|
//- face it is
|
||||||
const labelList& facePoints = mesh.boundaryMesh()[patchi][facei];
|
const labelList& facePoints = mesh.boundaryMesh()[patchi][facei];
|
||||||
const labelList& thisCellAbaqusPoints = abaqusCellPoints[globalCelli];
|
const labelList& thisCellAbaqusPoints = abaqusCellPoints[globalCelli];
|
||||||
labelList thisFaceAbaqusPoints(4,-1);
|
labelList thisFaceAbaqusPoints(4, label(-1));
|
||||||
label pointsFound = 0;
|
label pointsFound = 0;
|
||||||
forAll(thisCellAbaqusPoints, pointi)
|
forAll(thisCellAbaqusPoints, pointi)
|
||||||
{
|
{
|
||||||
|
|
|
@ -47,7 +47,7 @@ void sammMesh::readBoundary()
|
||||||
labelList pointLabels(4);
|
labelList pointLabels(4);
|
||||||
labelList pointLabelsTri(3);
|
labelList pointLabelsTri(3);
|
||||||
|
|
||||||
labelList patchLabels(1000, -1);
|
labelList patchLabels(1000, label(-1));
|
||||||
|
|
||||||
word patchType;
|
word patchType;
|
||||||
patchTypes_.setSize(1000);
|
patchTypes_.setSize(1000);
|
||||||
|
|
|
@ -230,7 +230,7 @@ void sammMesh::readCells()
|
||||||
{
|
{
|
||||||
IFstream cellsFile(cellsFileName);
|
IFstream cellsFile(cellsFileName);
|
||||||
|
|
||||||
labelList labels(24, -1);
|
labelList labels(24, label(-1));
|
||||||
label lineLabel, sammLabel, regionLabel, typeFlag;
|
label lineLabel, sammLabel, regionLabel, typeFlag;
|
||||||
|
|
||||||
for (label cellI = 0; cellI < nCells; cellI++)
|
for (label cellI = 0; cellI < nCells; cellI++)
|
||||||
|
|
|
@ -47,7 +47,7 @@ void starMesh::readBoundary()
|
||||||
labelList pointLabels(4);
|
labelList pointLabels(4);
|
||||||
labelList pointLabelsTri(3);
|
labelList pointLabelsTri(3);
|
||||||
|
|
||||||
labelList patchLabels(1000, -1);
|
labelList patchLabels(1000, label(-1));
|
||||||
|
|
||||||
word patchType;
|
word patchType;
|
||||||
patchTypes_.setSize(1000);
|
patchTypes_.setSize(1000);
|
||||||
|
|
|
@ -275,7 +275,7 @@ void starMesh::readCells()
|
||||||
{
|
{
|
||||||
IFstream cellsFile(cellsFileName);
|
IFstream cellsFile(cellsFileName);
|
||||||
|
|
||||||
labelList labels(24, -1);
|
labelList labels(24, label(-1));
|
||||||
label lineLabel, starLabel, regionLabel, typeFlag;
|
label lineLabel, starLabel, regionLabel, typeFlag;
|
||||||
|
|
||||||
for (label cellI = 0; cellI < nCells; cellI++)
|
for (label cellI = 0; cellI < nCells; cellI++)
|
||||||
|
|
|
@ -30,6 +30,15 @@ License
|
||||||
#include <sys/endian.h>
|
#include <sys/endian.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// MacOSX
|
||||||
|
#ifdef __DARWIN_BYTE_ORDER
|
||||||
|
#if __DARWIN_BYTE_ORDER==__DARWIN_BIG_ENDIAN
|
||||||
|
#undef LITTLE_ENDIAN
|
||||||
|
#else
|
||||||
|
#undef BIG_ENDIAN
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(LITTLE_ENDIAN) \
|
#if defined(LITTLE_ENDIAN) \
|
||||||
|| defined(_LITTLE_ENDIAN) \
|
|| defined(_LITTLE_ENDIAN) \
|
||||||
|| defined(__LITTLE_ENDIAN)
|
|| defined(__LITTLE_ENDIAN)
|
||||||
|
@ -43,7 +52,7 @@ License
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
void Foam::writeFuns::swapWord(label& word32)
|
void Foam::writeFuns::swapWord(int32_t& word32)
|
||||||
{
|
{
|
||||||
char* mem = reinterpret_cast<char*>(&word32);
|
char* mem = reinterpret_cast<char*>(&word32);
|
||||||
|
|
||||||
|
@ -57,7 +66,7 @@ void Foam::writeFuns::swapWord(label& word32)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void Foam::writeFuns::swapWords(const label nWords, label* words32)
|
void Foam::writeFuns::swapWords(const label nWords, int32_t* words32)
|
||||||
{
|
{
|
||||||
for (label i = 0; i < nWords; i++)
|
for (label i = 0; i < nWords; i++)
|
||||||
{
|
{
|
||||||
|
@ -75,9 +84,9 @@ void Foam::writeFuns::write
|
||||||
{
|
{
|
||||||
if (binary)
|
if (binary)
|
||||||
{
|
{
|
||||||
# ifdef LITTLEENDIAN
|
#ifdef LITTLEENDIAN
|
||||||
swapWords(fField.size(), reinterpret_cast<label*>(fField.begin()));
|
swapWords(fField.size(), reinterpret_cast<int32_t*>(fField.begin()));
|
||||||
# endif
|
#endif
|
||||||
|
|
||||||
os.write
|
os.write
|
||||||
(
|
(
|
||||||
|
@ -125,9 +134,13 @@ void Foam::writeFuns::write
|
||||||
{
|
{
|
||||||
if (binary)
|
if (binary)
|
||||||
{
|
{
|
||||||
# ifdef LITTLEENDIAN
|
#ifdef LITTLEENDIAN
|
||||||
swapWords(elems.size(), reinterpret_cast<label*>(elems.begin()));
|
swapWords
|
||||||
# endif
|
(
|
||||||
|
(sizeof(label)/4)*elems.size(),
|
||||||
|
reinterpret_cast<int32_t*>(elems.begin())
|
||||||
|
);
|
||||||
|
#endif
|
||||||
os.write
|
os.write
|
||||||
(
|
(
|
||||||
reinterpret_cast<char*>(elems.begin()),
|
reinterpret_cast<char*>(elems.begin()),
|
||||||
|
|
|
@ -55,9 +55,14 @@ namespace Foam
|
||||||
|
|
||||||
class writeFuns
|
class writeFuns
|
||||||
{
|
{
|
||||||
//- Swap halves of word.
|
// Private member functions
|
||||||
static void swapWord(label& word32);
|
|
||||||
static void swapWords(const label nWords, label* words32);
|
//- Swap halves of word
|
||||||
|
static void swapWord(int32_t& word32);
|
||||||
|
|
||||||
|
//- Swap halves of word
|
||||||
|
static void swapWords(const label nWords, int32_t* words32);
|
||||||
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
|
|
@ -151,7 +151,7 @@ Foam::fieldviewTopology::fieldviewTopology
|
||||||
const cellModel& hex = *(cellModeller::lookup("hex"));
|
const cellModel& hex = *(cellModeller::lookup("hex"));
|
||||||
|
|
||||||
// Pre calculate headers for cells not on walls
|
// Pre calculate headers for cells not on walls
|
||||||
labelList notWallFlags(6, NOT_A_WALL);
|
List<int> notWallFlags(6, NOT_A_WALL);
|
||||||
label tetNotWall = fv_encode_elem_header
|
label tetNotWall = fv_encode_elem_header
|
||||||
(
|
(
|
||||||
FV_TET_ELEM_ID, notWallFlags.begin()
|
FV_TET_ELEM_ID, notWallFlags.begin()
|
||||||
|
@ -181,7 +181,7 @@ Foam::fieldviewTopology::fieldviewTopology
|
||||||
|
|
||||||
const faceList& allFaces = mesh.faces();
|
const faceList& allFaces = mesh.faces();
|
||||||
|
|
||||||
labelList wallFlags(6);
|
List<int> wallFlags(6);
|
||||||
forAll(cellShapes, celli)
|
forAll(cellShapes, celli)
|
||||||
{
|
{
|
||||||
const cellShape& cellShape = cellShapes[celli];
|
const cellShape& cellShape = cellShapes[celli];
|
||||||
|
|
|
@ -395,7 +395,8 @@ void Foam::tecplotWriter::writeConnectivity
|
||||||
INTEGER4 NumFaceNodes = 2*pp.nEdges();
|
INTEGER4 NumFaceNodes = 2*pp.nEdges();
|
||||||
|
|
||||||
// All faces (=edges) have 2 nodes
|
// All faces (=edges) have 2 nodes
|
||||||
List<INTEGER4> FaceNodeCounts(NumFaces, 2);
|
List<INTEGER4> FaceNodeCounts(NumFaces);
|
||||||
|
FaceNodeCounts = 2;
|
||||||
|
|
||||||
List<INTEGER4> FaceNodes(NumFaceNodes);
|
List<INTEGER4> FaceNodes(NumFaceNodes);
|
||||||
label nodeI = 0;
|
label nodeI = 0;
|
||||||
|
|
|
@ -53,7 +53,7 @@ License
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
void Foam::writeFuns::swapWord(label& word32)
|
void Foam::writeFuns::swapWord(int32_t& word32)
|
||||||
{
|
{
|
||||||
char* mem = reinterpret_cast<char*>(&word32);
|
char* mem = reinterpret_cast<char*>(&word32);
|
||||||
|
|
||||||
|
@ -67,7 +67,7 @@ void Foam::writeFuns::swapWord(label& word32)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void Foam::writeFuns::swapWords(const label nWords, label* words32)
|
void Foam::writeFuns::swapWords(const label nWords, int32_t* words32)
|
||||||
{
|
{
|
||||||
for (label i = 0; i < nWords; i++)
|
for (label i = 0; i < nWords; i++)
|
||||||
{
|
{
|
||||||
|
@ -85,9 +85,10 @@ void Foam::writeFuns::write
|
||||||
{
|
{
|
||||||
if (binary)
|
if (binary)
|
||||||
{
|
{
|
||||||
# ifdef LITTLEENDIAN
|
#ifdef LITTLEENDIAN
|
||||||
swapWords(fField.size(), reinterpret_cast<label*>(fField.begin()));
|
swapWords(fField.size(), reinterpret_cast<int32_t*>(fField.begin()));
|
||||||
# endif
|
#endif
|
||||||
|
|
||||||
os.write
|
os.write
|
||||||
(
|
(
|
||||||
reinterpret_cast<char*>(fField.begin()),
|
reinterpret_cast<char*>(fField.begin()),
|
||||||
|
@ -134,9 +135,13 @@ void Foam::writeFuns::write
|
||||||
{
|
{
|
||||||
if (binary)
|
if (binary)
|
||||||
{
|
{
|
||||||
# ifdef LITTLEENDIAN
|
#ifdef LITTLEENDIAN
|
||||||
swapWords(elems.size(), reinterpret_cast<label*>(elems.begin()));
|
swapWords
|
||||||
# endif
|
(
|
||||||
|
(sizeof(label)/4)*elems.size(),
|
||||||
|
reinterpret_cast<int32_t*>(elems.begin())
|
||||||
|
);
|
||||||
|
#endif
|
||||||
os.write
|
os.write
|
||||||
(
|
(
|
||||||
reinterpret_cast<char*>(elems.begin()),
|
reinterpret_cast<char*>(elems.begin()),
|
||||||
|
|
|
@ -55,10 +55,11 @@ class writeFuns
|
||||||
{
|
{
|
||||||
// Private member functions
|
// Private member functions
|
||||||
|
|
||||||
// Swap halves of word.
|
//- Swap halves of word
|
||||||
|
static void swapWord(int32_t& word32);
|
||||||
|
|
||||||
static void swapWord(label& word32);
|
//- Swap halves of word
|
||||||
static void swapWords(const label nWords, label* words32);
|
static void swapWords(const label nWords, int32_t* words32);
|
||||||
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
|
@ -640,9 +640,9 @@ void Foam::meshReaders::STARCD::readBoundary(const fileName& inputName)
|
||||||
label lineLabel, starCellId, cellFaceId, starRegion, configNumber;
|
label lineLabel, starCellId, cellFaceId, starRegion, configNumber;
|
||||||
word patchType;
|
word patchType;
|
||||||
|
|
||||||
labelList mapToFoamPatchId(1000, -1);
|
labelList mapToFoamPatchId(1000, label(-1));
|
||||||
labelList nPatchFaces(1000, 0);
|
labelList nPatchFaces(1000, label(0));
|
||||||
labelList origRegion(1000, 0);
|
labelList origRegion(1000, label(0));
|
||||||
patchTypes_.setSize(1000);
|
patchTypes_.setSize(1000);
|
||||||
|
|
||||||
// this is what we seem to need
|
// this is what we seem to need
|
||||||
|
|
|
@ -154,7 +154,7 @@ void Foam::mgMeshLevel::makeChild() const
|
||||||
);
|
);
|
||||||
|
|
||||||
// MGridGen agglomeration options.
|
// MGridGen agglomeration options.
|
||||||
List<int> options(4, 0);
|
List<int> options(4);
|
||||||
options[0] = 4; // globular agglom
|
options[0] = 4; // globular agglom
|
||||||
options[1] = 6; // objective F3 and F2
|
options[1] = 6; // objective F3 and F2
|
||||||
options[2] = 128; // debugging output level
|
options[2] = 128; // debugging output level
|
||||||
|
|
|
@ -46,8 +46,8 @@ namespace Foam
|
||||||
void Foam::decompositionMethod::calcCSR
|
void Foam::decompositionMethod::calcCSR
|
||||||
(
|
(
|
||||||
const labelListList& cellCells,
|
const labelListList& cellCells,
|
||||||
List<int>& adjncy,
|
List<label>& adjncy,
|
||||||
List<int>& xadj
|
List<label>& xadj
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
// Count number of internal faces
|
// Count number of internal faces
|
||||||
|
@ -88,8 +88,8 @@ void Foam::decompositionMethod::calcCSR
|
||||||
void Foam::decompositionMethod::calcCSR
|
void Foam::decompositionMethod::calcCSR
|
||||||
(
|
(
|
||||||
const polyMesh& mesh,
|
const polyMesh& mesh,
|
||||||
List<int>& adjncy,
|
List<label>& adjncy,
|
||||||
List<int>& xadj
|
List<label>& xadj
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
// Make Metis CSR (Compressed Storage Format) storage
|
// Make Metis CSR (Compressed Storage Format) storage
|
||||||
|
@ -185,8 +185,8 @@ void Foam::decompositionMethod::calcCSR
|
||||||
void Foam::decompositionMethod::calcDistributedCSR
|
void Foam::decompositionMethod::calcDistributedCSR
|
||||||
(
|
(
|
||||||
const polyMesh& mesh,
|
const polyMesh& mesh,
|
||||||
List<int>& adjncy,
|
List<label>& adjncy,
|
||||||
List<int>& xadj
|
List<label>& xadj
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
// Create global cell numbers
|
// Create global cell numbers
|
||||||
|
@ -210,7 +210,7 @@ void Foam::decompositionMethod::calcDistributedCSR
|
||||||
// Get renumbered owner on other side of coupled faces
|
// Get renumbered owner on other side of coupled faces
|
||||||
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
List<int> globalNeighbour(mesh.nFaces()-mesh.nInternalFaces());
|
labelList globalNeighbour(mesh.nFaces()-mesh.nInternalFaces());
|
||||||
|
|
||||||
forAll(patches, patchI)
|
forAll(patches, patchI)
|
||||||
{
|
{
|
||||||
|
@ -239,7 +239,7 @@ void Foam::decompositionMethod::calcDistributedCSR
|
||||||
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
// Number of faces per cell
|
// Number of faces per cell
|
||||||
List<int> nFacesPerCell(mesh.nCells(), 0);
|
List<label> nFacesPerCell(mesh.nCells(), 0);
|
||||||
|
|
||||||
// Number of coupled faces
|
// Number of coupled faces
|
||||||
label nCoupledFaces = 0;
|
label nCoupledFaces = 0;
|
||||||
|
@ -272,7 +272,7 @@ void Foam::decompositionMethod::calcDistributedCSR
|
||||||
|
|
||||||
xadj.setSize(mesh.nCells() + 1);
|
xadj.setSize(mesh.nCells() + 1);
|
||||||
|
|
||||||
int freeAdj = 0;
|
label freeAdj = 0;
|
||||||
|
|
||||||
for (label cellI = 0; cellI < mesh.nCells(); cellI++)
|
for (label cellI = 0; cellI < mesh.nCells(); cellI++)
|
||||||
{
|
{
|
||||||
|
|
|
@ -63,8 +63,8 @@ protected:
|
||||||
static void calcCSR
|
static void calcCSR
|
||||||
(
|
(
|
||||||
const labelListList& globalCellCells,
|
const labelListList& globalCellCells,
|
||||||
List<int>& adjncy,
|
List<label>& adjncy,
|
||||||
List<int>& xadj
|
List<label>& xadj
|
||||||
);
|
);
|
||||||
|
|
||||||
//- Helper: convert local connectivity from the mesh
|
//- Helper: convert local connectivity from the mesh
|
||||||
|
@ -73,8 +73,8 @@ protected:
|
||||||
static void calcCSR
|
static void calcCSR
|
||||||
(
|
(
|
||||||
const polyMesh& mesh,
|
const polyMesh& mesh,
|
||||||
List<int>& adjncy,
|
List<label>& adjncy,
|
||||||
List<int>& xadj
|
List<label>& xadj
|
||||||
);
|
);
|
||||||
|
|
||||||
//- Helper: convert mesh connectivity into distributed CSR
|
//- Helper: convert mesh connectivity into distributed CSR
|
||||||
|
@ -82,8 +82,8 @@ protected:
|
||||||
static void calcDistributedCSR
|
static void calcDistributedCSR
|
||||||
(
|
(
|
||||||
const polyMesh&,
|
const polyMesh&,
|
||||||
List<int>& adjncy,
|
List<label>& adjncy,
|
||||||
List<int>& xadj
|
List<label>& xadj
|
||||||
);
|
);
|
||||||
|
|
||||||
//- Helper: determine (non-parallel) cellCells from mesh
|
//- Helper: determine (non-parallel) cellCells from mesh
|
||||||
|
|
|
@ -54,10 +54,10 @@ namespace Foam
|
||||||
|
|
||||||
Foam::label Foam::metisDecomp::decompose
|
Foam::label Foam::metisDecomp::decompose
|
||||||
(
|
(
|
||||||
const List<int>& adjncy,
|
const List<label>& adjncy,
|
||||||
const List<int>& xadj,
|
const List<label>& xadj,
|
||||||
const scalarField& cWeights,
|
const scalarField& cWeights,
|
||||||
List<int>& finalDecomp
|
List<label>& finalDecomp
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
// Method of decomposition
|
// Method of decomposition
|
||||||
|
@ -65,7 +65,7 @@ Foam::label Foam::metisDecomp::decompose
|
||||||
// k-way: multi-level k-way
|
// k-way: multi-level k-way
|
||||||
word method("k-way");
|
word method("k-way");
|
||||||
|
|
||||||
int numCells = xadj.size()-1;
|
label numCells = xadj.size()-1;
|
||||||
|
|
||||||
// decomposition options. 0 = use defaults
|
// decomposition options. 0 = use defaults
|
||||||
idx_t options[METIS_NOPTIONS];
|
idx_t options[METIS_NOPTIONS];
|
||||||
|
@ -76,10 +76,10 @@ Foam::label Foam::metisDecomp::decompose
|
||||||
Field<real_t> processorWeights;
|
Field<real_t> processorWeights;
|
||||||
|
|
||||||
// cell weights (so on the vertices of the dual)
|
// cell weights (so on the vertices of the dual)
|
||||||
List<int> cellWeights;
|
List<label> cellWeights;
|
||||||
|
|
||||||
// face weights (so on the edges of the dual)
|
// face weights (so on the edges of the dual)
|
||||||
List<int> faceWeights;
|
List<label> faceWeights;
|
||||||
|
|
||||||
|
|
||||||
// Check for externally provided cellweights and if so initialise weights
|
// Check for externally provided cellweights and if so initialise weights
|
||||||
|
@ -177,7 +177,7 @@ Foam::label Foam::metisDecomp::decompose
|
||||||
{
|
{
|
||||||
Info<< "metisDecomp : Using cell-based weights." << endl;
|
Info<< "metisDecomp : Using cell-based weights." << endl;
|
||||||
|
|
||||||
IOList<int> cellIOWeights
|
IOList<label> cellIOWeights
|
||||||
(
|
(
|
||||||
IOobject
|
IOobject
|
||||||
(
|
(
|
||||||
|
@ -200,17 +200,17 @@ Foam::label Foam::metisDecomp::decompose
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int nProcs = nProcessors_;
|
label nProcs = nProcessors_;
|
||||||
|
|
||||||
// output: cell -> processor addressing
|
// output: cell -> processor addressing
|
||||||
finalDecomp.setSize(numCells);
|
finalDecomp.setSize(numCells);
|
||||||
|
|
||||||
// output: number of cut edges
|
// output: number of cut edges
|
||||||
int edgeCut = 0;
|
label edgeCut = 0;
|
||||||
|
|
||||||
// Vertex weight info
|
// Vertex weight info
|
||||||
int* vwgtPtr = nullptr;
|
label* vwgtPtr = nullptr;
|
||||||
int* adjwgtPtr = nullptr;
|
label* adjwgtPtr = nullptr;
|
||||||
|
|
||||||
if (cellWeights.size())
|
if (cellWeights.size())
|
||||||
{
|
{
|
||||||
|
@ -221,7 +221,7 @@ Foam::label Foam::metisDecomp::decompose
|
||||||
adjwgtPtr = faceWeights.begin();
|
adjwgtPtr = faceWeights.begin();
|
||||||
}
|
}
|
||||||
|
|
||||||
int one = 1;
|
label one = 1;
|
||||||
|
|
||||||
if (method == "recursive")
|
if (method == "recursive")
|
||||||
{
|
{
|
||||||
|
@ -229,8 +229,8 @@ Foam::label Foam::metisDecomp::decompose
|
||||||
(
|
(
|
||||||
&numCells, // num vertices in graph
|
&numCells, // num vertices in graph
|
||||||
&one,
|
&one,
|
||||||
const_cast<List<int>&>(xadj).begin(), // indexing into adjncy
|
const_cast<List<label>&>(xadj).begin(), // indexing into adjncy
|
||||||
const_cast<List<int>&>(adjncy).begin(), // neighbour info
|
const_cast<List<label>&>(adjncy).begin(), // neighbour info
|
||||||
vwgtPtr, // vertexweights
|
vwgtPtr, // vertexweights
|
||||||
nullptr,
|
nullptr,
|
||||||
adjwgtPtr, // no edgeweights
|
adjwgtPtr, // no edgeweights
|
||||||
|
@ -248,8 +248,8 @@ Foam::label Foam::metisDecomp::decompose
|
||||||
(
|
(
|
||||||
&numCells, // num vertices in graph
|
&numCells, // num vertices in graph
|
||||||
&one,
|
&one,
|
||||||
const_cast<List<int>&>(xadj).begin(), // indexing into adjncy
|
const_cast<List<label>&>(xadj).begin(), // indexing into adjncy
|
||||||
const_cast<List<int>&>(adjncy).begin(), // neighbour info
|
const_cast<List<label>&>(adjncy).begin(), // neighbour info
|
||||||
vwgtPtr, // vertexweights
|
vwgtPtr, // vertexweights
|
||||||
nullptr,
|
nullptr,
|
||||||
adjwgtPtr, // no edgeweights
|
adjwgtPtr, // no edgeweights
|
||||||
|
@ -300,8 +300,8 @@ Foam::labelList Foam::metisDecomp::decompose
|
||||||
<< exit(FatalError);
|
<< exit(FatalError);
|
||||||
}
|
}
|
||||||
|
|
||||||
List<int> adjncy;
|
List<label> adjncy;
|
||||||
List<int> xadj;
|
List<label> xadj;
|
||||||
calcCSR
|
calcCSR
|
||||||
(
|
(
|
||||||
mesh_,
|
mesh_,
|
||||||
|
@ -310,7 +310,7 @@ Foam::labelList Foam::metisDecomp::decompose
|
||||||
);
|
);
|
||||||
|
|
||||||
// Decompose using default weights
|
// Decompose using default weights
|
||||||
List<int> finalDecomp;
|
List<label> finalDecomp;
|
||||||
decompose(adjncy, xadj, pointWeights, finalDecomp);
|
decompose(adjncy, xadj, pointWeights, finalDecomp);
|
||||||
|
|
||||||
// Copy back to labelList
|
// Copy back to labelList
|
||||||
|
@ -348,8 +348,8 @@ Foam::labelList Foam::metisDecomp::decompose
|
||||||
// Make Metis CSR (Compressed Storage Format) storage
|
// Make Metis CSR (Compressed Storage Format) storage
|
||||||
// adjncy : contains neighbours (= edges in graph)
|
// adjncy : contains neighbours (= edges in graph)
|
||||||
// xadj(celli) : start of information in adjncy for celli
|
// xadj(celli) : start of information in adjncy for celli
|
||||||
List<int> adjncy;
|
List<label> adjncy;
|
||||||
List<int> xadj;
|
List<label> xadj;
|
||||||
{
|
{
|
||||||
// Get cellCells on coarse mesh.
|
// Get cellCells on coarse mesh.
|
||||||
labelListList cellCells;
|
labelListList cellCells;
|
||||||
|
@ -365,7 +365,7 @@ Foam::labelList Foam::metisDecomp::decompose
|
||||||
}
|
}
|
||||||
|
|
||||||
// Decompose using default weights
|
// Decompose using default weights
|
||||||
List<int> finalDecomp;
|
List<label> finalDecomp;
|
||||||
decompose(adjncy, xadj, coarseWeights, finalDecomp);
|
decompose(adjncy, xadj, coarseWeights, finalDecomp);
|
||||||
|
|
||||||
|
|
||||||
|
@ -406,12 +406,12 @@ Foam::labelList Foam::metisDecomp::decompose
|
||||||
// adjncy : contains neighbours (= edges in graph)
|
// adjncy : contains neighbours (= edges in graph)
|
||||||
// xadj(celli) : start of information in adjncy for celli
|
// xadj(celli) : start of information in adjncy for celli
|
||||||
|
|
||||||
List<int> adjncy;
|
List<label> adjncy;
|
||||||
List<int> xadj;
|
List<label> xadj;
|
||||||
calcCSR(globalCellCells, adjncy, xadj);
|
calcCSR(globalCellCells, adjncy, xadj);
|
||||||
|
|
||||||
// Decompose using default weights
|
// Decompose using default weights
|
||||||
List<int> finalDecomp;
|
List<label> finalDecomp;
|
||||||
decompose(adjncy, xadj, cWeights, finalDecomp);
|
decompose(adjncy, xadj, cWeights, finalDecomp);
|
||||||
|
|
||||||
// Copy back to labelList
|
// Copy back to labelList
|
||||||
|
|
|
@ -63,10 +63,10 @@ class metisDecomp
|
||||||
|
|
||||||
label decompose
|
label decompose
|
||||||
(
|
(
|
||||||
const List<int>& adjncy,
|
const List<label>& adjncy,
|
||||||
const List<int>& xadj,
|
const List<label>& xadj,
|
||||||
const scalarField& cellWeights,
|
const scalarField& cellWeights,
|
||||||
List<int>& finalDecomp
|
List<label>& finalDecomp
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -59,20 +59,20 @@ namespace Foam
|
||||||
//- Does prevention of 0 cell domains and calls parmetis.
|
//- Does prevention of 0 cell domains and calls parmetis.
|
||||||
Foam::label Foam::parMetisDecomp::decompose
|
Foam::label Foam::parMetisDecomp::decompose
|
||||||
(
|
(
|
||||||
Field<int>& xadj,
|
Field<label>& xadj,
|
||||||
Field<int>& adjncy,
|
Field<label>& adjncy,
|
||||||
const pointField& cellCentres,
|
const pointField& cellCentres,
|
||||||
Field<int>& cellWeights,
|
Field<label>& cellWeights,
|
||||||
Field<int>& faceWeights,
|
Field<label>& faceWeights,
|
||||||
const List<int>& options,
|
const List<label>& options,
|
||||||
List<int>& finalDecomp
|
List<label>& finalDecomp
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
// C style numbering
|
// C style numbering
|
||||||
int numFlag = 0;
|
label numFlag = 0;
|
||||||
|
|
||||||
// Number of dimensions
|
// Number of dimensions
|
||||||
int nDims = 3;
|
label nDims = 3;
|
||||||
|
|
||||||
|
|
||||||
if (cellCentres.size() != xadj.size()-1)
|
if (cellCentres.size() != xadj.size()-1)
|
||||||
|
@ -85,14 +85,14 @@ Foam::label Foam::parMetisDecomp::decompose
|
||||||
|
|
||||||
|
|
||||||
// Get number of cells on all processors
|
// Get number of cells on all processors
|
||||||
List<int> nLocalCells(Pstream::nProcs());
|
List<label> nLocalCells(Pstream::nProcs());
|
||||||
nLocalCells[Pstream::myProcNo()] = xadj.size()-1;
|
nLocalCells[Pstream::myProcNo()] = xadj.size()-1;
|
||||||
Pstream::gatherList(nLocalCells);
|
Pstream::gatherList(nLocalCells);
|
||||||
Pstream::scatterList(nLocalCells);
|
Pstream::scatterList(nLocalCells);
|
||||||
|
|
||||||
// Get cell offsets.
|
// Get cell offsets.
|
||||||
List<int> cellOffsets(Pstream::nProcs()+1);
|
List<label> cellOffsets(Pstream::nProcs()+1);
|
||||||
int nGlobalCells = 0;
|
label nGlobalCells = 0;
|
||||||
forAll(nLocalCells, procI)
|
forAll(nLocalCells, procI)
|
||||||
{
|
{
|
||||||
cellOffsets[procI] = nGlobalCells;
|
cellOffsets[procI] = nGlobalCells;
|
||||||
|
@ -102,7 +102,7 @@ Foam::label Foam::parMetisDecomp::decompose
|
||||||
|
|
||||||
// Convert pointField into the data type parMetis expects (float or double)
|
// Convert pointField into the data type parMetis expects (float or double)
|
||||||
Field<real_t> xyz(3*cellCentres.size());
|
Field<real_t> xyz(3*cellCentres.size());
|
||||||
int compI = 0;
|
label compI = 0;
|
||||||
forAll(cellCentres, cellI)
|
forAll(cellCentres, cellI)
|
||||||
{
|
{
|
||||||
const point& cc = cellCentres[cellI];
|
const point& cc = cellCentres[cellI];
|
||||||
|
@ -120,7 +120,7 @@ Foam::label Foam::parMetisDecomp::decompose
|
||||||
|
|
||||||
// Number of cells to send to the next processor
|
// Number of cells to send to the next processor
|
||||||
// (is same as number of cells next processor has to receive)
|
// (is same as number of cells next processor has to receive)
|
||||||
List<int> nSendCells(Pstream::nProcs(), 0);
|
List<label> nSendCells(Pstream::nProcs(), 0);
|
||||||
|
|
||||||
for (label procI = nLocalCells.size()-1; procI >=1; procI--)
|
for (label procI = nLocalCells.size()-1; procI >=1; procI--)
|
||||||
{
|
{
|
||||||
|
@ -137,11 +137,11 @@ Foam::label Foam::parMetisDecomp::decompose
|
||||||
// Receive cells from previous processor
|
// Receive cells from previous processor
|
||||||
IPstream fromPrevProc(Pstream::blocking, Pstream::myProcNo()-1);
|
IPstream fromPrevProc(Pstream::blocking, Pstream::myProcNo()-1);
|
||||||
|
|
||||||
Field<int> prevXadj(fromPrevProc);
|
Field<label> prevXadj(fromPrevProc);
|
||||||
Field<int> prevAdjncy(fromPrevProc);
|
Field<label> prevAdjncy(fromPrevProc);
|
||||||
Field<real_t> prevXyz(fromPrevProc);
|
Field<real_t> prevXyz(fromPrevProc);
|
||||||
Field<int> prevCellWeights(fromPrevProc);
|
Field<label> prevCellWeights(fromPrevProc);
|
||||||
Field<int> prevFaceWeights(fromPrevProc);
|
Field<label> prevFaceWeights(fromPrevProc);
|
||||||
|
|
||||||
if (prevXadj.size() != nSendCells[Pstream::myProcNo()-1])
|
if (prevXadj.size() != nSendCells[Pstream::myProcNo()-1])
|
||||||
{
|
{
|
||||||
|
@ -172,34 +172,34 @@ Foam::label Foam::parMetisDecomp::decompose
|
||||||
// Send cells to next processor
|
// Send cells to next processor
|
||||||
OPstream toNextProc(Pstream::blocking, Pstream::myProcNo()+1);
|
OPstream toNextProc(Pstream::blocking, Pstream::myProcNo()+1);
|
||||||
|
|
||||||
int nCells = nSendCells[Pstream::myProcNo()];
|
label nCells = nSendCells[Pstream::myProcNo()];
|
||||||
int startCell = xadj.size()-1 - nCells;
|
label startCell = xadj.size()-1 - nCells;
|
||||||
int startFace = xadj[startCell];
|
label startFace = xadj[startCell];
|
||||||
int nFaces = adjncy.size()-startFace;
|
label nFaces = adjncy.size()-startFace;
|
||||||
|
|
||||||
// Send for all cell data: last nCells elements
|
// Send for all cell data: last nCells elements
|
||||||
// Send for all face data: last nFaces elements
|
// Send for all face data: last nFaces elements
|
||||||
toNextProc
|
toNextProc
|
||||||
<< Field<int>::subField(xadj, nCells, startCell)-startFace
|
<< Field<label>::subField(xadj, nCells, startCell)-startFace
|
||||||
<< Field<int>::subField(adjncy, nFaces, startFace)
|
<< Field<label>::subField(adjncy, nFaces, startFace)
|
||||||
<< SubField<real_t>(xyz, nDims*nCells, nDims*startCell)
|
<< SubField<real_t>(xyz, nDims*nCells, nDims*startCell)
|
||||||
<<
|
<<
|
||||||
(
|
(
|
||||||
cellWeights.size()
|
cellWeights.size()
|
||||||
? static_cast<const Field<int>&>
|
? static_cast<const Field<label>&>
|
||||||
(
|
(
|
||||||
Field<int>::subField(cellWeights, nCells, startCell)
|
Field<label>::subField(cellWeights, nCells, startCell)
|
||||||
)
|
)
|
||||||
: Field<int>(0)
|
: Field<label>(0)
|
||||||
)
|
)
|
||||||
<<
|
<<
|
||||||
(
|
(
|
||||||
faceWeights.size()
|
faceWeights.size()
|
||||||
? static_cast<const Field<int>&>
|
? static_cast<const Field<label>&>
|
||||||
(
|
(
|
||||||
Field<int>::subField(faceWeights, nFaces, startFace)
|
Field<label>::subField(faceWeights, nFaces, startFace)
|
||||||
)
|
)
|
||||||
: Field<int>(0)
|
: Field<label>(0)
|
||||||
);
|
);
|
||||||
|
|
||||||
// Remove data that has been sent
|
// Remove data that has been sent
|
||||||
|
@ -248,9 +248,9 @@ Foam::label Foam::parMetisDecomp::decompose
|
||||||
}
|
}
|
||||||
|
|
||||||
// Weight info
|
// Weight info
|
||||||
int wgtFlag = 0;
|
label wgtFlag = 0;
|
||||||
int* vwgtPtr = nullptr;
|
label* vwgtPtr = nullptr;
|
||||||
int* adjwgtPtr = nullptr;
|
label* adjwgtPtr = nullptr;
|
||||||
|
|
||||||
if (cellWeights.size())
|
if (cellWeights.size())
|
||||||
{
|
{
|
||||||
|
@ -265,7 +265,7 @@ Foam::label Foam::parMetisDecomp::decompose
|
||||||
|
|
||||||
|
|
||||||
// Number of weights or balance constraints
|
// Number of weights or balance constraints
|
||||||
int nCon = 1;
|
label nCon = 1;
|
||||||
// Per processor, per constraint the weight
|
// Per processor, per constraint the weight
|
||||||
Field<real_t> tpwgts(nCon*nProcessors_, 1./nProcessors_);
|
Field<real_t> tpwgts(nCon*nProcessors_, 1./nProcessors_);
|
||||||
// Imbalance tolerance
|
// Imbalance tolerance
|
||||||
|
@ -282,8 +282,10 @@ Foam::label Foam::parMetisDecomp::decompose
|
||||||
finalDecomp.setSize(nLocalCells[Pstream::myProcNo()]);
|
finalDecomp.setSize(nLocalCells[Pstream::myProcNo()]);
|
||||||
|
|
||||||
// output: number of cut edges
|
// output: number of cut edges
|
||||||
int edgeCut = 0;
|
label edgeCut = 0;
|
||||||
|
|
||||||
|
// Number of parts
|
||||||
|
label nProcs = nProcessors_;
|
||||||
|
|
||||||
ParMETIS_V3_PartGeomKway
|
ParMETIS_V3_PartGeomKway
|
||||||
(
|
(
|
||||||
|
@ -297,10 +299,10 @@ Foam::label Foam::parMetisDecomp::decompose
|
||||||
&nDims,
|
&nDims,
|
||||||
xyz.begin(),
|
xyz.begin(),
|
||||||
&nCon,
|
&nCon,
|
||||||
&nProcessors_, // nParts
|
&nProcs, // nParts
|
||||||
tpwgts.begin(),
|
tpwgts.begin(),
|
||||||
ubvec.begin(),
|
ubvec.begin(),
|
||||||
const_cast<List<int>&>(options).begin(),
|
const_cast<List<label>&>(options).begin(),
|
||||||
&edgeCut,
|
&edgeCut,
|
||||||
finalDecomp.begin(),
|
finalDecomp.begin(),
|
||||||
&comm
|
&comm
|
||||||
|
@ -315,7 +317,7 @@ Foam::label Foam::parMetisDecomp::decompose
|
||||||
{
|
{
|
||||||
IPstream fromNextProc(Pstream::blocking, Pstream::myProcNo()+1);
|
IPstream fromNextProc(Pstream::blocking, Pstream::myProcNo()+1);
|
||||||
|
|
||||||
List<int> nextFinalDecomp(fromNextProc);
|
List<label> nextFinalDecomp(fromNextProc);
|
||||||
|
|
||||||
if (nextFinalDecomp.size() != nSendCells[Pstream::myProcNo()])
|
if (nextFinalDecomp.size() != nSendCells[Pstream::myProcNo()])
|
||||||
{
|
{
|
||||||
|
@ -334,10 +336,10 @@ Foam::label Foam::parMetisDecomp::decompose
|
||||||
{
|
{
|
||||||
OPstream toPrevProc(Pstream::blocking, Pstream::myProcNo()-1);
|
OPstream toPrevProc(Pstream::blocking, Pstream::myProcNo()-1);
|
||||||
|
|
||||||
int nToPrevious = nSendCells[Pstream::myProcNo()-1];
|
label nToPrevious = nSendCells[Pstream::myProcNo()-1];
|
||||||
|
|
||||||
toPrevProc <<
|
toPrevProc <<
|
||||||
SubList<int>
|
SubList<label>
|
||||||
(
|
(
|
||||||
finalDecomp,
|
finalDecomp,
|
||||||
nToPrevious,
|
nToPrevious,
|
||||||
|
@ -399,9 +401,9 @@ Foam::labelList Foam::parMetisDecomp::decompose
|
||||||
|
|
||||||
|
|
||||||
// Connections
|
// Connections
|
||||||
Field<int> adjncy;
|
Field<label> adjncy;
|
||||||
// Offsets into adjncy
|
// Offsets into adjncy
|
||||||
Field<int> xadj;
|
Field<label> xadj;
|
||||||
calcDistributedCSR
|
calcDistributedCSR
|
||||||
(
|
(
|
||||||
mesh_,
|
mesh_,
|
||||||
|
@ -411,16 +413,16 @@ Foam::labelList Foam::parMetisDecomp::decompose
|
||||||
|
|
||||||
|
|
||||||
// decomposition options. 0 = use defaults
|
// decomposition options. 0 = use defaults
|
||||||
List<int> options(3, 0);
|
List<label> options(3, label(0));
|
||||||
//options[0] = 1; // don't use defaults but use values below
|
//options[0] = 1; // don't use defaults but use values below
|
||||||
//options[1] = -1; // full debug info
|
//options[1] = -1; // full debug info
|
||||||
//options[2] = 15; // random number seed
|
//options[2] = 15; // random number seed
|
||||||
|
|
||||||
// cell weights (so on the vertices of the dual)
|
// cell weights (so on the vertices of the dual)
|
||||||
Field<int> cellWeights;
|
Field<label> cellWeights;
|
||||||
|
|
||||||
// face weights (so on the edges of the dual)
|
// face weights (so on the edges of the dual)
|
||||||
Field<int> faceWeights;
|
Field<label> faceWeights;
|
||||||
|
|
||||||
|
|
||||||
// Check for externally provided cellweights and if so initialise weights
|
// Check for externally provided cellweights and if so initialise weights
|
||||||
|
@ -527,7 +529,7 @@ Foam::labelList Foam::parMetisDecomp::decompose
|
||||||
faceWeights.setSize(adjncy.size());
|
faceWeights.setSize(adjncy.size());
|
||||||
|
|
||||||
// Assume symmetric weights. Keep same ordering as adjncy.
|
// Assume symmetric weights. Keep same ordering as adjncy.
|
||||||
List<int> nFacesPerCell(mesh_.nCells(), 0);
|
List<label> nFacesPerCell(mesh_.nCells(), 0);
|
||||||
|
|
||||||
// Handle internal faces
|
// Handle internal faces
|
||||||
for (label faceI = 0; faceI < mesh_.nInternalFaces(); faceI++)
|
for (label faceI = 0; faceI < mesh_.nInternalFaces(); faceI++)
|
||||||
|
@ -581,7 +583,7 @@ Foam::labelList Foam::parMetisDecomp::decompose
|
||||||
|
|
||||||
|
|
||||||
// Do actual decomposition
|
// Do actual decomposition
|
||||||
List<int> finalDecomp;
|
List<label> finalDecomp;
|
||||||
decompose
|
decompose
|
||||||
(
|
(
|
||||||
xadj,
|
xadj,
|
||||||
|
@ -636,7 +638,7 @@ Foam::labelList Foam::parMetisDecomp::decompose
|
||||||
// Get renumbered owner region on other side of coupled faces
|
// Get renumbered owner region on other side of coupled faces
|
||||||
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
List<int> globalNeighbour(mesh_.nFaces()-mesh_.nInternalFaces());
|
List<label> globalNeighbour(mesh_.nFaces()-mesh_.nInternalFaces());
|
||||||
|
|
||||||
forAll(patches, patchI)
|
forAll(patches, patchI)
|
||||||
{
|
{
|
||||||
|
@ -781,24 +783,24 @@ Foam::labelList Foam::parMetisDecomp::decompose
|
||||||
// Make Metis Distributed CSR (Compressed Storage Format) storage
|
// Make Metis Distributed CSR (Compressed Storage Format) storage
|
||||||
|
|
||||||
// Connections
|
// Connections
|
||||||
Field<int> adjncy;
|
Field<label> adjncy;
|
||||||
|
|
||||||
// Offsets into adjncy
|
// Offsets into adjncy
|
||||||
Field<int> xadj;
|
Field<label> xadj;
|
||||||
|
|
||||||
calcCSR(globalCellCells, adjncy, xadj);
|
calcCSR(globalCellCells, adjncy, xadj);
|
||||||
|
|
||||||
// decomposition options. 0 = use defaults
|
// decomposition options. 0 = use defaults
|
||||||
List<int> options(3, 0);
|
List<label> options(3, label(0));
|
||||||
//options[0] = 1; // don't use defaults but use values below
|
//options[0] = 1; // don't use defaults but use values below
|
||||||
//options[1] = -1; // full debug info
|
//options[1] = -1; // full debug info
|
||||||
//options[2] = 15; // random number seed
|
//options[2] = 15; // random number seed
|
||||||
|
|
||||||
// cell weights (so on the vertices of the dual)
|
// cell weights (so on the vertices of the dual)
|
||||||
Field<int> cellWeights;
|
Field<label> cellWeights;
|
||||||
|
|
||||||
// face weights (so on the edges of the dual)
|
// face weights (so on the edges of the dual)
|
||||||
Field<int> faceWeights;
|
Field<label> faceWeights;
|
||||||
|
|
||||||
|
|
||||||
// Check for externally provided cellweights and if so initialise weights
|
// Check for externally provided cellweights and if so initialise weights
|
||||||
|
@ -860,7 +862,7 @@ Foam::labelList Foam::parMetisDecomp::decompose
|
||||||
|
|
||||||
|
|
||||||
// Do actual decomposition
|
// Do actual decomposition
|
||||||
List<int> finalDecomp;
|
List<label> finalDecomp;
|
||||||
decompose
|
decompose
|
||||||
(
|
(
|
||||||
xadj,
|
xadj,
|
||||||
|
|
|
@ -72,14 +72,14 @@ class parMetisDecomp
|
||||||
|
|
||||||
label decompose
|
label decompose
|
||||||
(
|
(
|
||||||
Field<int>& xadj,
|
Field<label>& xadj,
|
||||||
Field<int>& adjncy,
|
Field<label>& adjncy,
|
||||||
const pointField& cellCentres,
|
const pointField& cellCentres,
|
||||||
Field<int>& cellWeights,
|
Field<label>& cellWeights,
|
||||||
Field<int>& faceWeights,
|
Field<label>& faceWeights,
|
||||||
const List<int>& options,
|
const List<label>& options,
|
||||||
|
|
||||||
List<int>& finalDecomp
|
List<label>& finalDecomp
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -164,11 +164,11 @@ void Foam::scotchDecomp::check(const int retVal, const char* str)
|
||||||
// Call scotch with options from dictionary.
|
// Call scotch with options from dictionary.
|
||||||
Foam::label Foam::scotchDecomp::decompose
|
Foam::label Foam::scotchDecomp::decompose
|
||||||
(
|
(
|
||||||
const List<int>& adjncy,
|
const List<label>& adjncy,
|
||||||
const List<int>& xadj,
|
const List<label>& xadj,
|
||||||
const scalarField& cWeights,
|
const scalarField& cWeights,
|
||||||
|
|
||||||
List<int>& finalDecomp
|
List<label>& finalDecomp
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
// Dump graph
|
// Dump graph
|
||||||
|
@ -247,7 +247,7 @@ Foam::label Foam::scotchDecomp::decompose
|
||||||
// Graph
|
// Graph
|
||||||
// ~~~~~
|
// ~~~~~
|
||||||
|
|
||||||
List<int> velotab;
|
List<label> velotab;
|
||||||
|
|
||||||
|
|
||||||
// Check for externally provided cellweights and if so initialise weights
|
// Check for externally provided cellweights and if so initialise weights
|
||||||
|
@ -443,12 +443,12 @@ Foam::labelList Foam::scotchDecomp::decompose
|
||||||
// Make Metis CSR (Compressed Storage Format) storage
|
// Make Metis CSR (Compressed Storage Format) storage
|
||||||
// adjncy : contains neighbours (= edges in graph)
|
// adjncy : contains neighbours (= edges in graph)
|
||||||
// xadj(celli) : start of information in adjncy for celli
|
// xadj(celli) : start of information in adjncy for celli
|
||||||
List<int> adjncy;
|
List<label> adjncy;
|
||||||
List<int> xadj;
|
List<label> xadj;
|
||||||
calcCSR(mesh_, adjncy, xadj);
|
calcCSR(mesh_, adjncy, xadj);
|
||||||
|
|
||||||
// Decompose using default weights
|
// Decompose using default weights
|
||||||
List<int> finalDecomp;
|
List<label> finalDecomp;
|
||||||
decompose(adjncy, xadj, pointWeights, finalDecomp);
|
decompose(adjncy, xadj, pointWeights, finalDecomp);
|
||||||
|
|
||||||
// Copy back to labelList
|
// Copy back to labelList
|
||||||
|
@ -485,8 +485,8 @@ Foam::labelList Foam::scotchDecomp::decompose
|
||||||
// Make Metis CSR (Compressed Storage Format) storage
|
// Make Metis CSR (Compressed Storage Format) storage
|
||||||
// adjncy : contains neighbours (= edges in graph)
|
// adjncy : contains neighbours (= edges in graph)
|
||||||
// xadj(celli) : start of information in adjncy for celli
|
// xadj(celli) : start of information in adjncy for celli
|
||||||
List<int> adjncy;
|
List<label> adjncy;
|
||||||
List<int> xadj;
|
List<label> xadj;
|
||||||
{
|
{
|
||||||
// Get cellCells on coarse mesh.
|
// Get cellCells on coarse mesh.
|
||||||
labelListList cellCells;
|
labelListList cellCells;
|
||||||
|
@ -503,7 +503,7 @@ Foam::labelList Foam::scotchDecomp::decompose
|
||||||
}
|
}
|
||||||
|
|
||||||
// Decompose using weights
|
// Decompose using weights
|
||||||
List<int> finalDecomp;
|
List<label> finalDecomp;
|
||||||
decompose(adjncy, xadj, coarseWeights, finalDecomp);
|
decompose(adjncy, xadj, coarseWeights, finalDecomp);
|
||||||
|
|
||||||
// Rework back into decomposition for original mesh_
|
// Rework back into decomposition for original mesh_
|
||||||
|
@ -543,12 +543,12 @@ Foam::labelList Foam::scotchDecomp::decompose
|
||||||
// adjncy : contains neighbours (= edges in graph)
|
// adjncy : contains neighbours (= edges in graph)
|
||||||
// xadj(celli) : start of information in adjncy for celli
|
// xadj(celli) : start of information in adjncy for celli
|
||||||
|
|
||||||
List<int> adjncy;
|
List<label> adjncy;
|
||||||
List<int> xadj;
|
List<label> xadj;
|
||||||
calcCSR(globalCellCells, adjncy, xadj);
|
calcCSR(globalCellCells, adjncy, xadj);
|
||||||
|
|
||||||
// Decompose using weights
|
// Decompose using weights
|
||||||
List<int> finalDecomp;
|
List<label> finalDecomp;
|
||||||
decompose(adjncy, xadj, cWeights, finalDecomp);
|
decompose(adjncy, xadj, cWeights, finalDecomp);
|
||||||
|
|
||||||
// Copy back to labelList
|
// Copy back to labelList
|
||||||
|
|
|
@ -68,10 +68,10 @@ class scotchDecomp
|
||||||
|
|
||||||
label decompose
|
label decompose
|
||||||
(
|
(
|
||||||
const List<int>& adjncy,
|
const List<label>& adjncy,
|
||||||
const List<int>& xadj,
|
const List<label>& xadj,
|
||||||
const scalarField& cWeights,
|
const scalarField& cWeights,
|
||||||
List<int>& finalDecomp
|
List<label>& finalDecomp
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -630,7 +630,14 @@ void Foam::addPatchCellLayer::setRefinement
|
||||||
{
|
{
|
||||||
labelList n(mesh_.nPoints(), 0);
|
labelList n(mesh_.nPoints(), 0);
|
||||||
IndirectList<label>(n, meshPoints) = nPointLayers;
|
IndirectList<label>(n, meshPoints) = nPointLayers;
|
||||||
syncTools::syncPointList(mesh_, n, maxEqOp<label>(), 0, false);
|
syncTools::syncPointList
|
||||||
|
(
|
||||||
|
mesh_,
|
||||||
|
n,
|
||||||
|
maxEqOp<label>(),
|
||||||
|
label(0),
|
||||||
|
false
|
||||||
|
);
|
||||||
|
|
||||||
// Non-synced
|
// Non-synced
|
||||||
forAll(meshPoints, i)
|
forAll(meshPoints, i)
|
||||||
|
@ -674,7 +681,7 @@ void Foam::addPatchCellLayer::setRefinement
|
||||||
mesh_,
|
mesh_,
|
||||||
nFromFace,
|
nFromFace,
|
||||||
maxEqOp<label>(),
|
maxEqOp<label>(),
|
||||||
0,
|
label(0),
|
||||||
false
|
false
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -1116,7 +1123,7 @@ void Foam::addPatchCellLayer::setRefinement
|
||||||
mesh_,
|
mesh_,
|
||||||
meshEdgeLayers,
|
meshEdgeLayers,
|
||||||
maxEqOp<label>(),
|
maxEqOp<label>(),
|
||||||
0, // initial value
|
label(0), // initial value
|
||||||
false // no separation
|
false // no separation
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
|
@ -707,7 +707,7 @@ void Foam::combineFaces::setRefinement
|
||||||
mesh_,
|
mesh_,
|
||||||
nPointFaces,
|
nPointFaces,
|
||||||
plusEqOp<label>(),
|
plusEqOp<label>(),
|
||||||
0, // null value
|
label(0), // null value
|
||||||
false // no separation
|
false // no separation
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
|
@ -1379,7 +1379,7 @@ void Foam::directTopoChange::calcCellInflationMaps
|
||||||
{
|
{
|
||||||
label nCellsFromFaces = 0;
|
label nCellsFromFaces = 0;
|
||||||
|
|
||||||
labelList cellsAroundFace(2, -1);
|
labelList cellsAroundFace(2, label(-1));
|
||||||
|
|
||||||
// Collect all still existing faces connected to this point.
|
// Collect all still existing faces connected to this point.
|
||||||
forAllConstIter(Map<label>, cellFromFace_, iter)
|
forAllConstIter(Map<label>, cellFromFace_, iter)
|
||||||
|
|
|
@ -1453,7 +1453,7 @@ void Foam::refinement::setRefinement(polyTopoChange& ref) const
|
||||||
mesh_,
|
mesh_,
|
||||||
pointLevel_,
|
pointLevel_,
|
||||||
maxEqOp<label>(),
|
maxEqOp<label>(),
|
||||||
0, // Null value
|
label(0), // Null value
|
||||||
true // Apply separation for parallel cyclics
|
true // Apply separation for parallel cyclics
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
|
@ -1671,7 +1671,7 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::polyTopoChanger::changeMesh
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
labelList cellsAroundFace(2, -1);
|
labelList cellsAroundFace(2, label(-1));
|
||||||
|
|
||||||
cellsAroundFace[0] = mesh.faceOwner()[ac[acI].masterFaceID()];
|
cellsAroundFace[0] = mesh.faceOwner()[ac[acI].masterFaceID()];
|
||||||
|
|
||||||
|
|
|
@ -2406,7 +2406,7 @@ const changeMap dynamicTopoFvMesh::insertCells(const label mIndex)
|
||||||
(
|
(
|
||||||
pointJ,
|
pointJ,
|
||||||
meshJ.oldPoints_[pItJ.key()],
|
meshJ.oldPoints_[pItJ.key()],
|
||||||
labelList(1, -1)
|
labelList(1, label(-1))
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -2500,7 +2500,7 @@ const changeMap dynamicTopoFvMesh::insertCells(const label mIndex)
|
||||||
(
|
(
|
||||||
pointI,
|
pointI,
|
||||||
meshI.oldPoints_[pItI.key()],
|
meshI.oldPoints_[pItI.key()],
|
||||||
labelList(1, -1)
|
labelList(1, label(-1))
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -3053,7 +3053,7 @@ const changeMap dynamicTopoFvMesh::insertCells(const label mIndex)
|
||||||
// - Set an invalid number so that
|
// - Set an invalid number so that
|
||||||
// an entry is made in facesFromFaces,
|
// an entry is made in facesFromFaces,
|
||||||
// while faceParents is empty.
|
// while faceParents is empty.
|
||||||
setFaceMapping(fI(), labelList(1, -1));
|
setFaceMapping(fI(), labelList(1, label(-1)));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
@ -91,7 +91,7 @@ void dynamicTopoFvMesh::computeMapping
|
||||||
if (skipMapping)
|
if (skipMapping)
|
||||||
{
|
{
|
||||||
// Dummy map from cell[0]
|
// Dummy map from cell[0]
|
||||||
masterObjects = labelList(1, 0);
|
masterObjects = labelList(1, label(0));
|
||||||
cellWeights_[cellI].setSize(1, 1.0);
|
cellWeights_[cellI].setSize(1, 1.0);
|
||||||
cellCentres_[cellI].setSize(1, vector::zero);
|
cellCentres_[cellI].setSize(1, vector::zero);
|
||||||
}
|
}
|
||||||
|
@ -248,7 +248,7 @@ void dynamicTopoFvMesh::computeMapping
|
||||||
{
|
{
|
||||||
// Set dummy masters, so that the conventional
|
// Set dummy masters, so that the conventional
|
||||||
// faceMapper doesn't crash-and-burn
|
// faceMapper doesn't crash-and-burn
|
||||||
masterObjects = labelList(1, 0);
|
masterObjects = labelList(1, label(0));
|
||||||
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@ -256,7 +256,7 @@ void dynamicTopoFvMesh::computeMapping
|
||||||
if (skipMapping)
|
if (skipMapping)
|
||||||
{
|
{
|
||||||
// Dummy map from patch[0]
|
// Dummy map from patch[0]
|
||||||
masterObjects = labelList(1, 0);
|
masterObjects = labelList(1, label(0));
|
||||||
faceWeights_[faceI].setSize(1, 1.0);
|
faceWeights_[faceI].setSize(1, 1.0);
|
||||||
faceCentres_[faceI].setSize(1, vector::zero);
|
faceCentres_[faceI].setSize(1, vector::zero);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1901,7 +1901,7 @@ void dynamicTopoFvMesh::threadedMeshReOrdering
|
||||||
reOrderPtr[3].set(0, &cellZoneMap);
|
reOrderPtr[3].set(0, &cellZoneMap);
|
||||||
|
|
||||||
// Set the thread scheduling sequence
|
// Set the thread scheduling sequence
|
||||||
labelList reOrderSeq(4, -1);
|
labelList reOrderSeq(4, label(-1));
|
||||||
|
|
||||||
// Points, cells, faces and edges (in that order)
|
// Points, cells, faces and edges (in that order)
|
||||||
reOrderSeq[0] = 0;
|
reOrderSeq[0] = 0;
|
||||||
|
|
|
@ -110,7 +110,7 @@ const changeMap dynamicTopoFvMesh::bisectQuadFace
|
||||||
bool found;
|
bool found;
|
||||||
label replaceFace = -1, retainFace = -1;
|
label replaceFace = -1, retainFace = -1;
|
||||||
face tmpQuadFace(4), tmpTriFace(3);
|
face tmpQuadFace(4), tmpTriFace(3);
|
||||||
labelList tmpQFEdges(4, -1), tmpTFEdges(3, -1);
|
labelList tmpQFEdges(4, label(-1)), tmpTFEdges(3, label(-1));
|
||||||
FixedList<label,7> newFaceIndex(-1), newEdgeIndex(-1);
|
FixedList<label,7> newFaceIndex(-1), newEdgeIndex(-1);
|
||||||
FixedList<edge,4> commonEdges(edge(-1, -1));
|
FixedList<edge,4> commonEdges(edge(-1, -1));
|
||||||
FixedList<label,4> cornerEdgeIndex(-1), commonEdgeIndex(-1);
|
FixedList<label,4> cornerEdgeIndex(-1), commonEdgeIndex(-1);
|
||||||
|
@ -455,7 +455,7 @@ const changeMap dynamicTopoFvMesh::bisectQuadFace
|
||||||
|
|
||||||
// Fill the masterMap with points that
|
// Fill the masterMap with points that
|
||||||
// we seek maps for...
|
// we seek maps for...
|
||||||
FixedList<labelList, 2> slaveEdges(labelList(2, -1));
|
FixedList<labelList, 2> slaveEdges(labelList(2, label(-1)));
|
||||||
|
|
||||||
forAll(slaveEdges, edgeI)
|
forAll(slaveEdges, edgeI)
|
||||||
{
|
{
|
||||||
|
@ -597,7 +597,7 @@ const changeMap dynamicTopoFvMesh::bisectQuadFace
|
||||||
// Write out VTK files prior to change
|
// Write out VTK files prior to change
|
||||||
if (debug > 3)
|
if (debug > 3)
|
||||||
{
|
{
|
||||||
labelList cellHull(2, -1);
|
labelList cellHull(2, label(-1));
|
||||||
|
|
||||||
cellHull[0] = owner_[fIndex];
|
cellHull[0] = owner_[fIndex];
|
||||||
cellHull[1] = neighbour_[fIndex];
|
cellHull[1] = neighbour_[fIndex];
|
||||||
|
@ -632,7 +632,7 @@ const changeMap dynamicTopoFvMesh::bisectQuadFace
|
||||||
otherEdgePoint[0] = commonEdges[0].otherVertex(nextToOtherPoint[0]);
|
otherEdgePoint[0] = commonEdges[0].otherVertex(nextToOtherPoint[0]);
|
||||||
otherEdgePoint[1] = commonEdges[1].otherVertex(nextToOtherPoint[1]);
|
otherEdgePoint[1] = commonEdges[1].otherVertex(nextToOtherPoint[1]);
|
||||||
|
|
||||||
labelList mP(2, -1);
|
labelList mP(2, label(-1));
|
||||||
|
|
||||||
// Set mapping for this point
|
// Set mapping for this point
|
||||||
mP[0] = commonEdges[0][0];
|
mP[0] = commonEdges[0][0];
|
||||||
|
@ -1000,7 +1000,7 @@ const changeMap dynamicTopoFvMesh::bisectQuadFace
|
||||||
);
|
);
|
||||||
|
|
||||||
// Create / modify edges...
|
// Create / modify edges...
|
||||||
labelList tmpTriEdgeFaces(3, -1);
|
labelList tmpTriEdgeFaces(3, label(-1));
|
||||||
|
|
||||||
// The edge bisecting the zeroth boundary triangular face
|
// The edge bisecting the zeroth boundary triangular face
|
||||||
tmpTriEdgeFaces[0] = c0BdyIndex[0];
|
tmpTriEdgeFaces[0] = c0BdyIndex[0];
|
||||||
|
@ -1125,7 +1125,7 @@ const changeMap dynamicTopoFvMesh::bisectQuadFace
|
||||||
newCells[0]
|
newCells[0]
|
||||||
);
|
);
|
||||||
|
|
||||||
labelList tmpBiEdgeFaces(2, -1);
|
labelList tmpBiEdgeFaces(2, label(-1));
|
||||||
|
|
||||||
// The edge bisecting the face
|
// The edge bisecting the face
|
||||||
tmpTriEdgeFaces[0] = newFaceIndex[3];
|
tmpTriEdgeFaces[0] = newFaceIndex[3];
|
||||||
|
@ -1636,7 +1636,7 @@ const changeMap dynamicTopoFvMesh::bisectQuadFace
|
||||||
);
|
);
|
||||||
|
|
||||||
// Create / modify edges...
|
// Create / modify edges...
|
||||||
labelList tmpQuadEdgeFaces(4, -1);
|
labelList tmpQuadEdgeFaces(4, label(-1));
|
||||||
|
|
||||||
// The internal edge bisecting the face
|
// The internal edge bisecting the face
|
||||||
tmpQuadEdgeFaces[0] = fIndex;
|
tmpQuadEdgeFaces[0] = fIndex;
|
||||||
|
@ -2197,7 +2197,7 @@ const changeMap dynamicTopoFvMesh::bisectQuadFace
|
||||||
// Write out VTK files after change
|
// Write out VTK files after change
|
||||||
if (debug > 3)
|
if (debug > 3)
|
||||||
{
|
{
|
||||||
labelList cellHull(4, -1);
|
labelList cellHull(4, label(-1));
|
||||||
|
|
||||||
cellHull[0] = owner_[fIndex];
|
cellHull[0] = owner_[fIndex];
|
||||||
cellHull[1] = neighbour_[fIndex];
|
cellHull[1] = neighbour_[fIndex];
|
||||||
|
@ -2838,9 +2838,9 @@ const changeMap dynamicTopoFvMesh::bisectEdge
|
||||||
// Hull variables
|
// Hull variables
|
||||||
face tmpTriFace(3);
|
face tmpTriFace(3);
|
||||||
edge origEdge(edges_[eIndex]);
|
edge origEdge(edges_[eIndex]);
|
||||||
labelList tmpEdgeFaces(3,-1);
|
labelList tmpEdgeFaces(3, label(-1));
|
||||||
labelList tmpIntEdgeFaces(4,-1);
|
labelList tmpIntEdgeFaces(4, label(-1));
|
||||||
labelList tmpFaceEdges(3,-1);
|
labelList tmpFaceEdges(3, label(-1));
|
||||||
|
|
||||||
// Build vertexHull for this edge
|
// Build vertexHull for this edge
|
||||||
labelList vertexHull;
|
labelList vertexHull;
|
||||||
|
@ -2848,9 +2848,9 @@ const changeMap dynamicTopoFvMesh::bisectEdge
|
||||||
|
|
||||||
// Size up the hull lists
|
// Size up the hull lists
|
||||||
label m = vertexHull.size();
|
label m = vertexHull.size();
|
||||||
labelList cellHull(m, -1);
|
labelList cellHull(m, label(-1));
|
||||||
labelList faceHull(m, -1);
|
labelList faceHull(m, label(-1));
|
||||||
labelList edgeHull(m, -1);
|
labelList edgeHull(m, label(-1));
|
||||||
labelListList ringEntities(4, labelList(m, -1));
|
labelListList ringEntities(4, labelList(m, -1));
|
||||||
|
|
||||||
// Construct a hull around this edge
|
// Construct a hull around this edge
|
||||||
|
@ -2917,7 +2917,7 @@ const changeMap dynamicTopoFvMesh::bisectEdge
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
labelList mP(2, -1);
|
labelList mP(2, label(-1));
|
||||||
|
|
||||||
// Set mapping for this point
|
// Set mapping for this point
|
||||||
mP[0] = edges_[eIndex][0];
|
mP[0] = edges_[eIndex][0];
|
||||||
|
@ -3108,7 +3108,7 @@ const changeMap dynamicTopoFvMesh::bisectEdge
|
||||||
tmpTriFace,
|
tmpTriFace,
|
||||||
addedCellIndices[indexI],
|
addedCellIndices[indexI],
|
||||||
-1,
|
-1,
|
||||||
labelList(3, -1)
|
labelList(3, label(-1))
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -3188,7 +3188,7 @@ const changeMap dynamicTopoFvMesh::bisectEdge
|
||||||
tmpTriFace,
|
tmpTriFace,
|
||||||
addedCellIndices[prevI],
|
addedCellIndices[prevI],
|
||||||
addedCellIndices[indexI],
|
addedCellIndices[indexI],
|
||||||
labelList(3, -1)
|
labelList(3, label(-1))
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -3278,7 +3278,7 @@ const changeMap dynamicTopoFvMesh::bisectEdge
|
||||||
tmpTriFace,
|
tmpTriFace,
|
||||||
addedCellIndices[0],
|
addedCellIndices[0],
|
||||||
addedCellIndices[indexI],
|
addedCellIndices[indexI],
|
||||||
labelList(3, -1)
|
labelList(3, label(-1))
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -3370,7 +3370,7 @@ const changeMap dynamicTopoFvMesh::bisectEdge
|
||||||
tmpTriFace,
|
tmpTriFace,
|
||||||
addedCellIndices[prevI],
|
addedCellIndices[prevI],
|
||||||
-1,
|
-1,
|
||||||
labelList(3, -1)
|
labelList(3, label(-1))
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -4941,7 +4941,7 @@ const changeMap dynamicTopoFvMesh::addCellLayer
|
||||||
addedCells.insert(cIndex, labelPair(newCellIndex, 0));
|
addedCells.insert(cIndex, labelPair(newCellIndex, 0));
|
||||||
}
|
}
|
||||||
|
|
||||||
labelList mP(2, -1);
|
labelList mP(2, label(-1));
|
||||||
|
|
||||||
forAll(patchFaces, indexI)
|
forAll(patchFaces, indexI)
|
||||||
{
|
{
|
||||||
|
@ -5211,7 +5211,7 @@ const changeMap dynamicTopoFvMesh::addCellLayer
|
||||||
}
|
}
|
||||||
|
|
||||||
// Configure faceEdges for the new vertical face
|
// Configure faceEdges for the new vertical face
|
||||||
labelList newVFaceEdges(4, -1);
|
labelList newVFaceEdges(4, label(-1));
|
||||||
|
|
||||||
newVFaceEdges[0] = beIndex;
|
newVFaceEdges[0] = beIndex;
|
||||||
newVFaceEdges[1] = newHEdgeIndex;
|
newVFaceEdges[1] = newHEdgeIndex;
|
||||||
|
|
|
@ -2471,7 +2471,7 @@ const changeMap dynamicTopoFvMesh::collapseQuadFace
|
||||||
}
|
}
|
||||||
|
|
||||||
// Ensure proper orientation for the two retained faces
|
// Ensure proper orientation for the two retained faces
|
||||||
FixedList<label,2> cellCheck(0);
|
FixedList<label,2> cellCheck(label(0));
|
||||||
|
|
||||||
if (owner_[faceToThrow[0]] == c0)
|
if (owner_[faceToThrow[0]] == c0)
|
||||||
{
|
{
|
||||||
|
@ -3142,7 +3142,7 @@ const changeMap dynamicTopoFvMesh::collapseQuadFace
|
||||||
}
|
}
|
||||||
|
|
||||||
// Fill-in candidate mapping information
|
// Fill-in candidate mapping information
|
||||||
labelList mC(2, -1);
|
labelList mC(2, label(-1));
|
||||||
mC[0] = c0, mC[1] = c1;
|
mC[0] = c0, mC[1] = c1;
|
||||||
|
|
||||||
// Now that all old / new cells possess correct connectivity,
|
// Now that all old / new cells possess correct connectivity,
|
||||||
|
@ -4781,7 +4781,10 @@ const changeMap dynamicTopoFvMesh::collapseEdge
|
||||||
|
|
||||||
// Check whether points of the edge lies on a boundary
|
// Check whether points of the edge lies on a boundary
|
||||||
const FixedList<bool,2> edgeBoundary = checkEdgeBoundary(eIndex);
|
const FixedList<bool,2> edgeBoundary = checkEdgeBoundary(eIndex);
|
||||||
FixedList<label, 2> nBoundCurves(0), nProcCurves(0), checkPoints(-1);
|
FixedList<label, 2>
|
||||||
|
nBoundCurves(label(0)),
|
||||||
|
nProcCurves(label(0)),
|
||||||
|
checkPoints(label(-1));
|
||||||
|
|
||||||
// Decide on collapseCase
|
// Decide on collapseCase
|
||||||
label collapseCase = -1;
|
label collapseCase = -1;
|
||||||
|
|
|
@ -717,7 +717,7 @@ const changeMap dynamicTopoFvMesh::swapQuadFace
|
||||||
// Write out VTK files before change
|
// Write out VTK files before change
|
||||||
if (debug > 3)
|
if (debug > 3)
|
||||||
{
|
{
|
||||||
labelList cellHull(2, -1);
|
labelList cellHull(2, label(-1));
|
||||||
|
|
||||||
cellHull[0] = c0;
|
cellHull[0] = c0;
|
||||||
cellHull[1] = c1;
|
cellHull[1] = c1;
|
||||||
|
@ -1041,7 +1041,7 @@ const changeMap dynamicTopoFvMesh::swapQuadFace
|
||||||
edges_[commonEdgeIndex[1]] = newEdges[1];
|
edges_[commonEdgeIndex[1]] = newEdges[1];
|
||||||
|
|
||||||
// Fill-in mapping information
|
// Fill-in mapping information
|
||||||
labelList mC(2, -1);
|
labelList mC(2, label(-1));
|
||||||
mC[0] = c0; mC[1] = c1;
|
mC[0] = c0; mC[1] = c1;
|
||||||
|
|
||||||
forAll(mC, cellI)
|
forAll(mC, cellI)
|
||||||
|
@ -1056,7 +1056,7 @@ const changeMap dynamicTopoFvMesh::swapQuadFace
|
||||||
// Write out VTK files after change
|
// Write out VTK files after change
|
||||||
if (debug > 3)
|
if (debug > 3)
|
||||||
{
|
{
|
||||||
labelList cellHull(2, -1);
|
labelList cellHull(2, label(-1));
|
||||||
|
|
||||||
cellHull[0] = c0;
|
cellHull[0] = c0;
|
||||||
cellHull[1] = c1;
|
cellHull[1] = c1;
|
||||||
|
@ -3080,7 +3080,7 @@ const changeMap dynamicTopoFvMesh::swap32
|
||||||
newTriFace,
|
newTriFace,
|
||||||
newCellIndex[0],
|
newCellIndex[0],
|
||||||
newCellIndex[1],
|
newCellIndex[1],
|
||||||
labelList(3, -1)
|
labelList(3, label(-1))
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -3099,8 +3099,8 @@ const changeMap dynamicTopoFvMesh::swap32
|
||||||
|
|
||||||
// For 2-2 swaps, two faces are introduced
|
// For 2-2 swaps, two faces are introduced
|
||||||
label nE = 0, nBf = 0;
|
label nE = 0, nBf = 0;
|
||||||
FixedList<label,2> nBE(0);
|
FixedList<label,2> nBE(label(0));
|
||||||
FixedList<labelList,2> bdyFaceEdges(labelList(3, -1));
|
FixedList<labelList,2> bdyFaceEdges(labelList(3, label(-1)));
|
||||||
|
|
||||||
// Fill-in information for the two new cells,
|
// Fill-in information for the two new cells,
|
||||||
// and correct info on existing neighbouring cells
|
// and correct info on existing neighbouring cells
|
||||||
|
@ -3111,14 +3111,14 @@ const changeMap dynamicTopoFvMesh::swap32
|
||||||
// For a 2-2 swap on a boundary edge,
|
// For a 2-2 swap on a boundary edge,
|
||||||
// add two boundary faces and an edge
|
// add two boundary faces and an edge
|
||||||
label newEdgeIndex = -1;
|
label newEdgeIndex = -1;
|
||||||
labelList oldBdyFaceIndex(2, -1), newBdyFaceIndex(2, -1);
|
labelList oldBdyFaceIndex(2, label(-1)), newBdyFaceIndex(2, label(-1));
|
||||||
|
|
||||||
if (edgePatch > -1)
|
if (edgePatch > -1)
|
||||||
{
|
{
|
||||||
// Temporary local variables
|
// Temporary local variables
|
||||||
label facePatch = -1;
|
label facePatch = -1;
|
||||||
edge newEdge(-1, -1);
|
edge newEdge(-1, -1);
|
||||||
FixedList<label,2> nBEdge(0);
|
FixedList<label,2> nBEdge(label(0));
|
||||||
FixedList<FixedList<label,2>,2> bdyEdges;
|
FixedList<FixedList<label,2>,2> bdyEdges;
|
||||||
FixedList<face,2> newBdyTriFace(face(3));
|
FixedList<face,2> newBdyTriFace(face(3));
|
||||||
|
|
||||||
|
@ -3204,7 +3204,7 @@ const changeMap dynamicTopoFvMesh::swap32
|
||||||
newBdyTriFace[0],
|
newBdyTriFace[0],
|
||||||
newCellIndex[1],
|
newCellIndex[1],
|
||||||
-1,
|
-1,
|
||||||
labelList(3, -1)
|
labelList(3, label(-1))
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -3220,7 +3220,7 @@ const changeMap dynamicTopoFvMesh::swap32
|
||||||
newBdyTriFace[1],
|
newBdyTriFace[1],
|
||||||
newCellIndex[0],
|
newCellIndex[0],
|
||||||
-1,
|
-1,
|
||||||
labelList(3, -1)
|
labelList(3, label(-1))
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -3232,7 +3232,7 @@ const changeMap dynamicTopoFvMesh::swap32
|
||||||
newTetCell[1][nF1++] = newBdyFaceIndex[0];
|
newTetCell[1][nF1++] = newBdyFaceIndex[0];
|
||||||
|
|
||||||
// Add an edgeFaces entry
|
// Add an edgeFaces entry
|
||||||
labelList newBdyEdgeFaces(3, -1);
|
labelList newBdyEdgeFaces(3, label(-1));
|
||||||
newBdyEdgeFaces[0] = newBdyFaceIndex[0];
|
newBdyEdgeFaces[0] = newBdyFaceIndex[0];
|
||||||
newBdyEdgeFaces[1] = newFaceIndex;
|
newBdyEdgeFaces[1] = newFaceIndex;
|
||||||
newBdyEdgeFaces[2] = newBdyFaceIndex[1];
|
newBdyEdgeFaces[2] = newBdyFaceIndex[1];
|
||||||
|
|
|
@ -362,7 +362,7 @@ void topoPatchMapper::calcAddressing() const
|
||||||
if (isA<processorPolyPatch>(patch_.patch()))
|
if (isA<processorPolyPatch>(patch_.patch()))
|
||||||
{
|
{
|
||||||
// Artificially map from face[0] of this patch.
|
// Artificially map from face[0] of this patch.
|
||||||
addr[faceI] = labelList(1, 0);
|
addr[faceI] = labelList(1, label(0));
|
||||||
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1248,7 +1248,7 @@ void mesquiteMotionSolver::initArrays()
|
||||||
label nCellPoints = 0, nFacePoints = 0;
|
label nCellPoints = 0, nFacePoints = 0;
|
||||||
|
|
||||||
// Construct shape recognizers
|
// Construct shape recognizers
|
||||||
FixedList<label, 4> nTypes(0);
|
FixedList<label, 4> nTypes(label(0));
|
||||||
FixedList<autoPtr<cellMatcher>, 4> matcher;
|
FixedList<autoPtr<cellMatcher>, 4> matcher;
|
||||||
FixedList<Mesquite::EntityTopology, 4> cellType;
|
FixedList<Mesquite::EntityTopology, 4> cellType;
|
||||||
|
|
||||||
|
@ -2513,7 +2513,7 @@ void mesquiteMotionSolver::initMesquiteParallelArrays()
|
||||||
nSharedPoints[pI] = nProcPoints;
|
nSharedPoints[pI] = nProcPoints;
|
||||||
|
|
||||||
// Initialize type sizes
|
// Initialize type sizes
|
||||||
FixedList<label, 4> nTypes(0);
|
FixedList<label, 4> nTypes(label(0));
|
||||||
|
|
||||||
// Set an initial capacity for cell types
|
// Set an initial capacity for cell types
|
||||||
myTypes[pI].setCapacity(50);
|
myTypes[pI].setCapacity(50);
|
||||||
|
|
|
@ -521,7 +521,7 @@ Foam::faMesh::faMesh
|
||||||
{
|
{
|
||||||
label curMeshEdge = meshEdges[edgeI];
|
label curMeshEdge = meshEdges[edgeI];
|
||||||
|
|
||||||
labelList curEdgePatchIDs(2, -1);
|
labelList curEdgePatchIDs(2, label(-1));
|
||||||
|
|
||||||
label patchI = -1;
|
label patchI = -1;
|
||||||
|
|
||||||
|
@ -1054,13 +1054,13 @@ void Foam::faMesh::addFaPatches(const List<faPatch*>& p)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
Foam::label Foam::faMesh::comm() const
|
int Foam::faMesh::comm() const
|
||||||
{
|
{
|
||||||
return comm_;
|
return comm_;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
Foam::label& Foam::faMesh::comm()
|
int& Foam::faMesh::comm()
|
||||||
{
|
{
|
||||||
return comm_;
|
return comm_;
|
||||||
}
|
}
|
||||||
|
|
|
@ -116,7 +116,7 @@ class faMesh
|
||||||
// Communication support
|
// Communication support
|
||||||
|
|
||||||
//- Communicator used for parallel communication
|
//- Communicator used for parallel communication
|
||||||
label comm_;
|
int comm_;
|
||||||
|
|
||||||
|
|
||||||
// Demand-driven data
|
// Demand-driven data
|
||||||
|
@ -380,10 +380,10 @@ public:
|
||||||
// Communication support
|
// Communication support
|
||||||
|
|
||||||
//- Return communicator used for parallel communication
|
//- Return communicator used for parallel communication
|
||||||
label comm() const;
|
int comm() const;
|
||||||
|
|
||||||
//- Return communicator used for parallel communication
|
//- Return communicator used for parallel communication
|
||||||
label& comm();
|
int& comm();
|
||||||
|
|
||||||
|
|
||||||
// Access
|
// Access
|
||||||
|
|
|
@ -56,7 +56,7 @@ processorFaPatch::~processorFaPatch()
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
Foam::label Foam::processorFaPatch::comm() const
|
int Foam::processorFaPatch::comm() const
|
||||||
{
|
{
|
||||||
return boundaryMesh().mesh().comm();
|
return boundaryMesh().mesh().comm();
|
||||||
}
|
}
|
||||||
|
|
|
@ -211,7 +211,7 @@ public:
|
||||||
// Communications support
|
// Communications support
|
||||||
|
|
||||||
//- Return communicator used for communication
|
//- Return communicator used for communication
|
||||||
virtual label comm() const;
|
virtual int comm() const;
|
||||||
|
|
||||||
//- Return message tag to use for communication
|
//- Return message tag to use for communication
|
||||||
virtual int tag() const;
|
virtual int tag() const;
|
||||||
|
|
|
@ -94,7 +94,7 @@ void Foam::fvSurfaceMapper::calcAddressing() const
|
||||||
{
|
{
|
||||||
if (max(addr[faceI]) >= oldNInternal)
|
if (max(addr[faceI]) >= oldNInternal)
|
||||||
{
|
{
|
||||||
addr[faceI] = labelList(1, 0);
|
addr[faceI] = labelList(1, label(0));
|
||||||
w[faceI] = scalarList(1, 1.0);
|
w[faceI] = scalarList(1, 1.0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1279,7 +1279,7 @@ template <class Type>
|
||||||
void Foam::treeNode<Type>::writeOBJ
|
void Foam::treeNode<Type>::writeOBJ
|
||||||
(
|
(
|
||||||
Ostream& os,
|
Ostream& os,
|
||||||
const label level,
|
const int level,
|
||||||
label& vertNo
|
label& vertNo
|
||||||
) const
|
) const
|
||||||
{
|
{
|
||||||
|
|
|
@ -278,7 +278,7 @@ public:
|
||||||
// Updates: start
|
// Updates: start
|
||||||
const treeLeaf<Type>* findLeafLine
|
const treeLeaf<Type>* findLeafLine
|
||||||
(
|
(
|
||||||
const label level,
|
const int level,
|
||||||
const Type& shapes,
|
const Type& shapes,
|
||||||
point& start,
|
point& start,
|
||||||
const point& end
|
const point& end
|
||||||
|
@ -314,7 +314,7 @@ public:
|
||||||
void writeOBJ
|
void writeOBJ
|
||||||
(
|
(
|
||||||
Ostream& os,
|
Ostream& os,
|
||||||
const label level,
|
const int level,
|
||||||
label& vertNo
|
label& vertNo
|
||||||
) const;
|
) const;
|
||||||
|
|
||||||
|
|
|
@ -157,7 +157,7 @@ Foam::label Foam::IPstream::read
|
||||||
|
|
||||||
// Check size of message read
|
// Check size of message read
|
||||||
|
|
||||||
label messageSize;
|
int messageSize;
|
||||||
MPI_Get_count(&status, MPI_BYTE, &messageSize);
|
MPI_Get_count(&status, MPI_BYTE, &messageSize);
|
||||||
|
|
||||||
if (messageSize > bufSize)
|
if (messageSize > bufSize)
|
||||||
|
|
|
@ -65,7 +65,7 @@ class IPstream
|
||||||
const label comm_;
|
const label comm_;
|
||||||
|
|
||||||
//- Message size
|
//- Message size
|
||||||
label messageSize_;
|
int messageSize_;
|
||||||
|
|
||||||
|
|
||||||
// Private member functions
|
// Private member functions
|
||||||
|
|
|
@ -311,7 +311,12 @@ void Foam::Pstream::allocatePstreamCommunicator
|
||||||
// Set the number of processes to the actual number
|
// Set the number of processes to the actual number
|
||||||
int numProcs;
|
int numProcs;
|
||||||
MPI_Comm_size(PstreamGlobals::MPICommunicators_[index], &numProcs);
|
MPI_Comm_size(PstreamGlobals::MPICommunicators_[index], &numProcs);
|
||||||
procIDs_[index] = identity(numProcs);
|
//procIDs_[index] = identity(numProcs);
|
||||||
|
procIDs_[index].setSize(numProcs);
|
||||||
|
forAll(procIDs_[index], i)
|
||||||
|
{
|
||||||
|
procIDs_[index][i] = i;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -905,7 +910,7 @@ Foam::Pstream::treeCommunication_(10);
|
||||||
|
|
||||||
// Allocate a serial communicator. This gets overwritten in parallel mode
|
// Allocate a serial communicator. This gets overwritten in parallel mode
|
||||||
// (by Pstream::setParRun())
|
// (by Pstream::setParRun())
|
||||||
Foam::Pstream::communicator serialComm(-1, Foam::labelList(1, 0), false);
|
Foam::Pstream::communicator serialComm(-1, Foam::labelList(1, Foam::label(0)), false);
|
||||||
|
|
||||||
// Number of processors at which the reduce algorithm changes from linear to
|
// Number of processors at which the reduce algorithm changes from linear to
|
||||||
// tree
|
// tree
|
||||||
|
|
|
@ -46,11 +46,17 @@ Foam::List<T> Foam::transform
|
||||||
|
|
||||||
|
|
||||||
template <class T>
|
template <class T>
|
||||||
void Foam::transformList
|
void Foam::transformList(const tensor& rotTensor, UList<T>& field)
|
||||||
(
|
{
|
||||||
const tensorField& rotTensor,
|
forAll(field, i)
|
||||||
UList<T>& field
|
{
|
||||||
)
|
field[i] = transform(rotTensor, field[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
template <class T>
|
||||||
|
void Foam::transformList(const tensorField& rotTensor, UList<T>& field)
|
||||||
{
|
{
|
||||||
if (rotTensor.size() == 1)
|
if (rotTensor.size() == 1)
|
||||||
{
|
{
|
||||||
|
@ -79,11 +85,17 @@ void Foam::transformList
|
||||||
|
|
||||||
|
|
||||||
template <class T>
|
template <class T>
|
||||||
void Foam::transformList
|
void Foam::transformList(const tensor& rotTensor, Map<T>& field)
|
||||||
(
|
{
|
||||||
const tensorField& rotTensor,
|
forAllIter(typename Map<T>, field, iter)
|
||||||
Map<T>& field
|
{
|
||||||
)
|
iter() = transform(rotTensor[0], iter());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
template <class T>
|
||||||
|
void Foam::transformList(const tensorField& rotTensor, Map<T>& field)
|
||||||
{
|
{
|
||||||
if (rotTensor.size() == 1)
|
if (rotTensor.size() == 1)
|
||||||
{
|
{
|
||||||
|
@ -105,11 +117,17 @@ void Foam::transformList
|
||||||
|
|
||||||
|
|
||||||
template <class T>
|
template <class T>
|
||||||
void Foam::transformList
|
void Foam::transformList(const tensor& rotTensor, EdgeMap<T>& field)
|
||||||
(
|
{
|
||||||
const tensorField& rotTensor,
|
forAllIter(typename EdgeMap<T>, field, iter)
|
||||||
EdgeMap<T>& field
|
{
|
||||||
)
|
iter() = transform(rotTensor[0], iter());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
template <class T>
|
||||||
|
void Foam::transformList(const tensorField& rotTensor, EdgeMap<T>& field)
|
||||||
{
|
{
|
||||||
if (rotTensor.size() == 1)
|
if (rotTensor.size() == 1)
|
||||||
{
|
{
|
||||||
|
|
|
@ -60,33 +60,80 @@ List<T> transform
|
||||||
//- Apply transformation to list. Either single transformation tensor
|
//- Apply transformation to list. Either single transformation tensor
|
||||||
// or one tensor per element.
|
// or one tensor per element.
|
||||||
template<class T>
|
template<class T>
|
||||||
|
void transformList(const tensor&, UList<T>&);
|
||||||
|
template<class T>
|
||||||
void transformList(const tensorField&, UList<T>&);
|
void transformList(const tensorField&, UList<T>&);
|
||||||
|
|
||||||
|
template<class T>
|
||||||
|
void transformList(const tensor&, Map<T>&);
|
||||||
template<class T>
|
template<class T>
|
||||||
void transformList(const tensorField&, Map<T>&);
|
void transformList(const tensorField&, Map<T>&);
|
||||||
|
|
||||||
|
template<class T>
|
||||||
|
void transformList(const tensor&, EdgeMap<T>&);
|
||||||
template<class T>
|
template<class T>
|
||||||
void transformList(const tensorField&, EdgeMap<T>&);
|
void transformList(const tensorField&, EdgeMap<T>&);
|
||||||
|
|
||||||
|
|
||||||
|
// Specialisations for bool
|
||||||
template<>
|
template<>
|
||||||
inline void transformList(const tensorField&, UList<label>&)
|
inline void transformList(const tensor&, UList<bool>&)
|
||||||
|
{}
|
||||||
|
template<>
|
||||||
|
inline void transformList(const tensorField&, UList<bool>&)
|
||||||
|
{}
|
||||||
|
template<>
|
||||||
|
inline void transformList(const tensor&, Map<bool>&)
|
||||||
|
{}
|
||||||
|
template<>
|
||||||
|
inline void transformList(const tensorField&, Map<bool>&)
|
||||||
|
{}
|
||||||
|
template<>
|
||||||
|
inline void transformList(const tensor&, EdgeMap<bool>&)
|
||||||
|
{}
|
||||||
|
template<>
|
||||||
|
inline void transformList(const tensorField&, EdgeMap<bool>&)
|
||||||
|
{}
|
||||||
|
|
||||||
|
|
||||||
|
// Specialisations for label
|
||||||
|
template<>
|
||||||
|
inline void transformList(const tensor&, labelUList&)
|
||||||
|
{}
|
||||||
|
template<>
|
||||||
|
inline void transformList(const tensorField&, labelUList&)
|
||||||
|
{}
|
||||||
|
template<>
|
||||||
|
inline void transformList(const tensor&, Map<label>&)
|
||||||
{}
|
{}
|
||||||
template<>
|
template<>
|
||||||
inline void transformList(const tensorField&, Map<label>&)
|
inline void transformList(const tensorField&, Map<label>&)
|
||||||
{}
|
{}
|
||||||
template<>
|
template<>
|
||||||
|
inline void transformList(const tensor&, EdgeMap<label>&)
|
||||||
|
{}
|
||||||
|
template<>
|
||||||
inline void transformList(const tensorField&, EdgeMap<label>&)
|
inline void transformList(const tensorField&, EdgeMap<label>&)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
|
||||||
|
// Specialisations for scalar
|
||||||
|
template<>
|
||||||
|
inline void transformList(const tensor&, UList<scalar>&)
|
||||||
|
{}
|
||||||
template<>
|
template<>
|
||||||
inline void transformList(const tensorField&, UList<scalar>&)
|
inline void transformList(const tensorField&, UList<scalar>&)
|
||||||
{}
|
{}
|
||||||
template<>
|
template<>
|
||||||
|
inline void transformList(const tensor&, Map<scalar>&)
|
||||||
|
{}
|
||||||
|
template<>
|
||||||
inline void transformList(const tensorField&, Map<scalar>&)
|
inline void transformList(const tensorField&, Map<scalar>&)
|
||||||
{}
|
{}
|
||||||
template<>
|
template<>
|
||||||
|
inline void transformList(const tensor&, EdgeMap<scalar>&)
|
||||||
|
{}
|
||||||
|
template<>
|
||||||
inline void transformList(const tensorField&, EdgeMap<scalar>&)
|
inline void transformList(const tensorField&, EdgeMap<scalar>&)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
|
|
@ -81,18 +81,18 @@ inline bool operator==
|
||||||
const debug::controlSwitches<T>& rhs
|
const debug::controlSwitches<T>& rhs
|
||||||
);
|
);
|
||||||
|
|
||||||
template<class T>
|
template<class T1, class T2>
|
||||||
inline bool operator==
|
inline bool operator==
|
||||||
(
|
(
|
||||||
const T& lhs,
|
const T1& lhs,
|
||||||
const debug::controlSwitches<T>& rhs
|
const debug::controlSwitches<T2>& rhs
|
||||||
);
|
);
|
||||||
|
|
||||||
template<class T>
|
template<class T1, class T2>
|
||||||
inline bool operator==
|
inline bool operator==
|
||||||
(
|
(
|
||||||
const debug::controlSwitches<T>& lhs,
|
const debug::controlSwitches<T1>& lhs,
|
||||||
const T& rhs
|
const T2& rhs
|
||||||
);
|
);
|
||||||
|
|
||||||
template<class T>
|
template<class T>
|
||||||
|
@ -102,18 +102,18 @@ inline bool operator!=
|
||||||
const debug::controlSwitches<T>& rhs
|
const debug::controlSwitches<T>& rhs
|
||||||
);
|
);
|
||||||
|
|
||||||
template<class T>
|
template<class T1, class T2>
|
||||||
inline bool operator!=
|
inline bool operator!=
|
||||||
(
|
(
|
||||||
const T& lhs,
|
const T1& lhs,
|
||||||
const debug::controlSwitches<T>& rhs
|
const debug::controlSwitches<T2>& rhs
|
||||||
);
|
);
|
||||||
|
|
||||||
template<class T>
|
template<class T1, class T2>
|
||||||
inline bool operator!=
|
inline bool operator!=
|
||||||
(
|
(
|
||||||
const debug::controlSwitches<T>& lhs,
|
const debug::controlSwitches<T1>& lhs,
|
||||||
const T& rhs
|
const T2& rhs
|
||||||
);
|
);
|
||||||
|
|
||||||
template<class T>
|
template<class T>
|
||||||
|
@ -123,18 +123,18 @@ inline bool operator>=
|
||||||
const debug::controlSwitches<T>& rhs
|
const debug::controlSwitches<T>& rhs
|
||||||
);
|
);
|
||||||
|
|
||||||
template<class T>
|
template<class T1, class T2>
|
||||||
inline bool operator>=
|
inline bool operator>=
|
||||||
(
|
(
|
||||||
const T& lhs,
|
const T1& lhs,
|
||||||
const debug::controlSwitches<T>& rhs
|
const debug::controlSwitches<T2>& rhs
|
||||||
);
|
);
|
||||||
|
|
||||||
template<class T>
|
template<class T1, class T2>
|
||||||
inline bool operator>=
|
inline bool operator>=
|
||||||
(
|
(
|
||||||
const debug::controlSwitches<T>& lhs,
|
const debug::controlSwitches<T1>& lhs,
|
||||||
const T& rhs
|
const T2& rhs
|
||||||
);
|
);
|
||||||
|
|
||||||
template<class T>
|
template<class T>
|
||||||
|
@ -144,18 +144,18 @@ inline bool operator>
|
||||||
const debug::controlSwitches<T>& rhs
|
const debug::controlSwitches<T>& rhs
|
||||||
);
|
);
|
||||||
|
|
||||||
template<class T>
|
template<class T1, class T2>
|
||||||
inline bool operator>
|
inline bool operator>
|
||||||
(
|
(
|
||||||
const T& lhs,
|
const T1& lhs,
|
||||||
const debug::controlSwitches<T>& rhs
|
const debug::controlSwitches<T2>& rhs
|
||||||
);
|
);
|
||||||
|
|
||||||
template<class T>
|
template<class T1, class T2>
|
||||||
inline bool operator>
|
inline bool operator>
|
||||||
(
|
(
|
||||||
const debug::controlSwitches<T>& lhs,
|
const debug::controlSwitches<T1>& lhs,
|
||||||
const T& rhs
|
const T2& rhs
|
||||||
);
|
);
|
||||||
|
|
||||||
template<class T>
|
template<class T>
|
||||||
|
@ -165,18 +165,18 @@ inline bool operator<=
|
||||||
const debug::controlSwitches<T>& rhs
|
const debug::controlSwitches<T>& rhs
|
||||||
);
|
);
|
||||||
|
|
||||||
template<class T>
|
template<class T1, class T2>
|
||||||
inline bool operator<=
|
inline bool operator<=
|
||||||
(
|
(
|
||||||
const T& lhs,
|
const T1& lhs,
|
||||||
const debug::controlSwitches<T>& rhs
|
const debug::controlSwitches<T2>& rhs
|
||||||
);
|
);
|
||||||
|
|
||||||
template<class T>
|
template<class T1, class T2>
|
||||||
inline bool operator<=
|
inline bool operator<=
|
||||||
(
|
(
|
||||||
const debug::controlSwitches<T>& lhs,
|
const debug::controlSwitches<T1>& lhs,
|
||||||
const T& rhs
|
const T2& rhs
|
||||||
);
|
);
|
||||||
|
|
||||||
template<class T>
|
template<class T>
|
||||||
|
@ -186,11 +186,11 @@ inline bool operator<
|
||||||
const debug::controlSwitches<T>& rhs
|
const debug::controlSwitches<T>& rhs
|
||||||
);
|
);
|
||||||
|
|
||||||
template<class T>
|
template<class T1, class T2>
|
||||||
inline bool operator<
|
inline bool operator<
|
||||||
(
|
(
|
||||||
const T& lhs,
|
const T1& lhs,
|
||||||
const debug::controlSwitches<T>& rhs
|
const debug::controlSwitches<T2>& rhs
|
||||||
);
|
);
|
||||||
|
|
||||||
template<class T>
|
template<class T>
|
||||||
|
|
|
@ -41,33 +41,33 @@ inline const T Foam::debug::controlSwitches<T>::operator&(const T& rhs)
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * Global Operators * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * Global Operators * * * * * * * * * * * * * //
|
||||||
|
|
||||||
template<class T>
|
template<class T1, class T2>
|
||||||
inline bool Foam::operator==
|
inline bool Foam::operator==
|
||||||
(
|
(
|
||||||
const debug::controlSwitches<T>& lhs,
|
const debug::controlSwitches<T1>& lhs,
|
||||||
const debug::controlSwitches<T>& rhs
|
const debug::controlSwitches<T2>& rhs
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
return lhs() == rhs();
|
return lhs() == rhs();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
template<class T>
|
template<class T1, class T2>
|
||||||
inline bool Foam::operator==
|
inline bool Foam::operator==
|
||||||
(
|
(
|
||||||
const T& lhs,
|
const T1& lhs,
|
||||||
const debug::controlSwitches<T>& rhs
|
const debug::controlSwitches<T2>& rhs
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
return lhs == rhs();
|
return lhs == rhs();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
template<class T>
|
template<class T1, class T2>
|
||||||
inline bool Foam::operator==
|
inline bool Foam::operator==
|
||||||
(
|
(
|
||||||
const debug::controlSwitches<T>& lhs,
|
const debug::controlSwitches<T1>& lhs,
|
||||||
const T& rhs
|
const T2& rhs
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
return lhs() == rhs;
|
return lhs() == rhs;
|
||||||
|
@ -85,22 +85,22 @@ inline bool Foam::operator!=
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
template<class T>
|
template<class T1, class T2>
|
||||||
inline bool Foam::operator!=
|
inline bool Foam::operator!=
|
||||||
(
|
(
|
||||||
const T& lhs,
|
const T1& lhs,
|
||||||
const debug::controlSwitches<T>& rhs
|
const debug::controlSwitches<T2>& rhs
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
return lhs != rhs();
|
return lhs != rhs();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
template<class T>
|
template<class T1, class T2>
|
||||||
inline bool Foam::operator!=
|
inline bool Foam::operator!=
|
||||||
(
|
(
|
||||||
const debug::controlSwitches<T>& lhs,
|
const debug::controlSwitches<T1>& lhs,
|
||||||
const T& rhs
|
const T2& rhs
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
return lhs() != rhs;
|
return lhs() != rhs;
|
||||||
|
@ -118,22 +118,22 @@ inline bool Foam::operator>=
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
template<class T>
|
template<class T1, class T2>
|
||||||
inline bool Foam::operator>=
|
inline bool Foam::operator>=
|
||||||
(
|
(
|
||||||
const T& lhs,
|
const T1& lhs,
|
||||||
const debug::controlSwitches<T>& rhs
|
const debug::controlSwitches<T2>& rhs
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
return lhs >= rhs();
|
return lhs >= rhs();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
template<class T>
|
template<class T1, class T2>
|
||||||
inline bool Foam::operator>=
|
inline bool Foam::operator>=
|
||||||
(
|
(
|
||||||
const debug::controlSwitches<T>& lhs,
|
const debug::controlSwitches<T1>& lhs,
|
||||||
const T& rhs
|
const T2& rhs
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
return lhs() >= rhs;
|
return lhs() >= rhs;
|
||||||
|
@ -151,22 +151,22 @@ inline bool Foam::operator>
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
template<class T>
|
template<class T1, class T2>
|
||||||
inline bool Foam::operator>
|
inline bool Foam::operator>
|
||||||
(
|
(
|
||||||
const T& lhs,
|
const T1& lhs,
|
||||||
const debug::controlSwitches<T>& rhs
|
const debug::controlSwitches<T2>& rhs
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
return lhs > rhs();
|
return lhs > rhs();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
template<class T>
|
template<class T1, class T2>
|
||||||
inline bool Foam::operator>
|
inline bool Foam::operator>
|
||||||
(
|
(
|
||||||
const debug::controlSwitches<T>& lhs,
|
const debug::controlSwitches<T1>& lhs,
|
||||||
const T& rhs
|
const T2& rhs
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
return lhs() > rhs;
|
return lhs() > rhs;
|
||||||
|
@ -184,22 +184,22 @@ inline bool Foam::operator<=
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
template<class T>
|
template<class T1, class T2>
|
||||||
inline bool Foam::operator<=
|
inline bool Foam::operator<=
|
||||||
(
|
(
|
||||||
const T& lhs,
|
const T1& lhs,
|
||||||
const debug::controlSwitches<T>& rhs
|
const debug::controlSwitches<T2>& rhs
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
return lhs <= rhs();
|
return lhs <= rhs();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
template<class T>
|
template<class T1, class T2>
|
||||||
inline bool Foam::operator<=
|
inline bool Foam::operator<=
|
||||||
(
|
(
|
||||||
const debug::controlSwitches<T>& lhs,
|
const debug::controlSwitches<T1>& lhs,
|
||||||
const T& rhs
|
const T2& rhs
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
return lhs() <= rhs;
|
return lhs() <= rhs;
|
||||||
|
@ -217,22 +217,22 @@ inline bool Foam::operator<
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
template<class T>
|
template<class T1, class T2>
|
||||||
inline bool Foam::operator<
|
inline bool Foam::operator<
|
||||||
(
|
(
|
||||||
const T& lhs,
|
const T1& lhs,
|
||||||
const debug::controlSwitches<T>& rhs
|
const debug::controlSwitches<T2>& rhs
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
return lhs < rhs();
|
return lhs < rhs();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
template<class T>
|
template<class T1, class T2>
|
||||||
inline bool Foam::operator<
|
inline bool Foam::operator<
|
||||||
(
|
(
|
||||||
const debug::controlSwitches<T>& lhs,
|
const debug::controlSwitches<T1>& lhs,
|
||||||
const T& rhs
|
const T2& rhs
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
return lhs() < rhs;
|
return lhs() < rhs;
|
||||||
|
|
|
@ -130,7 +130,7 @@ void Foam::BlockLduMatrix<Type>::updateInterfaces
|
||||||
// Try and consume interfaces as they become available
|
// Try and consume interfaces as they become available
|
||||||
bool allUpdated = false;
|
bool allUpdated = false;
|
||||||
|
|
||||||
for (label i = 0; i < Pstream::nPollProcInterfaces; i++)
|
for (int i = 0; i < Pstream::nPollProcInterfaces; i++)
|
||||||
{
|
{
|
||||||
allUpdated = true;
|
allUpdated = true;
|
||||||
|
|
||||||
|
|
|
@ -59,7 +59,7 @@ Foam::autoPtr<Foam::crMatrix> Foam::lduInterface::prolongationTransfer
|
||||||
);
|
);
|
||||||
|
|
||||||
// Dummy return to make the compiler happy
|
// Dummy return to make the compiler happy
|
||||||
return autoPtr<crMatrix>(new crMatrix(1, 1, labelList(1, 0)));
|
return autoPtr<crMatrix>(NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -70,7 +70,7 @@ class lduPrimitiveMesh
|
||||||
lduSchedule patchSchedule_;
|
lduSchedule patchSchedule_;
|
||||||
|
|
||||||
//- Communicator to use for parallel communication
|
//- Communicator to use for parallel communication
|
||||||
const label comm_;
|
const int comm_;
|
||||||
|
|
||||||
|
|
||||||
// Private Member Functions
|
// Private Member Functions
|
||||||
|
@ -93,7 +93,7 @@ public:
|
||||||
const label nCells,
|
const label nCells,
|
||||||
const unallocLabelList& l,
|
const unallocLabelList& l,
|
||||||
const unallocLabelList& u,
|
const unallocLabelList& u,
|
||||||
const label comm
|
const int comm
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
lduAddressing(nCells),
|
lduAddressing(nCells),
|
||||||
|
@ -109,7 +109,7 @@ public:
|
||||||
const label nCells,
|
const label nCells,
|
||||||
labelList& l,
|
labelList& l,
|
||||||
labelList& u,
|
labelList& u,
|
||||||
const label comm,
|
const int comm,
|
||||||
bool reUse
|
bool reUse
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
|
@ -203,7 +203,7 @@ public:
|
||||||
}
|
}
|
||||||
|
|
||||||
//- Return communicator used for parallel communication
|
//- Return communicator used for parallel communication
|
||||||
virtual label comm() const
|
virtual int comm() const
|
||||||
{
|
{
|
||||||
return comm_;
|
return comm_;
|
||||||
}
|
}
|
||||||
|
|
|
@ -88,7 +88,7 @@ void Foam::pointPatchMapper::calcAddressing() const
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// Inserted point. Map from point0 (arbitrary choice)
|
// Inserted point. Map from point0 (arbitrary choice)
|
||||||
addr[i] = labelList(1, 0);
|
addr[i] = labelList(1, label(0));
|
||||||
w[i] = scalarList(1, 1.0);
|
w[i] = scalarList(1, 1.0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -202,7 +202,7 @@ void Foam::cellMapper::calcAddressing() const
|
||||||
if (addr[cellI].empty())
|
if (addr[cellI].empty())
|
||||||
{
|
{
|
||||||
// Mapped from a dummy cell
|
// Mapped from a dummy cell
|
||||||
addr[cellI] = labelList(1, 0);
|
addr[cellI] = labelList(1, label(0));
|
||||||
w[cellI] = scalarList(1, 1.0);
|
w[cellI] = scalarList(1, 1.0);
|
||||||
|
|
||||||
insertedCells[nInsertedCells] = cellI;
|
insertedCells[nInsertedCells] = cellI;
|
||||||
|
|
|
@ -177,7 +177,7 @@ void Foam::faceMapper::calcAddressing() const
|
||||||
if (addr[faceI].empty())
|
if (addr[faceI].empty())
|
||||||
{
|
{
|
||||||
// Mapped from a dummy face
|
// Mapped from a dummy face
|
||||||
addr[faceI] = labelList(1, 0);
|
addr[faceI] = labelList(1, label(0));
|
||||||
w[faceI] = scalarList(1, 1.0);
|
w[faceI] = scalarList(1, 1.0);
|
||||||
|
|
||||||
insertedFaces[nInsertedFaces] = faceI;
|
insertedFaces[nInsertedFaces] = faceI;
|
||||||
|
|
|
@ -138,7 +138,7 @@ void Foam::pointMapper::calcAddressing() const
|
||||||
if (addr[pointI].size() == 0)
|
if (addr[pointI].size() == 0)
|
||||||
{
|
{
|
||||||
// Mapped from a dummy point. Take point 0 with weight 1.
|
// Mapped from a dummy point. Take point 0 with weight 1.
|
||||||
addr[pointI] = labelList(1, 0);
|
addr[pointI] = labelList(1, label(0));
|
||||||
w[pointI] = scalarList(1, 1.0);
|
w[pointI] = scalarList(1, 1.0);
|
||||||
|
|
||||||
insertedPoints[nInsertedPoints] = pointI;
|
insertedPoints[nInsertedPoints] = pointI;
|
||||||
|
|
|
@ -823,7 +823,7 @@ inline Cmpt det(const TensorN<Cmpt, length>& t)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Handle +/- sign switch
|
// Handle +/- sign switch
|
||||||
result += pow(-1, i)*t(i, 0)*det(subMatrix);
|
result += pow(label(-1), i)*t(i, 0)*det(subMatrix);
|
||||||
}
|
}
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
|
|
|
@ -70,6 +70,12 @@ inline tmp<tensorField> rotationTensor
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
inline label transform(const tensor&, const bool i)
|
||||||
|
{
|
||||||
|
return i;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
inline label transform(const tensor&, const label i)
|
inline label transform(const tensor&, const label i)
|
||||||
{
|
{
|
||||||
return i;
|
return i;
|
||||||
|
|
|
@ -106,7 +106,7 @@ makeCompactCellFaceAddressingAndFaceWeights
|
||||||
|
|
||||||
Foam::tmp<Foam::labelField> Foam::MGridGenGAMGAgglomeration::agglomerate
|
Foam::tmp<Foam::labelField> Foam::MGridGenGAMGAgglomeration::agglomerate
|
||||||
(
|
(
|
||||||
label& nCoarseCells,
|
int& nCoarseCells,
|
||||||
const label minSize,
|
const label minSize,
|
||||||
const label maxSize,
|
const label maxSize,
|
||||||
const lduAddressing& fineAddressing,
|
const lduAddressing& fineAddressing,
|
||||||
|
@ -135,7 +135,7 @@ Foam::tmp<Foam::labelField> Foam::MGridGenGAMGAgglomeration::agglomerate
|
||||||
);
|
);
|
||||||
|
|
||||||
// MGridGen agglomeration options.
|
// MGridGen agglomeration options.
|
||||||
labelList options(4, 0);
|
List<int> options(4);
|
||||||
options[0] = 4; // globular agglom
|
options[0] = 4; // globular agglom
|
||||||
options[1] = 6; // objective F3 and F2
|
options[1] = 6; // objective F3 and F2
|
||||||
options[2] = 128; // debugging output level
|
options[2] = 128; // debugging output level
|
||||||
|
@ -143,7 +143,7 @@ Foam::tmp<Foam::labelField> Foam::MGridGenGAMGAgglomeration::agglomerate
|
||||||
|
|
||||||
|
|
||||||
// output: cell -> processor addressing
|
// output: cell -> processor addressing
|
||||||
List<int> finalAgglom(nFineCells);
|
List<label> finalAgglom(nFineCells);
|
||||||
int nMoves = -1;
|
int nMoves = -1;
|
||||||
|
|
||||||
# ifdef WM_DP
|
# ifdef WM_DP
|
||||||
|
|
|
@ -95,7 +95,7 @@ Foam::MGridGenGAMGAgglomeration::MGridGenGAMGAgglomeration
|
||||||
|
|
||||||
while (nCreatedLevels < maxLevels_ - 1)
|
while (nCreatedLevels < maxLevels_ - 1)
|
||||||
{
|
{
|
||||||
label nCoarseCells = -1;
|
int nCoarseCells = -1;
|
||||||
|
|
||||||
tmp<labelField> finalAgglomPtr = agglomerate
|
tmp<labelField> finalAgglomPtr = agglomerate
|
||||||
(
|
(
|
||||||
|
|
|
@ -74,7 +74,7 @@ class MGridGenGAMGAgglomeration
|
||||||
//- Calculate and return agglomeration
|
//- Calculate and return agglomeration
|
||||||
tmp<labelField> agglomerate
|
tmp<labelField> agglomerate
|
||||||
(
|
(
|
||||||
label& nCoarseCells,
|
int& nCoarseCells,
|
||||||
const label minSize,
|
const label minSize,
|
||||||
const label maxSize,
|
const label maxSize,
|
||||||
const lduAddressing& fineAddressing,
|
const lduAddressing& fineAddressing,
|
||||||
|
|
|
@ -128,7 +128,7 @@ void Foam::DsmcCloud<ParcelType>::initialise
|
||||||
// record the vertex labels of each.
|
// record the vertex labels of each.
|
||||||
scalarList cTetVFracs(nTets, 0.0);
|
scalarList cTetVFracs(nTets, 0.0);
|
||||||
|
|
||||||
List<labelList> tetPtIs(nTets, labelList(3,-1));
|
List<labelList> tetPtIs(nTets, labelList(3, label(-1)));
|
||||||
|
|
||||||
// Keep track of which tet this is.
|
// Keep track of which tet this is.
|
||||||
label tet = 0;
|
label tet = 0;
|
||||||
|
|
|
@ -1799,7 +1799,7 @@ void Foam::autoLayerDriver::getPatchDisplacement
|
||||||
meshPoints,
|
meshPoints,
|
||||||
nPointFaces,
|
nPointFaces,
|
||||||
plusEqOp<label>(),
|
plusEqOp<label>(),
|
||||||
0, // null value
|
label(0), // null value
|
||||||
false // no separation
|
false // no separation
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -2292,7 +2292,7 @@ void Foam::autoLayerDriver::setupLayerInfoTruncation
|
||||||
pp.meshPoints(),
|
pp.meshPoints(),
|
||||||
nPatchPointLayers,
|
nPatchPointLayers,
|
||||||
maxEqOp<label>(),
|
maxEqOp<label>(),
|
||||||
0, // null value
|
label(0), // null value
|
||||||
false // no separation
|
false // no separation
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -589,7 +589,7 @@ void Foam::autoLayerDriver::findIsolatedRegions
|
||||||
pp.meshPoints(),
|
pp.meshPoints(),
|
||||||
isolatedPoint,
|
isolatedPoint,
|
||||||
plusEqOp<label>(),
|
plusEqOp<label>(),
|
||||||
0, // null value
|
label(0), // null value
|
||||||
false // no separation
|
false // no separation
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -734,7 +734,7 @@ void Foam::autoLayerDriver::medialAxisSmoothingInfo
|
||||||
meshPoints,
|
meshPoints,
|
||||||
nPointFaces,
|
nPointFaces,
|
||||||
plusEqOp<label>(),
|
plusEqOp<label>(),
|
||||||
0, // null value
|
label(0), // null value
|
||||||
false // no separation
|
false // no separation
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
|
@ -290,7 +290,7 @@ Foam::pointField Foam::autoSnapDriver::smoothPatchDisplacement
|
||||||
pp.meshPoints(),
|
pp.meshPoints(),
|
||||||
nBoundary,
|
nBoundary,
|
||||||
plusEqOp<label>(), // combine op
|
plusEqOp<label>(), // combine op
|
||||||
0, // null value
|
label(0), // null value
|
||||||
false // no separation
|
false // no separation
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -385,7 +385,7 @@ Foam::pointField Foam::autoSnapDriver::smoothPatchDisplacement
|
||||||
mesh,
|
mesh,
|
||||||
globalNum,
|
globalNum,
|
||||||
plusEqOp<label>(), // combine op
|
plusEqOp<label>(), // combine op
|
||||||
0, // null value
|
label(0), // null value
|
||||||
false // no separation
|
false // no separation
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
|
@ -1959,7 +1959,7 @@ void Foam::meshRefinement::updateMesh
|
||||||
);
|
);
|
||||||
|
|
||||||
// Update surfaceIndex
|
// Update surfaceIndex
|
||||||
updateList(map.faceMap(), -1, surfaceIndex_);
|
updateList(map.faceMap(), label(-1), surfaceIndex_);
|
||||||
|
|
||||||
// Update cached intersection information
|
// Update cached intersection information
|
||||||
updateIntersections(changedFaces);
|
updateIntersections(changedFaces);
|
||||||
|
@ -1972,7 +1972,7 @@ void Foam::meshRefinement::updateMesh
|
||||||
if (userFaceData_[i].first() == KEEPALL)
|
if (userFaceData_[i].first() == KEEPALL)
|
||||||
{
|
{
|
||||||
// extend list with face-from-face data
|
// extend list with face-from-face data
|
||||||
updateList(map.faceMap(), -1, data);
|
updateList(map.faceMap(), label(-1), data);
|
||||||
}
|
}
|
||||||
else if (userFaceData_[i].first() == MASTERONLY)
|
else if (userFaceData_[i].first() == MASTERONLY)
|
||||||
{
|
{
|
||||||
|
|
|
@ -687,7 +687,7 @@ Foam::List<Foam::labelPair> Foam::meshRefinement::filterDuplicateFaces
|
||||||
mesh_,
|
mesh_,
|
||||||
nBafflesPerEdge,
|
nBafflesPerEdge,
|
||||||
plusEqOp<label>(), // in-place add
|
plusEqOp<label>(), // in-place add
|
||||||
0, // initial value
|
label(0), // initial value
|
||||||
false // no separation
|
false // no separation
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -1830,7 +1830,7 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::splitMesh
|
||||||
mesh_,
|
mesh_,
|
||||||
pointBaffle,
|
pointBaffle,
|
||||||
maxEqOp<label>(),
|
maxEqOp<label>(),
|
||||||
-1, // null value
|
label(-1), // null value
|
||||||
false // no separation
|
false // no separation
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
|
@ -498,7 +498,7 @@ void extrudeLayer::createNewVertices()
|
||||||
|
|
||||||
DynList<label> edgeGroup;
|
DynList<label> edgeGroup;
|
||||||
edgeGroup.setSize(dEdges.size());
|
edgeGroup.setSize(dEdges.size());
|
||||||
edgeGroup = -1;
|
edgeGroup = label(-1);
|
||||||
|
|
||||||
//- check edge connections and store all edges which can be reached
|
//- check edge connections and store all edges which can be reached
|
||||||
//- over other edges into the same group
|
//- over other edges into the same group
|
||||||
|
@ -538,7 +538,7 @@ void extrudeLayer::createNewVertices()
|
||||||
//- find face groups from the groups assigned to dual edges
|
//- find face groups from the groups assigned to dual edges
|
||||||
DynList<label> faceGroups;
|
DynList<label> faceGroups;
|
||||||
faceGroups.setSize(pointFaces.sizeOfRow(pointI));
|
faceGroups.setSize(pointFaces.sizeOfRow(pointI));
|
||||||
faceGroups = -1;
|
faceGroups = label(-1);
|
||||||
|
|
||||||
forAllRow(pointFaces, pointI, pfI)
|
forAllRow(pointFaces, pointI, pfI)
|
||||||
{
|
{
|
||||||
|
@ -618,7 +618,7 @@ void extrudeLayer::createNewVertices()
|
||||||
//- assign groups to faces and cells
|
//- assign groups to faces and cells
|
||||||
DynList<label> faceGroup;
|
DynList<label> faceGroup;
|
||||||
faceGroup.setSize(pointFaces.sizeOfRow(pointI));
|
faceGroup.setSize(pointFaces.sizeOfRow(pointI));
|
||||||
faceGroup = -1;
|
faceGroup = label(-1);
|
||||||
|
|
||||||
label group(0);
|
label group(0);
|
||||||
|
|
||||||
|
@ -1114,7 +1114,7 @@ void extrudeLayer::createLayerCells()
|
||||||
//- find labels of points
|
//- find labels of points
|
||||||
DynList<label> origFacePoints;
|
DynList<label> origFacePoints;
|
||||||
origFacePoints.setSize(pointFaces.sizeOfRow(pointI));
|
origFacePoints.setSize(pointFaces.sizeOfRow(pointI));
|
||||||
origFacePoints = -1;
|
origFacePoints = label(-1);
|
||||||
|
|
||||||
forAllRow(pointFaces, pointI, pfI)
|
forAllRow(pointFaces, pointI, pfI)
|
||||||
{
|
{
|
||||||
|
|
|
@ -885,7 +885,7 @@ void refineBoundaryLayers::refineCornerHexCell::generateNewPoints()
|
||||||
forAll(cellPoints_[i], j)
|
forAll(cellPoints_[i], j)
|
||||||
{
|
{
|
||||||
cellPoints_[i][j].setSize(nLayersK_+1);
|
cellPoints_[i][j].setSize(nLayersK_+1);
|
||||||
cellPoints_[i][j] = -1;
|
cellPoints_[i][j] = label(-1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -250,7 +250,7 @@ void refineBoundaryLayers::refineFace
|
||||||
forAll(facePoints, i)
|
forAll(facePoints, i)
|
||||||
{
|
{
|
||||||
facePoints[i].setSize(nLayersDir1+1);
|
facePoints[i].setSize(nLayersDir1+1);
|
||||||
facePoints[i] = -1;
|
facePoints[i] = label(-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
//- add points in the matrix
|
//- add points in the matrix
|
||||||
|
|
|
@ -269,7 +269,7 @@ bool refineBoundaryLayers::analyseLayers()
|
||||||
{
|
{
|
||||||
if( allZMin[patchI] ^ allZMax[patchI] )
|
if( allZMin[patchI] ^ allZMax[patchI] )
|
||||||
{
|
{
|
||||||
nLayersAtPatch[patchI] = -1;
|
nLayersAtPatch[patchI] = label(-1);
|
||||||
layerAtPatch_[patchI].clear();
|
layerAtPatch_[patchI].clear();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -599,7 +599,7 @@ void refineBoundaryLayers::generateNewVertices()
|
||||||
//- on edges of the mesh
|
//- on edges of the mesh
|
||||||
DynList<label> numPointsAtThread;
|
DynList<label> numPointsAtThread;
|
||||||
numPointsAtThread.setSize(nThreads);
|
numPointsAtThread.setSize(nThreads);
|
||||||
numPointsAtThread = 0;
|
numPointsAtThread = label(0);
|
||||||
|
|
||||||
# ifdef USE_OMP
|
# ifdef USE_OMP
|
||||||
# pragma omp parallel for num_threads(nThreads) schedule(static, 1)
|
# pragma omp parallel for num_threads(nThreads) schedule(static, 1)
|
||||||
|
|
|
@ -100,6 +100,11 @@ public:
|
||||||
//- Construct given size
|
//- Construct given size
|
||||||
explicit inline DynList(const label);
|
explicit inline DynList(const label);
|
||||||
|
|
||||||
|
#if WM_LABEL_SIZE == 64
|
||||||
|
//- Construct given size
|
||||||
|
explicit inline DynList(const int);
|
||||||
|
#endif
|
||||||
|
|
||||||
//- Construct from given size and defualt value
|
//- Construct from given size and defualt value
|
||||||
explicit inline DynList(const label, const T&);
|
explicit inline DynList(const label, const T&);
|
||||||
|
|
||||||
|
|
|
@ -102,6 +102,17 @@ inline Foam::DynList<T, staticSize>::DynList(const label s)
|
||||||
setSize(s);
|
setSize(s);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if WM_LABEL_SIZE == 64
|
||||||
|
template<class T, Foam::label staticSize>
|
||||||
|
inline Foam::DynList<T, staticSize>::DynList(const int s)
|
||||||
|
:
|
||||||
|
UList<T>(staticData_, staticSize),
|
||||||
|
nextFree_(0)
|
||||||
|
{
|
||||||
|
setSize(s);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
template<class T, Foam::label staticSize>
|
template<class T, Foam::label staticSize>
|
||||||
inline Foam::DynList<T, staticSize>::DynList(const label s, const T& val)
|
inline Foam::DynList<T, staticSize>::DynList(const label s, const T& val)
|
||||||
:
|
:
|
||||||
|
|
|
@ -23,7 +23,7 @@ License
|
||||||
|
|
||||||
Description
|
Description
|
||||||
|
|
||||||
\*----------------------p-----------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#include "decomposeCells.H"
|
#include "decomposeCells.H"
|
||||||
#include "helperFunctions.H"
|
#include "helperFunctions.H"
|
||||||
|
@ -56,7 +56,7 @@ void decomposeCells::findAddressingForCell
|
||||||
forAll(faceEdges, feI)
|
forAll(faceEdges, feI)
|
||||||
{
|
{
|
||||||
faceEdges[feI].setSize(faces[c[feI]].size());
|
faceEdges[feI].setSize(faces[c[feI]].size());
|
||||||
faceEdges[feI] = -1;
|
faceEdges[feI] = label(-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
forAll(c, fI)
|
forAll(c, fI)
|
||||||
|
|
|
@ -316,7 +316,7 @@ label groupMarking
|
||||||
//- ones into a new group
|
//- ones into a new group
|
||||||
DynList<label> globalGroupLabel;
|
DynList<label> globalGroupLabel;
|
||||||
globalGroupLabel.setSize(nGroups);
|
globalGroupLabel.setSize(nGroups);
|
||||||
globalGroupLabel = -1;
|
globalGroupLabel = label(-1);
|
||||||
|
|
||||||
//- reduce the information about the groups
|
//- reduce the information about the groups
|
||||||
label counter(0);
|
label counter(0);
|
||||||
|
|
|
@ -1056,7 +1056,7 @@ inline bool doTrianglesOverlap
|
||||||
x /= (mag(x) + VSMALL);
|
x /= (mag(x) + VSMALL);
|
||||||
vector y = vec ^ x;
|
vector y = vec ^ x;
|
||||||
|
|
||||||
DynList<point2D, 6> poly2D(3);
|
DynList<point2D, 6> poly2D(label(3));
|
||||||
poly2D[0] = point2D((tri0.a() - origin) & x, (tri0.a() - origin) & y);
|
poly2D[0] = point2D((tri0.a() - origin) & x, (tri0.a() - origin) & y);
|
||||||
poly2D[1] = point2D((tri0.b() - origin) & x, (tri0.b() - origin) & y);
|
poly2D[1] = point2D((tri0.b() - origin) & x, (tri0.b() - origin) & y);
|
||||||
poly2D[2] = point2D((tri0.c() - origin) & x, (tri0.c() - origin) & y);
|
poly2D[2] = point2D((tri0.c() - origin) & x, (tri0.c() - origin) & y);
|
||||||
|
|
|
@ -488,7 +488,7 @@ inline void zipOpenChain(DynList<edge>& bEdges)
|
||||||
}
|
}
|
||||||
|
|
||||||
bool closed(true);
|
bool closed(true);
|
||||||
DynList<label> openVertices(2);
|
DynList<label> openVertices(label(2));
|
||||||
forAll(chainVertices, pI)
|
forAll(chainVertices, pI)
|
||||||
if( nAppearances[pI] == 1 )
|
if( nAppearances[pI] == 1 )
|
||||||
{
|
{
|
||||||
|
|
|
@ -351,7 +351,7 @@ void partTriMesh::createBufferLayers()
|
||||||
{
|
{
|
||||||
const parTriFace& tri = receivedTrias[i];
|
const parTriFace& tri = receivedTrias[i];
|
||||||
|
|
||||||
DynList<label, 3> triPointLabels(3);
|
DynList<label, 3> triPointLabels(label(3));
|
||||||
for(label j=0;j<3;++j)
|
for(label j=0;j<3;++j)
|
||||||
{
|
{
|
||||||
const label gpI = tri.globalLabelOfPoint(j);
|
const label gpI = tri.globalLabelOfPoint(j);
|
||||||
|
|
|
@ -133,7 +133,7 @@ void meshOctree::setOctantVectorsAndPositions()
|
||||||
//- set vrtLeavesPos_
|
//- set vrtLeavesPos_
|
||||||
for(label vrtI=0;vrtI<8;++vrtI)
|
for(label vrtI=0;vrtI<8;++vrtI)
|
||||||
{
|
{
|
||||||
FixedList<label, 3> vc(0);
|
FixedList<label, 3> vc(label(0));
|
||||||
|
|
||||||
if( vrtI & 1 )
|
if( vrtI & 1 )
|
||||||
vc[0] += 1;
|
vc[0] += 1;
|
||||||
|
|
|
@ -135,7 +135,7 @@ void meshOctreeAutomaticRefinement::setMaxRefLevel()
|
||||||
{
|
{
|
||||||
finished = false;
|
finished = false;
|
||||||
|
|
||||||
const scalar lSize = size / pow(2, label(maxRefLevel_));
|
const scalar lSize = size / pow(2.0, label(maxRefLevel_));
|
||||||
|
|
||||||
if( lSize < cs )
|
if( lSize < cs )
|
||||||
{
|
{
|
||||||
|
|
|
@ -84,12 +84,12 @@ void meshOctreeCreator::setRootCubeSizeAndRefParameters()
|
||||||
{
|
{
|
||||||
finished = false;
|
finished = false;
|
||||||
|
|
||||||
const scalar lSize = size / Foam::pow(2, label(globalRefLevel_));
|
const scalar lSize = size / pow(label(2), label(globalRefLevel_));
|
||||||
|
|
||||||
if( lSize < (maxSize * (1.0-SMALL)) )
|
if( lSize < (maxSize * (1.0-SMALL)) )
|
||||||
{
|
{
|
||||||
const scalar bbSize =
|
const scalar bbSize =
|
||||||
0.5 * maxSize * Foam::pow(2, label(globalRefLevel_));
|
0.5 * maxSize * pow(label(2), label(globalRefLevel_));
|
||||||
rootBox.max() = c + point(bbSize, bbSize, bbSize);
|
rootBox.max() = c + point(bbSize, bbSize, bbSize);
|
||||||
rootBox.min() = c - point(bbSize, bbSize, bbSize);
|
rootBox.min() = c - point(bbSize, bbSize, bbSize);
|
||||||
finished = true;
|
finished = true;
|
||||||
|
@ -133,7 +133,7 @@ void meshOctreeCreator::setRootCubeSizeAndRefParameters()
|
||||||
{
|
{
|
||||||
finished = false;
|
finished = false;
|
||||||
|
|
||||||
const scalar lSize = maxSize / Foam::pow(2, addLevel);
|
const scalar lSize = maxSize / Foam::pow(label(2), addLevel);
|
||||||
|
|
||||||
if( lSize <= cs )
|
if( lSize <= cs )
|
||||||
{
|
{
|
||||||
|
@ -230,7 +230,7 @@ void meshOctreeCreator::setRootCubeSizeAndRefParameters()
|
||||||
{
|
{
|
||||||
finished = false;
|
finished = false;
|
||||||
|
|
||||||
const scalar lSize = maxSize / Foam::pow(2, addLevel);
|
const scalar lSize = maxSize / Foam::pow(label(2), addLevel);
|
||||||
|
|
||||||
if( lSize <= cs )
|
if( lSize <= cs )
|
||||||
{
|
{
|
||||||
|
@ -308,7 +308,7 @@ void meshOctreeCreator::setRootCubeSizeAndRefParameters()
|
||||||
{
|
{
|
||||||
finished = false;
|
finished = false;
|
||||||
|
|
||||||
const scalar lSize = maxSize / Foam::pow(2, addLevel);
|
const scalar lSize = maxSize / Foam::pow(label(2), addLevel);
|
||||||
|
|
||||||
if( lSize <= cs )
|
if( lSize <= cs )
|
||||||
{
|
{
|
||||||
|
@ -380,7 +380,7 @@ void meshOctreeCreator::setRootCubeSizeAndRefParameters()
|
||||||
{
|
{
|
||||||
finished = false;
|
finished = false;
|
||||||
|
|
||||||
const scalar lSize = maxSize / Foam::pow(2, nLevel);
|
const scalar lSize = maxSize / Foam::pow(label(2), nLevel);
|
||||||
|
|
||||||
if( lSize <= cs )
|
if( lSize <= cs )
|
||||||
{
|
{
|
||||||
|
|
|
@ -97,7 +97,7 @@ inline meshOctreeCubeCoordinates meshOctreeCubeCoordinates::refineForPosition
|
||||||
) const
|
) const
|
||||||
{
|
{
|
||||||
//- create new boxes in z-order fashion
|
//- create new boxes in z-order fashion
|
||||||
FixedList<label, 3> addPos(0);
|
FixedList<label, 3> addPos(label(0));
|
||||||
if( i & 1 )
|
if( i & 1 )
|
||||||
addPos[0] = 1;
|
addPos[0] = 1;
|
||||||
if( i & 2 )
|
if( i & 2 )
|
||||||
|
|
|
@ -50,7 +50,7 @@ void meshUntangler::cutRegion::findNewEdges()
|
||||||
const DynList<edge, 128>& edges = *edgesPtr_;
|
const DynList<edge, 128>& edges = *edgesPtr_;
|
||||||
|
|
||||||
newEdgeLabel_.setSize(edges.size());
|
newEdgeLabel_.setSize(edges.size());
|
||||||
newEdgeLabel_ = -1;
|
newEdgeLabel_ = label(-1);
|
||||||
|
|
||||||
forAll(edges, eI)
|
forAll(edges, eI)
|
||||||
{
|
{
|
||||||
|
|
|
@ -72,7 +72,7 @@ void meshUntangler::cutRegion::findNewFaces()
|
||||||
<< " consisting of edges " << f << endl;
|
<< " consisting of edges " << f << endl;
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
pointUsage = 0;
|
pointUsage = label(0);
|
||||||
|
|
||||||
DynList<label, 8> newFace;
|
DynList<label, 8> newFace;
|
||||||
|
|
||||||
|
@ -144,7 +144,7 @@ void meshUntangler::cutRegion::findNewFaces()
|
||||||
//- find edges which form the faceInPlane
|
//- find edges which form the faceInPlane
|
||||||
DynList<label, 128> edgeUsage;
|
DynList<label, 128> edgeUsage;
|
||||||
edgeUsage.setSize(cEdges.size());
|
edgeUsage.setSize(cEdges.size());
|
||||||
edgeUsage = 0;
|
edgeUsage = label(0);
|
||||||
forAll(cFaces, fI)
|
forAll(cFaces, fI)
|
||||||
{
|
{
|
||||||
const DynList<label, 8>& f = cFaces[fI];
|
const DynList<label, 8>& f = cFaces[fI];
|
||||||
|
|
|
@ -58,7 +58,7 @@ bool meshUntangler::cutRegion::findNewVertices
|
||||||
const DynList<point, 64>& points = *pointsPtr_;
|
const DynList<point, 64>& points = *pointsPtr_;
|
||||||
|
|
||||||
newVertexLabel_.setSize(points.size());
|
newVertexLabel_.setSize(points.size());
|
||||||
newVertexLabel_ = -1;
|
newVertexLabel_ = label(-1);
|
||||||
|
|
||||||
vertexDistance_.setSize(points.size());
|
vertexDistance_.setSize(points.size());
|
||||||
|
|
||||||
|
@ -118,7 +118,7 @@ void meshUntangler::cutRegion::removeCoincidentVertices()
|
||||||
DynList<edge, 128>& edges = *edgesPtr_;
|
DynList<edge, 128>& edges = *edgesPtr_;
|
||||||
DynList<label, 64> newLabelForPoint;
|
DynList<label, 64> newLabelForPoint;
|
||||||
newLabelForPoint.setSize(points.size());
|
newLabelForPoint.setSize(points.size());
|
||||||
newLabelForPoint = -1;
|
newLabelForPoint = label(-1);
|
||||||
|
|
||||||
bool found(false);
|
bool found(false);
|
||||||
forAll(points, pI)
|
forAll(points, pI)
|
||||||
|
@ -150,7 +150,7 @@ void meshUntangler::cutRegion::removeCoincidentVertices()
|
||||||
}
|
}
|
||||||
|
|
||||||
//- remove edges which contain the same vertex
|
//- remove edges which contain the same vertex
|
||||||
newEdgeLabel_ = -1;
|
newEdgeLabel_ = label(-1);
|
||||||
label edgeLabel(0);
|
label edgeLabel(0);
|
||||||
|
|
||||||
cEdgesPtr_ = new DynList<edge, 128>();
|
cEdgesPtr_ = new DynList<edge, 128>();
|
||||||
|
|
|
@ -83,7 +83,7 @@ void meshUntangler::cutRegion::tieBreak(const DynList<label, 8>& f)
|
||||||
|
|
||||||
DynList<label, 64> vertexRegion;
|
DynList<label, 64> vertexRegion;
|
||||||
vertexRegion.setSize(fv.size());
|
vertexRegion.setSize(fv.size());
|
||||||
vertexRegion = 0;
|
vertexRegion = label(0);
|
||||||
|
|
||||||
label region(1);
|
label region(1);
|
||||||
forAll(fv, vI)
|
forAll(fv, vI)
|
||||||
|
@ -176,7 +176,7 @@ void meshUntangler::cutRegion::tieBreak(const DynList<label, 8>& f)
|
||||||
//- create new points
|
//- create new points
|
||||||
const DynList<point, 64>& points = *pointsPtr_;
|
const DynList<point, 64>& points = *pointsPtr_;
|
||||||
cPtsPtr_ = new DynList<point, 64>();
|
cPtsPtr_ = new DynList<point, 64>();
|
||||||
newVertexLabel_ = -1;
|
newVertexLabel_ = label(-1);
|
||||||
origNumVertices_ = 0;
|
origNumVertices_ = 0;
|
||||||
forAll(points, pI)
|
forAll(points, pI)
|
||||||
if( vertexTypes_[pI] )
|
if( vertexTypes_[pI] )
|
||||||
|
|
|
@ -1520,7 +1520,7 @@ bool edgeExtractor::checkConcaveEdgeCells()
|
||||||
|
|
||||||
DynList<label, 2> nFacesInPatch;
|
DynList<label, 2> nFacesInPatch;
|
||||||
nFacesInPatch.setSize(2);
|
nFacesInPatch.setSize(2);
|
||||||
nFacesInPatch = 0;
|
nFacesInPatch = label(0);
|
||||||
|
|
||||||
DynList<bool, 2> hasPatchPoints;
|
DynList<bool, 2> hasPatchPoints;
|
||||||
hasPatchPoints.setSize(2);
|
hasPatchPoints.setSize(2);
|
||||||
|
|
|
@ -211,7 +211,7 @@ void edgeExtractor::faceEvaluator::neiFacesProcs
|
||||||
const VRWGraph& faceEdges = mse.faceEdges();
|
const VRWGraph& faceEdges = mse.faceEdges();
|
||||||
|
|
||||||
neiProcs.setSize(faceEdges.sizeOfRow(bfI));
|
neiProcs.setSize(faceEdges.sizeOfRow(bfI));
|
||||||
neiProcs = Pstream::myProcNo();
|
neiProcs = label(Pstream::myProcNo());
|
||||||
|
|
||||||
if( Pstream::parRun() )
|
if( Pstream::parRun() )
|
||||||
{
|
{
|
||||||
|
|
|
@ -91,7 +91,7 @@ void Foam::adaptiveOverlapFringe::suitabilityFractionSlope
|
||||||
forAllConstIter(FIFOStack<iterationData>, iterHist, it)
|
forAllConstIter(FIFOStack<iterationData>, iterHist, it)
|
||||||
{
|
{
|
||||||
iterSum += it().iteration();
|
iterSum += it().iteration();
|
||||||
iterSquaredSum += pow(it().iteration(), 2);
|
iterSquaredSum += pow(it().iteration(), label(2));
|
||||||
suitabilitySum += it().suitability();
|
suitabilitySum += it().suitability();
|
||||||
iterXSuitabilitySum += it().iteration()*it().suitability();
|
iterXSuitabilitySum += it().iteration()*it().suitability();
|
||||||
}
|
}
|
||||||
|
|
|
@ -487,7 +487,7 @@ void solidInterface::makeProcessorPatchFacesMap() const
|
||||||
new labelListList
|
new labelListList
|
||||||
(
|
(
|
||||||
mesh_.boundary().size(),
|
mesh_.boundary().size(),
|
||||||
labelList(0,-1)
|
labelList()
|
||||||
);
|
);
|
||||||
processorPatchMapPtr_ =
|
processorPatchMapPtr_ =
|
||||||
new labelList
|
new labelList
|
||||||
|
|
|
@ -142,7 +142,7 @@ void Foam::tetPolyPatchMapper::calcAddressing() const
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
addr[nAddr] = labelList(1, 0);
|
addr[nAddr] = labelList(1, label(0));
|
||||||
}
|
}
|
||||||
|
|
||||||
w[nAddr] = scalarList(1, 1.0);
|
w[nAddr] = scalarList(1, 1.0);
|
||||||
|
|
|
@ -116,13 +116,13 @@ tetPolyMesh::~tetPolyMesh()
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
|
||||||
|
|
||||||
Foam::label Foam::tetPolyMesh::comm() const
|
int Foam::tetPolyMesh::comm() const
|
||||||
{
|
{
|
||||||
return comm_;
|
return comm_;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
Foam::label& Foam::tetPolyMesh::comm()
|
int& Foam::tetPolyMesh::comm()
|
||||||
{
|
{
|
||||||
return comm_;
|
return comm_;
|
||||||
}
|
}
|
||||||
|
|
|
@ -139,7 +139,7 @@ class tetPolyMesh
|
||||||
label cellOffset_;
|
label cellOffset_;
|
||||||
|
|
||||||
//- Communicator used for parallel communication
|
//- Communicator used for parallel communication
|
||||||
label comm_;
|
int comm_;
|
||||||
|
|
||||||
|
|
||||||
// Demand-driven data
|
// Demand-driven data
|
||||||
|
@ -376,10 +376,10 @@ public:
|
||||||
// Communication support
|
// Communication support
|
||||||
|
|
||||||
//- Return communicator used for parallel communication
|
//- Return communicator used for parallel communication
|
||||||
label comm() const;
|
int comm() const;
|
||||||
|
|
||||||
//- Return communicator used for parallel communication
|
//- Return communicator used for parallel communication
|
||||||
label& comm();
|
int& comm();
|
||||||
|
|
||||||
|
|
||||||
// Edit
|
// Edit
|
||||||
|
|
|
@ -55,7 +55,7 @@ Foam::radiation::greyMeanAbsorptionEmission::greyMeanAbsorptionEmission
|
||||||
absorptionEmissionModel(dict, mesh),
|
absorptionEmissionModel(dict, mesh),
|
||||||
coeffsDict_((dict.subDict(typeName + "Coeffs"))),
|
coeffsDict_((dict.subDict(typeName + "Coeffs"))),
|
||||||
speciesNames_(0),
|
speciesNames_(0),
|
||||||
specieIndex_(0),
|
specieIndex_(label(0)),
|
||||||
lookUpTable_
|
lookUpTable_
|
||||||
(
|
(
|
||||||
fileName(coeffsDict_.lookup("lookUpTableFileName")),
|
fileName(coeffsDict_.lookup("lookUpTableFileName")),
|
||||||
|
|
|
@ -55,7 +55,7 @@ Foam::radiation::wideBandAbsorptionEmission::wideBandAbsorptionEmission
|
||||||
absorptionEmissionModel(dict, mesh),
|
absorptionEmissionModel(dict, mesh),
|
||||||
coeffsDict_((dict.subDict(typeName + "Coeffs"))),
|
coeffsDict_((dict.subDict(typeName + "Coeffs"))),
|
||||||
speciesNames_(0),
|
speciesNames_(0),
|
||||||
specieIndex_(0),
|
specieIndex_(label(0)),
|
||||||
lookUpTable_
|
lookUpTable_
|
||||||
(
|
(
|
||||||
fileName(coeffsDict_.lookup("lookUpTableFileName")),
|
fileName(coeffsDict_.lookup("lookUpTableFileName")),
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Reference in a new issue