FEATURE: Porting fixes and GGI bug fix. Author: Hrvoje Jasak. Merge: Hrvoje Jasak.

This commit is contained in:
Hrvoje Jasak 2015-08-18 15:18:44 +01:00
commit 8178326462
10 changed files with 43 additions and 18 deletions

View file

@ -102,7 +102,7 @@ then
[ ! -z "$WM_THIRD_PARTY_USE_OPENMPI_188" ] && { [ ! -z "$WM_THIRD_PARTY_USE_OPENMPI_188" ] && {
echo "Building openmpi 1.8.8" echo "Building openmpi 1.8.8"
( rpm_make -p openmpi-1.8.8 -s openmpi-1.8.8.spec -u http://www.open-mpi.org/software/ompi/v1.8/downloads/openmpi-1.8.8.tar.gz \ ( rpm_make -p openmpi-1.8.8 -s openmpi-1.8.8.spec -u http://www.open-mpi.org/software/ompi/v1.8/downloads/openmpi-1.8.8.tar.gz \
-f --define '_configureAdditionalArgs "$WM_THIRD_PARTY_USE_OPENMPI_165_ConfigureAdditionalArgs"') -f --define '_configureAdditionalArgs "$WM_THIRD_PARTY_USE_OPENMPI_188_ConfigureAdditionalArgs"')
} }
else else
echo "Using system installed OpenMPI" echo "Using system installed OpenMPI"

View file

