Skip to content
Snippets Groups Projects
Commit e3da5092 authored by mattijs's avatar mattijs
Browse files

ENH: meshRefinement: debug routine

parent 86dd59ad
No related branches found
No related tags found
No related merge requests found
...@@ -989,6 +989,14 @@ public: ...@@ -989,6 +989,14 @@ public:
const UList<T>& const UList<T>&
) const; ) const;
//- Print list according to (collected and) sorted coordinate
template<class T>
static void collectAndPrint
(
const pointField& points,
const UList<T>& data
);
//- Print some mesh stats. //- Print some mesh stats.
void printMeshInfo(const bool, const string&) const; void printMeshInfo(const bool, const string&) const;
......
...@@ -25,6 +25,7 @@ License ...@@ -25,6 +25,7 @@ License
#include "meshRefinement.H" #include "meshRefinement.H"
#include "fvMesh.H" #include "fvMesh.H"
#include "globalIndex.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
...@@ -112,11 +113,11 @@ T meshRefinement::gAverage ...@@ -112,11 +113,11 @@ T meshRefinement::gAverage
( (
const polyMesh& mesh, const polyMesh& mesh,
const PackedBoolList& isMasterElem, const PackedBoolList& isMasterElem,
const labelList& meshPoints, const labelList& meshElems,
const UList<T>& values const UList<T>& values
) )
{ {
if (values.size() != meshPoints.size()) if (values.size() != meshElems.size())
{ {
FatalErrorIn FatalErrorIn
( (
...@@ -128,8 +129,8 @@ T meshRefinement::gAverage ...@@ -128,8 +129,8 @@ T meshRefinement::gAverage
" const UList<T>& values\n" " const UList<T>& values\n"
")\n" ")\n"
) << "Number of elements in list " << values.size() ) << "Number of elements in list " << values.size()
<< " does not correspond to number of elements in meshPoints " << " does not correspond to number of elements in meshElems "
<< meshPoints.size() << meshElems.size()
<< exit(FatalError); << exit(FatalError);
} }
...@@ -138,7 +139,7 @@ T meshRefinement::gAverage ...@@ -138,7 +139,7 @@ T meshRefinement::gAverage
forAll(values, i) forAll(values, i)
{ {
if (isMasterElem[meshPoints[i]]) if (isMasterElem[meshElems[i]])
{ {
sum += values[i]; sum += values[i];
n++; n++;
...@@ -218,6 +219,53 @@ void meshRefinement::testSyncBoundaryFaceList ...@@ -218,6 +219,53 @@ void meshRefinement::testSyncBoundaryFaceList
} }
// Print list sorted by coordinates. Used for comparing non-parallel v.s.
// parallel operation
template<class T>
void meshRefinement::collectAndPrint
(
const pointField& points,
const UList<T>& data
)
{
globalIndex globalPoints(points.size());
pointField allPoints;
globalPoints.gather
(
Pstream::worldComm,
identity(Pstream::nProcs()),
points,
allPoints,
UPstream::msgType(),
Pstream::blocking
);
Field<T> allData;
globalPoints.gather
(
Pstream::worldComm,
identity(Pstream::nProcs()),
data,
allData,
UPstream::msgType(),
Pstream::blocking
);
scalarField magAllPoints(mag(allPoints));
labelList visitOrder;
sortedOrder(magAllPoints, visitOrder);
forAll(visitOrder, i)
{
label allPointI = visitOrder[i];
Info<< allPoints[allPointI] << " : " << allData[allPointI]
<< endl;
}
}
//template<class T, class Mesh> //template<class T, class Mesh>
template<class GeoField> template<class GeoField>
void meshRefinement::addPatchFields(fvMesh& mesh, const word& patchFieldType) void meshRefinement::addPatchFields(fvMesh& mesh, const word& patchFieldType)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment