FEATURE: Porting fixes and GGI bug fix. Author: Hrvoje Jasak. Merge: Hrvoje Jasak.
This commit is contained in:
commit
8178326462
10 changed files with 43 additions and 18 deletions
2
ThirdParty/AllMake.stage2
vendored
2
ThirdParty/AllMake.stage2
vendored
|
@ -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"
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -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();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Reference in a new issue