@ -45,6 +45,7 @@ int main(int argc, char *argv[])
// Add option to write empty sets // Add option to write empty sets
argList::validOptions.insert("writeEmptySets", ""); argList::validOptions.insert("writeEmptySets", "");
argList::validOptions.insert("liveObjectsOnly", "");
# include "setRootCase.H" # include "setRootCase.H"
# include "createTime.H" # include "createTime.H"
@ -52,6 +53,7 @@ int main(int argc, char *argv[])
Info<< "Time = " << runTime.timeName() << endl; Info<< "Time = " << runTime.timeName() << endl;
bool writeEmptySets = args.optionFound("writeEmptySets"); bool writeEmptySets = args.optionFound("writeEmptySets");
bool liveObjectsOnly = args.optionFound("liveObjectsOnly");
// Determine the processor count directly // Determine the processor count directly
label nProcs = 0; label nProcs = 0;
@ -128,10 +130,18 @@ int main(int argc, char *argv[])
{ {
const labelList& addr = procMeshes.pointProcAddressing()[procI]; const labelList& addr = procMeshes.pointProcAddressing()[procI];
const label nProcPoints = procMeshes.meshes()[procI].nPoints();
labelHashSet procSet; labelHashSet procSet;
forAll (addr, pointI) forAll (addr, pointI)
{ {
// Skip list when nPoints is reached
if (liveObjectsOnly && pointI >= nProcPoints)
{
break;
}
if (set.found(addr[pointI])) if (set.found(addr[pointI]))
{ {
procSet.insert(pointI); procSet.insert(pointI);
@ -143,14 +153,14 @@ int main(int argc, char *argv[])
// Set created, write it // Set created, write it
Info<< "Writing point set " << set.name() Info<< "Writing point set " << set.name()
<< " on processor " << procI << endl; << " on processor " << procI << endl;
pointSet cs pointSet ps
( (
procMeshes.meshes()[procI], procMeshes.meshes()[procI],
set.name(), set.name(),
procSet, procSet,
IOobject::NO_WRITE IOobject::NO_WRITE
); );
cs.write(); ps.write();
} }
} }
} }
@ -172,10 +182,18 @@ int main(int argc, char *argv[])
{ {
const labelList& addr = procMeshes.faceProcAddressing()[procI]; const labelList& addr = procMeshes.faceProcAddressing()[procI];
const label nProcFaces = procMeshes.meshes()[procI].nFaces();
labelHashSet procSet; labelHashSet procSet;
forAll (addr, faceI) forAll (addr, faceI)
{ {
// Skip list when nPoints is reached
if (liveObjectsOnly && faceI >= nProcFaces)
{
break;
}
// Note faceProcAddressing peculiarity: // Note faceProcAddressing peculiarity:
// change of sign and offset. HJ, 7/Mar/2011 // change of sign and offset. HJ, 7/Mar/2011
if (set.found(mag(addr[faceI]) - 1)) if (set.found(mag(addr[faceI]) - 1))
@ -189,14 +207,14 @@ int main(int argc, char *argv[])
// Set created, write it // Set created, write it
Info<< "Writing face set " << set.name() Info<< "Writing face set " << set.name()
<< " on processor " << procI << endl; << " on processor " << procI << endl;
faceSet cs faceSet fs
( (
procMeshes.meshes()[procI], procMeshes.meshes()[procI],
set.name(), set.name(),
procSet, procSet,
IOobject::NO_WRITE IOobject::NO_WRITE
); );
cs.write(); fs.write();
} }
} }
} }
@ -218,6 +236,8 @@ int main(int argc, char *argv[])
{ {
const labelList& addr = procMeshes.cellProcAddressing()[procI]; const labelList& addr = procMeshes.cellProcAddressing()[procI];
// There are no retired cells: no special handling required
labelHashSet procSet; labelHashSet procSet;
forAll (addr, cellI) forAll (addr, cellI)

View file

@ -157,7 +157,7 @@ Version: 1.11.4-1 (or above)
URL : http://downloads.sourceforge.net/gnuwin32/wget-1.11.4-1-bin.zip, http://downloads.sourceforge.net/gnuwin32/wget-1.11.4-1-dep.zip, http://downloads.sourceforge.net/gnuwin32/wget-1.11.4-1-doc.zip URL : http://downloads.sourceforge.net/gnuwin32/wget-1.11.4-1-bin.zip, http://downloads.sourceforge.net/gnuwin32/wget-1.11.4-1-dep.zip, http://downloads.sourceforge.net/gnuwin32/wget-1.11.4-1-doc.zip
For : Automatically downloading files from internet (eg. for use in automated build scripts) For : Automatically downloading files from internet (eg. for use in automated build scripts)
git clone --branch nameClashesForWinPort git://git.code.sf.net/u/dominikchrist/foam-extend-3.1-dc foam-extend-3.1-win git clone --branch nextRelease git://git.code.sf.net/p/openfoam-extend/foam-extend-3.1
4. EXAMPLE OUTPUT FROM SOUCING etc/bashrc.mingw 4. EXAMPLE OUTPUT FROM SOUCING etc/bashrc.mingw
@ -199,14 +199,14 @@ Checking versions of installed system tools (based on PATH) ...
Bison: /bin/bison.exe [bison (GNU Bison) 2.4.2] Bison: /bin/bison.exe [bison (GNU Bison) 2.4.2]
CMake: /c/Programs/cmake-3.2.3-win32-x86/bin/cmake.exe [cmake version 3.2.3] CMake: /c/Programs/cmake-3.2.3-win32-x86/bin/cmake.exe [cmake version 3.2.3]
Flex: /bin/flex.exe [flex 2.5.35] Flex: /bin/flex.exe [flex 2.5.35]
G++: /c/Programs/x86_64-4.8.2-release-win32-seh-rt_v3-rev3/mingw64/bin/g++.exe [g++.exe (x86_64-win32-seh-rev3, Built by MinGW-W64 project) 4.8.2] G++: /c/Programs/mingw64/bin/g++.exe [g++.exe (x86_64-win32-seh-rev3, Built by MinGW-W64 project) 4.8.2]
GCC: /c/Programs/x86_64-4.8.2-release-win32-seh-rt_v3-rev3/mingw64/bin/gcc.exe [gcc.exe (x86_64-win32-seh-rev3, Built by MinGW-W64 project) 4.8.2] GCC: /c/Programs/mingw64/bin/gcc.exe [gcc.exe (x86_64-win32-seh-rev3, Built by MinGW-W64 project) 4.8.2]
GMake: /c/Programs/strawberry-perl-5.20.2.1-64bit/c/bin/gmake.exe [GNU Make 4.0.90] GMake: /c/Programs/strawberry-perl-5.20.2.1-64bit/c/bin/gmake.exe [GNU Make 4.0.90]
Git: /c/Programs/Git/cmd/git.exe [git version 1.9.5.msysgit.1] Git: /c/Programs/Git/cmd/git.exe [git version 1.9.5.msysgit.1]
Java: /c/ProgramData/Oracle/Java/javapath/java.exe [java version "1.8.0_45"] Java: /c/ProgramData/Oracle/Java/javapath/java.exe [java version "1.8.0_45"]
M4: /bin/m4.exe [m4 (GNU M4) 1.4.16] M4: /bin/m4.exe [m4 (GNU M4) 1.4.16]
Make: /bin/make.exe [GNU Make 3.81] Make: /bin/make.exe [GNU Make 3.81]
MinGW-w64: /c/Programs/x86_64-4.8.2-release-win32-seh-rt_v3-rev3/mingw64 MinGW-w64: /c/Programs/mingw64
OpenMPI: /c/Programs/OpenMPI_v1.6.1-x64/bin/mpirun.exe [mpirun.exe (OpenRTE) 1.6.1] OpenMPI: /c/Programs/OpenMPI_v1.6.1-x64/bin/mpirun.exe [mpirun.exe (OpenRTE) 1.6.1]
PEexports: /c/Programs/strawberry-perl-5.20.2.1-64bit/c/bin/pexports.exe [PExports 0.44 Copyright 1998, Anders Norlander] PEexports: /c/Programs/strawberry-perl-5.20.2.1-64bit/c/bin/pexports.exe [PExports 0.44 Copyright 1998, Anders Norlander]
ParaView: /c/Programs/ParaView-4.3.1 ParaView: /c/Programs/ParaView-4.3.1

View file

@ -153,7 +153,7 @@ if ( ! $?WM_PRECISION_OPTION ) setenv WM_PRECISION_OPTION DP
# WM_COMPILE_OPTION = Opt | Debug | Prof # WM_COMPILE_OPTION = Opt | Debug | Prof
if ( ! $?WM_COMPILE_OPTION ) setenv WM_COMPILE_OPTION Opt if ( ! $?WM_COMPILE_OPTION ) setenv WM_COMPILE_OPTION Opt
setenv WM_COMPILE_OPTION Opt #setenv WM_COMPILE_OPTION Opt
#setenv WM_COMPILE_OPTION Debug #setenv WM_COMPILE_OPTION Debug
# WM_MPLIB = SYSTEMOPENMPI | OPENMPI | MPICH | MPICH-GM | HPMPI | GAMMA | MPI | QSMPI | MVAPICH2 # WM_MPLIB = SYSTEMOPENMPI | OPENMPI | MPICH | MPICH-GM | HPMPI | GAMMA | MPI | QSMPI | MVAPICH2

View file

@ -203,7 +203,7 @@ setenv WM_THIRD_PARTY_USE_CMAKE_322 1
# #
# For AllMake.stage2 # For AllMake.stage2
setenv WM_THIRD_PARTY_USE_OPENMPI_188 1 setenv WM_THIRD_PARTY_USE_OPENMPI_188 1
setenv WM_THIRD_PARTY_USE_OPENMPI_188_ConfigureAdditionalArgs '--enable-mpi-cxx --with-verbs=/usr --with-verbs-libdir=/usr/lib64' #setenv WM_THIRD_PARTY_USE_OPENMPI_188_ConfigureAdditionalArgs '--enable-mpi-cxx --with-verbs=/usr --with-verbs-libdir=/usr/lib64'
#setenv WM_THIRD_PARTY_USE_OPENMPI_165 1 #setenv WM_THIRD_PARTY_USE_OPENMPI_165 1
#setenv WM_THIRD_PARTY_USE_OPENMPI_165_ConfigureAdditionalArgs '--enable-mpi-cxx --with-openib=/usr --with-openib-libdir=/usr/lib64' #setenv WM_THIRD_PARTY_USE_OPENMPI_165_ConfigureAdditionalArgs '--enable-mpi-cxx --with-openib=/usr --with-openib-libdir=/usr/lib64'
#setenv WM_THIRD_PARTY_USE_OPENMPI_15 1 #setenv WM_THIRD_PARTY_USE_OPENMPI_15 1

View file

@ -213,7 +213,7 @@ export WM_THIRD_PARTY_USE_CMAKE_322=1
# #
# For AllMake.stage2 # For AllMake.stage2
export WM_THIRD_PARTY_USE_OPENMPI_188=1 export WM_THIRD_PARTY_USE_OPENMPI_188=1
export WM_THIRD_PARTY_USE_OPENMPI_188_ConfigureAdditionalArgs='--enable-mpi-cxx --with-openib=/usr --with-openib-libdir=/usr/lib64' #export WM_THIRD_PARTY_USE_OPENMPI_188_ConfigureAdditionalArgs='--enable-mpi-cxx --with-openib=/usr --with-openib-libdir=/usr/lib64'
#export WM_THIRD_PARTY_USE_OPENMPI_165=1 #export WM_THIRD_PARTY_USE_OPENMPI_165=1
#export WM_THIRD_PARTY_USE_OPENMPI_165_ConfigureAdditionalArgs='--enable-mpi-cxx --with-openib=/usr --with-openib-libdir=/usr/lib64' #export WM_THIRD_PARTY_USE_OPENMPI_165_ConfigureAdditionalArgs='--enable-mpi-cxx --with-openib=/usr --with-openib-libdir=/usr/lib64'
#export WM_THIRD_PARTY_USE_OPENMPI_15=1 #export WM_THIRD_PARTY_USE_OPENMPI_15=1

View file

@ -145,8 +145,11 @@ void GGIInterpolation<MasterPatch, SlavePatch>::maskedBridge
{ {
// Gone beyond my index: my face is not present in the mask // Gone beyond my index: my face is not present in the mask
// Go one back and check for next uncovered face // Go one back and check for next uncovered face
if (maskAddrI > 0)
{
maskAddrI--; maskAddrI--;
}
break; break;
} }
} }

