Skip to content
Snippets Groups Projects
Commit a2e95fb4 authored by Henry's avatar Henry
Browse files
parents a7db0865 63b95cec
Branches
Tags
No related merge requests found
...@@ -332,7 +332,19 @@ void timeVaryingMappedFixedValueFvPatchField<Type>::readSamplePoints() ...@@ -332,7 +332,19 @@ void timeVaryingMappedFixedValueFvPatchField<Type>::readSamplePoints()
( (
referenceCS().localPosition(samplePoints) referenceCS().localPosition(samplePoints)
); );
const vectorField& localVertices = tlocalVertices(); vectorField& localVertices = tlocalVertices();
// Shear to avoid degenerate cases
forAll(localVertices, i)
{
point& pt = localVertices[i];
const scalar magPt = mag(pt);
const point nptDir = pt/magPt;
if (magPt > ROOTVSMALL)
{
pt += pow(magPt, 1.1 + Foam::sqrt(SMALL))*nptDir;
}
}
// Determine triangulation // Determine triangulation
List<vector2D> localVertices2D(localVertices.size()); List<vector2D> localVertices2D(localVertices.size());
...@@ -342,7 +354,7 @@ void timeVaryingMappedFixedValueFvPatchField<Type>::readSamplePoints() ...@@ -342,7 +354,7 @@ void timeVaryingMappedFixedValueFvPatchField<Type>::readSamplePoints()
localVertices2D[i][1] = localVertices[i][1]; localVertices2D[i][1] = localVertices[i][1];
} }
tmp<pointField> localFaceCentres tmp<pointField> tlocalFaceCentres
( (
referenceCS().localPosition referenceCS().localPosition
( (
...@@ -350,6 +362,20 @@ void timeVaryingMappedFixedValueFvPatchField<Type>::readSamplePoints() ...@@ -350,6 +362,20 @@ void timeVaryingMappedFixedValueFvPatchField<Type>::readSamplePoints()
) )
); );
pointField& localFaceCentres = tlocalFaceCentres();
// Shear to avoid degenerate cases
forAll(localFaceCentres, i)
{
point& pt = localFaceCentres[i];
const scalar magPt = mag(pt);
const point nptDir = pt/magPt;
if (magPt > ROOTVSMALL)
{
pt += pow(magPt, 1.1 + Foam::sqrt(SMALL))*nptDir;
}
}
if (debug) if (debug)
{ {
OFstream str OFstream str
...@@ -360,9 +386,9 @@ void timeVaryingMappedFixedValueFvPatchField<Type>::readSamplePoints() ...@@ -360,9 +386,9 @@ void timeVaryingMappedFixedValueFvPatchField<Type>::readSamplePoints()
Pout<< "readSamplePoints :" Pout<< "readSamplePoints :"
<< " Dumping face centres to " << str.name() << endl; << " Dumping face centres to " << str.name() << endl;
forAll(localFaceCentres(), i) forAll(localFaceCentres, i)
{ {
const point& p = localFaceCentres()[i]; const point& p = localFaceCentres[i];
str<< "v " << p.x() << ' ' << p.y() << ' ' << p.z() << nl; str<< "v " << p.x() << ' ' << p.y() << ' ' << p.z() << nl;
} }
} }
...@@ -380,9 +406,9 @@ void timeVaryingMappedFixedValueFvPatchField<Type>::readSamplePoints() ...@@ -380,9 +406,9 @@ void timeVaryingMappedFixedValueFvPatchField<Type>::readSamplePoints()
Pout<< "readSamplePoints :" Pout<< "readSamplePoints :"
<< " Dumping face centres to " << str.name() << endl; << " Dumping face centres to " << str.name() << endl;
forAll(localFaceCentres(), i) forAll(localFaceCentres, i)
{ {
const point& p = localFaceCentres()[i]; const point& p = localFaceCentres[i];
str<< "v " << p.x() << ' ' << p.y() << ' ' << p.z() << nl; str<< "v " << p.x() << ' ' << p.y() << ' ' << p.z() << nl;
} }
} }
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment