diff --git a/applications/utilities/surface/surfaceFeatureConvert/surfaceFeatureConvert.C b/applications/utilities/surface/surfaceFeatureConvert/surfaceFeatureConvert.C index 47ba9eb2a9a22c3975238b31ea6dd7e4498226a5..03c18cd3e963eaebfcffbe26ebc44d4340cee358 100644 --- a/applications/utilities/surface/surfaceFeatureConvert/surfaceFeatureConvert.C +++ b/applications/utilities/surface/surfaceFeatureConvert/surfaceFeatureConvert.C @@ -230,8 +230,8 @@ void write int main(int argc, char *argv[]) { argList::noParallel(); - argList::validArgs.append("surface"); - argList::validArgs.append("output name"); + argList::validArgs.append("input file"); + argList::validArgs.append("output file"); # include "setRootCase.H" # include "createTime.H" diff --git a/etc/settings.csh b/etc/settings.csh index 865d486ad07d874d539d1efabf90034c1cf0acdb..6b1631073c9fb2d885e60dafe7efa2de99883bf7 100644 --- a/etc/settings.csh +++ b/etc/settings.csh @@ -130,6 +130,8 @@ endif # Communications library # ~~~~~~~~~~~~~~~~~~~~~~ +unset MPI_ARCH_PATH + switch ("$WM_MPLIB") case OPENMPI: set mpi_version=openmpi-1.2.6 diff --git a/src/OSspecific/Unix/Unix.C b/src/OSspecific/Unix/Unix.C index 830f48e71a7cb92db4f4b385724152f3a07b136e..e50444a23602ce9f84b69ced0c935e1246755a74 100644 --- a/src/OSspecific/Unix/Unix.C +++ b/src/OSspecific/Unix/Unix.C @@ -103,11 +103,7 @@ bool Foam::setEnv const bool overwrite ) { -# ifdef linux return setenv(envName.c_str(), value.c_str(), overwrite) == 0; -# else - return putenv((char*)(envName + '=' + value.c_str()).c_str()) == 0; -# endif } diff --git a/src/sampling/probes/probes.C b/src/sampling/probes/probes.C index 2fcd9688e6ab8eab3a68b1c1c418d064a2c1ca98..b47f52e1f0e12d6fb88306720b8e8933a8d0f08f 100644 --- a/src/sampling/probes/probes.C +++ b/src/sampling/probes/probes.C @@ -231,14 +231,22 @@ bool Foam::probes::checkFieldTypes() probeFilePtrs_.insert(fldName, sPtr); - *sPtr<< '#' << setw(IOstream::defaultPrecision() + 6) - << "Time"; + unsigned int w = IOstream::defaultPrecision() + 7; - forAll(probeLocations_, probeI) + for (direction cmpt=0; cmpt<vector::nComponents; cmpt++) { - *sPtr << token::SPACE << probeLocations_[probeI]; + *sPtr<< '#' << setw(IOstream::defaultPrecision() + 6) + << vector::componentNames[cmpt]; + + forAll(probeLocations_, probeI) + { + *sPtr<< setw(w) << probeLocations_[probeI][cmpt]; + } + *sPtr << endl; } - *sPtr << endl; + + *sPtr<< '#' << setw(IOstream::defaultPrecision() + 6) + << "Time" << endl; } } diff --git a/src/triSurface/triSurface/interfaces/STL/readSTLASCII.L b/src/triSurface/triSurface/interfaces/STL/readSTLASCII.L index c6343dd55efba314a035b5b2fb2de71cb4ecc476..fe49521d0d30b7b3ea2d1f38726706a5715c5a96 100644 --- a/src/triSurface/triSurface/interfaces/STL/readSTLASCII.L +++ b/src/triSurface/triSurface/interfaces/STL/readSTLASCII.L @@ -438,6 +438,7 @@ bool triSurface::readSTLASCII(const fileName& STLfileName) STLlabels.clear(); + // Stitch all points within SMALL meters. stitchTriangles(rawPoints); // Convert solidNames into regionNames diff --git a/src/triSurface/triSurface/stitchTriangles.C b/src/triSurface/triSurface/stitchTriangles.C index 5b22529bdd4576293164046637c397df247831e4..a9bf3c47827a5229e8cd509b9a8f3ed3c2be6b38 100644 --- a/src/triSurface/triSurface/stitchTriangles.C +++ b/src/triSurface/triSurface/stitchTriangles.C @@ -42,17 +42,16 @@ bool triSurface::stitchTriangles ) { // Merge points - labelList pointMap(rawPoints.size()); - - pointField newPoints(rawPoints.size()); - + labelList pointMap; + pointField newPoints; bool hasMerged = mergePoints(rawPoints, tol, verbose, pointMap, newPoints); if (hasMerged) { if (verbose) { - Pout<< "stitchTriangles : Renumbering all triangles" << endl; + Pout<< "stitchTriangles : Merged from " << rawPoints.size() + << " points down to " << newPoints.size() << endl; } pointField& ps = const_cast<pointField&>(points()); @@ -73,6 +72,7 @@ bool triSurface::stitchTriangles operator[](newTriangleI)[0] = newA; operator[](newTriangleI)[1] = newB; operator[](newTriangleI)[2] = newC; + operator[](newTriangleI).region() = operator[](i).region(); newTriangleI++; } else if (verbose) diff --git a/src/triSurface/triSurface/triSurface.C b/src/triSurface/triSurface/triSurface.C index 265b08d9c835ab08696c6d2a6b6946e4fae4ebd2..b58c2f6f583527a83d60291629df5a256a0fa02d 100644 --- a/src/triSurface/triSurface/triSurface.C +++ b/src/triSurface/triSurface/triSurface.C @@ -651,7 +651,7 @@ surfacePatchList triSurface::calcPatches(labelList& faceMap) const { sortedRegion[faceI] = operator[](faceI).region(); } - sortedRegion.sort(); + sortedRegion.stableSort(); faceMap = sortedRegion.indices(); @@ -1214,7 +1214,11 @@ void triSurface::writeStats(Ostream& os) const { // Calculate bounding box without any additional addressing // Copy of treeBoundBox code. Cannot use meshTools from triSurface... - boundBox bb; + boundBox bb + ( + point(VGREAT, VGREAT, VGREAT), + point(-VGREAT, -VGREAT, -VGREAT) + ); forAll(*this, triI) { const labelledTri& f = operator[](triI);