View file

@ -61,7 +61,7 @@ cellSet::cellSet
: :
topoSet(mesh, typeName, name, r, w) topoSet(mesh, typeName, name, r, w)
{ {
// Make sure set within valid range // Make sure set within valid range: there are no retired cells
check(mesh.nCells()); check(mesh.nCells());
} }

View file

@ -63,7 +63,8 @@ faceSet::faceSet
: :
topoSet(mesh, typeName, name, r, w) topoSet(mesh, typeName, name, r, w)
{ {
check(mesh.nFaces()); // Sets can also contain retired faces. HJ, 17/Aug/2015
check(mesh.allFaces().size());
} }
@ -228,7 +229,7 @@ void faceSet::sync(const polyMesh& mesh)
label faceSet::maxSize(const polyMesh& mesh) const label faceSet::maxSize(const polyMesh& mesh) const
{ {
return mesh.nFaces(); return mesh.allFaces().size();
} }

View file

@ -62,7 +62,8 @@ pointSet::pointSet
: :
topoSet(mesh, typeName, name, r, w) topoSet(mesh, typeName, name, r, w)
{ {
check(mesh.nPoints()); // Sets can contain retired points. HJ, 17/Aug/2015
check(mesh.allPoints().size());
} }
@ -147,7 +148,7 @@ void pointSet::sync(const polyMesh& mesh)
label pointSet::maxSize(const polyMesh& mesh) const label pointSet::maxSize(const polyMesh& mesh) const
{ {
return mesh.nPoints(); return mesh.allPoints().size();
} }