Merge branch 'master' of /home/noisy2/OpenFOAM/OpenFOAM-dev/

This commit is contained in:
andy 2008-05-16 15:39:21 +01:00
commit c3d293de7a
6 changed files with 65 additions and 52 deletions

View File

@ -47,7 +47,7 @@ Description
#include <stdio.h>
#ifdef READLINE
#if READLINE != 0
#include <readline/readline.h>
#include <readline/history.h>
#endif
@ -57,7 +57,7 @@ using namespace Foam;
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#ifdef READLINE
#if READLINE != 0
static const char* historyFile = ".setSet";
#endif
@ -739,7 +739,7 @@ int main(int argc, char *argv[])
fileStreamPtr = new std::ifstream(batchFile.c_str());
}
#ifdef READLINE
#if READLINE != 0
else if (!read_history(historyFile))
{
Info<< "Successfully read history from " << historyFile << endl;
@ -784,7 +784,7 @@ int main(int argc, char *argv[])
}
else
{
# ifdef READLINE
# if READLINE != 0
{
char* linePtr = readline("readline>");

View File

@ -101,7 +101,7 @@ int main(int argc, char *argv[])
if (!noTopology)
{
noFailedChecks += checkTopology(mesh, allTopology);
noFailedChecks += checkTopology(mesh, allTopology, allGeometry);
}
noFailedChecks += checkGeometry(mesh, allGeometry);

View File

@ -7,7 +7,12 @@
#include "pointSet.H"
#include "IOmanip.H"
Foam::label Foam::checkTopology(const polyMesh& mesh, const bool allTopology)
Foam::label Foam::checkTopology
(
const polyMesh& mesh,
const bool allTopology,
const bool allGeometry
)
{
label noFailedChecks = 0;
@ -142,39 +147,38 @@ Foam::label Foam::checkTopology(const polyMesh& mesh, const bool allTopology)
<< setw(20) << "Patch"
<< setw(9) << "Faces"
<< setw(9) << "Points"
<< " Surface" << endl;
<< setw(34) << "Surface topology";
if (allGeometry)
{
Pout<< " Bounding box";
}
Pout<< endl;
forAll(patches, patchI)
{
const polyPatch& pp = patches[patchI];
Pout<< " "
<< setw(20) << pp.name()
<< setw(9) << pp.size()
<< setw(9) << pp.nPoints();
primitivePatch::surfaceTopo pTyp = pp.surfaceType();
if (pp.size() == 0)
{
Pout<< " "
<< setw(20) << pp.name()
<< setw(9) << pp.size()
<< setw(9) << pp.nPoints()
<< " ok (empty)" << endl;
Pout<< setw(34) << "ok (empty)";
}
else if (pTyp == primitivePatch::MANIFOLD)
{
if (pp.checkPointManifold(true, &points))
{
Pout<< " "
<< setw(20) << pp.name()
<< setw(9) << pp.size()
<< setw(9) << pp.nPoints()
<< " multiply connected (shared point)" << endl;
Pout<< setw(34) << "multiply connected (shared point)";
}
else
{
Pout<< " "
<< setw(20) << pp.name()
<< setw(9) << pp.size()
<< setw(9) << pp.nPoints()
<< " ok (closed singly connected surface)" << endl;
Pout<< setw(34) << "ok (closed singly connected)";
}
// Add points on non-manifold edges to make set complete
@ -186,22 +190,35 @@ Foam::label Foam::checkTopology(const polyMesh& mesh, const bool allTopology)
if (pTyp == primitivePatch::OPEN)
{
Pout<< " "
<< setw(20) << pp.name()
<< setw(9) << pp.size()
<< setw(9) << pp.nPoints()
<< " ok (not multiply connected)" << endl;
Pout<< setw(34) << "ok (non-closed singly connected)";
}
else
{
Pout<< " "
<< setw(20) << pp.name()
<< setw(9) << pp.size()
<< setw(9) << pp.nPoints()
<< " multiply connected surface (shared edge)"
<< endl;
Pout<< setw(34) << "multiply connected (shared edge)";
}
}
if (allGeometry)
{
const pointField& pts = pp.points();
const labelList& mp = pp.meshPoints();
boundBox bb(vector::zero, vector::zero);
if (returnReduce(mp.size(), sumOp<label>()) > 0)
{
bb.min() = pts[mp[0]];
bb.max() = pts[mp[0]];
for (label i = 1; i < mp.size(); i++)
{
bb.min() = min(bb.min(), pts[mp[i]]);
bb.max() = max(bb.max(), pts[mp[i]]);
}
reduce(bb.min(), minOp<vector>());
reduce(bb.max(), maxOp<vector>());
}
Pout<< ' ' << bb;
}
Pout<< endl;
}
if (points.size() > 0)

View File

@ -4,5 +4,5 @@ namespace Foam
{
class polyMesh;
label checkTopology(const polyMesh& mesh, const bool allTopology);
label checkTopology(const polyMesh&, const bool, const bool);
}

View File

@ -1,4 +1,4 @@
/*---------------------------------------------------------------------------*\
/*---------------------------------------------------------------------------* \
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
@ -333,7 +333,7 @@ Foam::labelList Foam::faceCoupleInfo::findMappedEdges
label v0 = pointMap[e[0]];
label v1 = pointMap[e[1]];
toPatchEdges[edgeI] =
toPatchEdges[edgeI] =
meshTools::findEdge
(
patch.edges(),
@ -517,7 +517,7 @@ void Foam::faceCoupleInfo::setCutEdgeToPoints(const labelList& cutToMasterEdges)
labelListList masterToCutEdges
(
invertOneToMany
(
(
masterPatch().nEdges(),
cutToMasterEdges
)
@ -577,7 +577,7 @@ void Foam::faceCoupleInfo::setCutEdgeToPoints(const labelList& cutToMasterEdges)
while (startVertI != unsplitEdge[1])
{
// Loop over all string of edges. Update
// Loop over all string of edges. Update
// - startVertI : previous vertex
// - startEdgeI : previous edge
// and insert any points into splitPoints
@ -995,7 +995,7 @@ void Foam::faceCoupleInfo::findPerfectMatchingFaces
nMatched++;
}
}
mesh0Faces.setSize(nMatched);
mesh1Faces.setSize(nMatched);
}
@ -1050,7 +1050,7 @@ void Foam::faceCoupleInfo::findSlavesCoveringMaster
point fc(f1.centre(mesh1.points()));
// Search in bounding box of face only.
treeBoundBox tightest(f1.points(mesh1.points()));
treeBoundBox tightest(static_cast<const pointField&>(f1.points(mesh1.points())));
scalar tightestDist = GREAT;
@ -1509,7 +1509,7 @@ void Foam::faceCoupleInfo::perfectPointMatch
// Cut faces to slave patch.
bool matchedAllFaces = false;
if (slaveFacesOrdered)
{
cutToSlaveFaces_ = identity(cutFaces().size());
@ -1576,7 +1576,7 @@ void Foam::faceCoupleInfo::perfectPointMatch
compactToCut // compaction map: from compacted to cut
);
// Use compaction lists to renumber cutPoints.
cutPoints_ = IndirectList<point>(cutPoints_, compactToCut)();
{
@ -1882,7 +1882,7 @@ void Foam::faceCoupleInfo::subDivisionMatch
break;
}
}
// All cut faces matched?
forAll(cutToMasterFaces_, cutFaceI)

View File

@ -145,9 +145,6 @@ colourIndex=0
while :
do
# 0.5 sec
usleep 500000
for slotGroup in $WM_HOSTS
do
# split 'host:N', but catch 'host:' and 'host' too
@ -159,11 +156,8 @@ do
i=0
while [ "$i" -lt "$n" ]
do
lock="$host:$i"
if [ ! -f "$lockDir/$lock" ]; then
# Set lock
touch "$lockDir/$lock"
lockFile="$lockDir/$host:$i"
if lockfile -r0 "$lockFile" 2>/dev/null; then
# Set colour
colour=${colours[$colourIndex]}
#echo "** host=$host colourIndex=$colourIndex colour=$colour"
@ -186,7 +180,7 @@ do
retval=$?
# Release lock
rm -f "$lockDir/$lock" 2>/dev/null
rm -f "$lockFile" 2>/dev/null
exit $retval
fi
i=$(expr $i + 1)
@ -198,6 +192,8 @@ do
fi
done
done
# Not found any free slots. Rest a bit.
sleep 1
done
if [ "$WM_COLOURS" ]; then