mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
See message about commiting the changes to fitting
This commit is contained in:
@ -320,9 +320,9 @@ void Foam::coupledPolyPatch::calcTransformTensors
|
||||
|
||||
if (debug)
|
||||
{
|
||||
Pout<< " rotation " << sum(mag(forwardT_ - forwardT_[0]))
|
||||
<< " more than local tolerance " << error
|
||||
<< ". Assuming uniform rotation." << endl;
|
||||
Pout<< " difference in rotation less than"
|
||||
<< " local tolerance "
|
||||
<< error << ". Assuming uniform rotation." << endl;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -34,6 +34,7 @@ License
|
||||
#include "matchPoints.H"
|
||||
#include "EdgeMap.H"
|
||||
#include "Time.H"
|
||||
#include "transformList.H"
|
||||
|
||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||
|
||||
@ -89,6 +90,9 @@ void Foam::cyclicPolyPatch::calcTransforms()
|
||||
{
|
||||
const pointField& points = this->points();
|
||||
|
||||
// Determine geometric quantities on the two halves
|
||||
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
primitivePatch half0
|
||||
(
|
||||
SubList<face>
|
||||
@ -199,15 +203,69 @@ void Foam::cyclicPolyPatch::calcTransforms()
|
||||
}
|
||||
|
||||
|
||||
// Calculate transformation tensors
|
||||
calcTransformTensors
|
||||
(
|
||||
half0Ctrs,
|
||||
half1Ctrs,
|
||||
half0Normals,
|
||||
half1Normals,
|
||||
half0Tols
|
||||
);
|
||||
// See if transformation is prescribed
|
||||
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
switch (transform_)
|
||||
{
|
||||
case ROTATIONAL:
|
||||
{
|
||||
// Specified single rotation tensor.
|
||||
|
||||
// Get best fitting face and its opposite number
|
||||
label face0 = getConsistentRotationFace(half0Ctrs);
|
||||
label face1 = face0;
|
||||
|
||||
vector n0 =
|
||||
(
|
||||
(half0Ctrs[face0] - rotationCentre_)
|
||||
^ rotationAxis_
|
||||
);
|
||||
vector n1 =
|
||||
(
|
||||
(half1Ctrs[face1] - rotationCentre_)
|
||||
^ -rotationAxis_
|
||||
);
|
||||
n0 /= mag(n0) + VSMALL;
|
||||
n1 /= mag(n1) + VSMALL;
|
||||
|
||||
if (debug)
|
||||
{
|
||||
Pout<< "cyclicPolyPatch::calcTransforms :"
|
||||
<< " Specified rotation :"
|
||||
<< " n0:" << n0 << " n1:" << n1 << endl;
|
||||
}
|
||||
|
||||
// Calculate transformation tensors from face0,1 only.
|
||||
// Note: can use tight tolerance now.
|
||||
calcTransformTensors
|
||||
(
|
||||
pointField(1, half0Ctrs[face0]),
|
||||
pointField(1, half1Ctrs[face1]),
|
||||
vectorField(1, n0),
|
||||
vectorField(1, n1),
|
||||
scalarField(1, half0Tols[face0]),
|
||||
1E-4
|
||||
);
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
{
|
||||
// Calculate transformation tensors from all faces.
|
||||
calcTransformTensors
|
||||
(
|
||||
half0Ctrs,
|
||||
half1Ctrs,
|
||||
half0Normals,
|
||||
half1Normals,
|
||||
half0Tols
|
||||
);
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -402,6 +460,7 @@ void Foam::cyclicPolyPatch::getCentresAndAnchors
|
||||
const faceList& half0Faces,
|
||||
const faceList& half1Faces,
|
||||
|
||||
pointField& ppPoints,
|
||||
pointField& half0Ctrs,
|
||||
pointField& half1Ctrs,
|
||||
pointField& anchors0,
|
||||
@ -442,6 +501,8 @@ void Foam::cyclicPolyPatch::getCentresAndAnchors
|
||||
anchors0[faceI] = Foam::transform(reverseT, anchors0[faceI]);
|
||||
}
|
||||
|
||||
ppPoints = Foam::transform(reverseT, pp.points());
|
||||
|
||||
break;
|
||||
}
|
||||
//- Problem: usually specified translation is not accurate enough
|
||||
@ -501,6 +562,7 @@ void Foam::cyclicPolyPatch::getCentresAndAnchors
|
||||
anchors0[faceI]
|
||||
);
|
||||
}
|
||||
ppPoints = Foam::transform(reverseT, pp.points());
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -524,6 +586,7 @@ void Foam::cyclicPolyPatch::getCentresAndAnchors
|
||||
|
||||
half0Ctrs += ctr1 - ctr0;
|
||||
anchors0 += ctr1 - ctr0;
|
||||
ppPoints = pp.points() + ctr1 - ctr0;
|
||||
}
|
||||
break;
|
||||
}
|
||||
@ -1079,7 +1142,7 @@ bool Foam::cyclicPolyPatch::order
|
||||
faceList half1Faces(IndirectList<face>(pp, half1ToPatch));
|
||||
|
||||
// Get geometric quantities
|
||||
pointField half0Ctrs, half1Ctrs, anchors0;
|
||||
pointField half0Ctrs, half1Ctrs, anchors0, ppPoints;
|
||||
scalarField tols;
|
||||
getCentresAndAnchors
|
||||
(
|
||||
@ -1087,6 +1150,7 @@ bool Foam::cyclicPolyPatch::order
|
||||
half0Faces,
|
||||
half1Faces,
|
||||
|
||||
ppPoints,
|
||||
half0Ctrs,
|
||||
half1Ctrs,
|
||||
anchors0,
|
||||
@ -1108,6 +1172,44 @@ bool Foam::cyclicPolyPatch::order
|
||||
{
|
||||
Pout<< "cyclicPolyPatch::order : test if already ordered:"
|
||||
<< matchedAll << endl;
|
||||
|
||||
// Dump halves
|
||||
fileName nm0("match1_"+name()+"_half0_faces.obj");
|
||||
Pout<< "cyclicPolyPatch::order : Writing half0"
|
||||
<< " faces to OBJ file " << nm0 << endl;
|
||||
writeOBJ(nm0, half0Faces, ppPoints);
|
||||
|
||||
fileName nm1("match1_"+name()+"_half1_faces.obj");
|
||||
Pout<< "cyclicPolyPatch::order : Writing half1"
|
||||
<< " faces to OBJ file " << nm1 << endl;
|
||||
writeOBJ(nm1, half1Faces, pp.points());
|
||||
|
||||
OFstream ccStr
|
||||
(
|
||||
boundaryMesh().mesh().time().path()
|
||||
/"match1_"+ name() + "_faceCentres.obj"
|
||||
);
|
||||
Pout<< "cyclicPolyPatch::order : "
|
||||
<< "Dumping currently found cyclic match as lines between"
|
||||
<< " corresponding face centres to file " << ccStr.name()
|
||||
<< endl;
|
||||
|
||||
// Recalculate untransformed face centres
|
||||
//pointField rawHalf0Ctrs = calcFaceCentres(half0Faces, pp.points());
|
||||
label vertI = 0;
|
||||
|
||||
forAll(half1Ctrs, i)
|
||||
{
|
||||
//if (from1To0[i] != -1)
|
||||
{
|
||||
// Write edge between c1 and c0
|
||||
//const point& c0 = rawHalf0Ctrs[from1To0[i]];
|
||||
//const point& c0 = half0Ctrs[from1To0[i]];
|
||||
const point& c0 = half0Ctrs[i];
|
||||
const point& c1 = half1Ctrs[i];
|
||||
writeOBJ(ccStr, c0, c1, vertI);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -1133,6 +1235,7 @@ bool Foam::cyclicPolyPatch::order
|
||||
half0Faces,
|
||||
half1Faces,
|
||||
|
||||
ppPoints,
|
||||
half0Ctrs,
|
||||
half1Ctrs,
|
||||
anchors0,
|
||||
@ -1153,6 +1256,42 @@ bool Foam::cyclicPolyPatch::order
|
||||
{
|
||||
Pout<< "cyclicPolyPatch::order : test if pairwise ordered:"
|
||||
<< matchedAll << endl;
|
||||
// Dump halves
|
||||
fileName nm0("match2_"+name()+"_half0_faces.obj");
|
||||
Pout<< "cyclicPolyPatch::order : Writing half0"
|
||||
<< " faces to OBJ file " << nm0 << endl;
|
||||
writeOBJ(nm0, half0Faces, ppPoints);
|
||||
|
||||
fileName nm1("match2_"+name()+"_half1_faces.obj");
|
||||
Pout<< "cyclicPolyPatch::order : Writing half1"
|
||||
<< " faces to OBJ file " << nm1 << endl;
|
||||
writeOBJ(nm1, half1Faces, pp.points());
|
||||
|
||||
OFstream ccStr
|
||||
(
|
||||
boundaryMesh().mesh().time().path()
|
||||
/"match2_"+name()+"_faceCentres.obj"
|
||||
);
|
||||
Pout<< "cyclicPolyPatch::order : "
|
||||
<< "Dumping currently found cyclic match as lines between"
|
||||
<< " corresponding face centres to file " << ccStr.name()
|
||||
<< endl;
|
||||
|
||||
// Recalculate untransformed face centres
|
||||
//pointField rawHalf0Ctrs = calcFaceCentres(half0Faces, pp.points());
|
||||
label vertI = 0;
|
||||
|
||||
forAll(half1Ctrs, i)
|
||||
{
|
||||
if (from1To0[i] != -1)
|
||||
{
|
||||
// Write edge between c1 and c0
|
||||
//const point& c0 = rawHalf0Ctrs[from1To0[i]];
|
||||
const point& c0 = half0Ctrs[from1To0[i]];
|
||||
const point& c1 = half1Ctrs[i];
|
||||
writeOBJ(ccStr, c0, c1, vertI);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1209,6 +1348,7 @@ bool Foam::cyclicPolyPatch::order
|
||||
half0Faces,
|
||||
half1Faces,
|
||||
|
||||
ppPoints,
|
||||
half0Ctrs,
|
||||
half1Ctrs,
|
||||
anchors0,
|
||||
@ -1229,8 +1369,43 @@ bool Foam::cyclicPolyPatch::order
|
||||
{
|
||||
Pout<< "cyclicPolyPatch::order : test if baffles:"
|
||||
<< matchedAll << endl;
|
||||
}
|
||||
// Dump halves
|
||||
fileName nm0("match3_"+name()+"_half0_faces.obj");
|
||||
Pout<< "cyclicPolyPatch::order : Writing half0"
|
||||
<< " faces to OBJ file " << nm0 << endl;
|
||||
writeOBJ(nm0, half0Faces, ppPoints);
|
||||
|
||||
fileName nm1("match3_"+name()+"_half1_faces.obj");
|
||||
Pout<< "cyclicPolyPatch::order : Writing half1"
|
||||
<< " faces to OBJ file " << nm1 << endl;
|
||||
writeOBJ(nm1, half1Faces, pp.points());
|
||||
|
||||
OFstream ccStr
|
||||
(
|
||||
boundaryMesh().mesh().time().path()
|
||||
/"match3_"+ name() + "_faceCentres.obj"
|
||||
);
|
||||
Pout<< "cyclicPolyPatch::order : "
|
||||
<< "Dumping currently found cyclic match as lines between"
|
||||
<< " corresponding face centres to file " << ccStr.name()
|
||||
<< endl;
|
||||
|
||||
// Recalculate untransformed face centres
|
||||
//pointField rawHalf0Ctrs = calcFaceCentres(half0Faces, pp.points());
|
||||
label vertI = 0;
|
||||
|
||||
forAll(half1Ctrs, i)
|
||||
{
|
||||
if (from1To0[i] != -1)
|
||||
{
|
||||
// Write edge between c1 and c0
|
||||
//const point& c0 = rawHalf0Ctrs[from1To0[i]];
|
||||
const point& c0 = half0Ctrs[from1To0[i]];
|
||||
const point& c1 = half1Ctrs[i];
|
||||
writeOBJ(ccStr, c0, c1, vertI);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1259,6 +1434,7 @@ bool Foam::cyclicPolyPatch::order
|
||||
half0Faces,
|
||||
half1Faces,
|
||||
|
||||
ppPoints,
|
||||
half0Ctrs,
|
||||
half1Ctrs,
|
||||
anchors0,
|
||||
@ -1279,6 +1455,42 @@ bool Foam::cyclicPolyPatch::order
|
||||
{
|
||||
Pout<< "cyclicPolyPatch::order : automatic ordering result:"
|
||||
<< matchedAll << endl;
|
||||
// Dump halves
|
||||
fileName nm0("match4_"+name()+"_half0_faces.obj");
|
||||
Pout<< "cyclicPolyPatch::order : Writing half0"
|
||||
<< " faces to OBJ file " << nm0 << endl;
|
||||
writeOBJ(nm0, half0Faces, ppPoints);
|
||||
|
||||
fileName nm1("match4_"+name()+"_half1_faces.obj");
|
||||
Pout<< "cyclicPolyPatch::order : Writing half1"
|
||||
<< " faces to OBJ file " << nm1 << endl;
|
||||
writeOBJ(nm1, half1Faces, pp.points());
|
||||
|
||||
OFstream ccStr
|
||||
(
|
||||
boundaryMesh().mesh().time().path()
|
||||
/"match4_"+ name() + "_faceCentres.obj"
|
||||
);
|
||||
Pout<< "cyclicPolyPatch::order : "
|
||||
<< "Dumping currently found cyclic match as lines between"
|
||||
<< " corresponding face centres to file " << ccStr.name()
|
||||
<< endl;
|
||||
|
||||
// Recalculate untransformed face centres
|
||||
//pointField rawHalf0Ctrs = calcFaceCentres(half0Faces, pp.points());
|
||||
label vertI = 0;
|
||||
|
||||
forAll(half1Ctrs, i)
|
||||
{
|
||||
if (from1To0[i] != -1)
|
||||
{
|
||||
// Write edge between c1 and c0
|
||||
//const point& c0 = rawHalf0Ctrs[from1To0[i]];
|
||||
const point& c0 = half0Ctrs[from1To0[i]];
|
||||
const point& c1 = half1Ctrs[i];
|
||||
writeOBJ(ccStr, c0, c1, vertI);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -141,6 +141,7 @@ private:
|
||||
const faceList& half0Faces,
|
||||
const faceList& half1Faces,
|
||||
|
||||
pointField& ppPoints,
|
||||
pointField& half0Ctrs,
|
||||
pointField& half1Ctrs,
|
||||
pointField& anchors0,
|
||||
|
||||
@ -152,6 +152,11 @@ Foam::label Foam::autoLayerDriver::mergePatchFacesUndo
|
||||
{
|
||||
mesh.movePoints(map().preMotionPoints());
|
||||
}
|
||||
else
|
||||
{
|
||||
// Delete mesh volumes.
|
||||
mesh.clearOut();
|
||||
}
|
||||
|
||||
faceCombiner.updateMesh(map);
|
||||
|
||||
@ -301,6 +306,11 @@ Foam::label Foam::autoLayerDriver::mergePatchFacesUndo
|
||||
{
|
||||
mesh.movePoints(map().preMotionPoints());
|
||||
}
|
||||
else
|
||||
{
|
||||
// Delete mesh volumes.
|
||||
mesh.clearOut();
|
||||
}
|
||||
|
||||
faceCombiner.updateMesh(map);
|
||||
|
||||
@ -363,6 +373,11 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::autoLayerDriver::doRemovePoints
|
||||
{
|
||||
mesh.movePoints(map().preMotionPoints());
|
||||
}
|
||||
else
|
||||
{
|
||||
// Delete mesh volumes.
|
||||
mesh.clearOut();
|
||||
}
|
||||
|
||||
pointRemover.updateMesh(map);
|
||||
meshRefiner_.updateMesh(map, labelList(0));
|
||||
@ -411,6 +426,11 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::autoLayerDriver::doRestorePoints
|
||||
{
|
||||
mesh.movePoints(map().preMotionPoints());
|
||||
}
|
||||
else
|
||||
{
|
||||
// Delete mesh volumes.
|
||||
mesh.clearOut();
|
||||
}
|
||||
|
||||
pointRemover.updateMesh(map);
|
||||
meshRefiner_.updateMesh(map, labelList(0));
|
||||
@ -2782,6 +2802,10 @@ void Foam::autoLayerDriver::addLayers
|
||||
|
||||
const_cast<Time&>(mesh.time())++;
|
||||
Info<< "Writing shrunk mesh to " << mesh.time().timeName() << endl;
|
||||
|
||||
// See comment in autoSnapDriver why we should not remove meshPhi
|
||||
// using mesh.clearPout().
|
||||
|
||||
mesh.write();
|
||||
}
|
||||
|
||||
@ -2970,6 +2994,11 @@ void Foam::autoLayerDriver::addLayers
|
||||
{
|
||||
mesh.movePoints(map().preMotionPoints());
|
||||
}
|
||||
else
|
||||
{
|
||||
// Delete mesh volumes.
|
||||
mesh.clearOut();
|
||||
}
|
||||
|
||||
meshRefiner_.updateMesh(map, labelList(0));
|
||||
|
||||
|
||||
@ -930,6 +930,7 @@ void Foam::autoSnapDriver::preSmoothPatch
|
||||
const_cast<Time&>(mesh.time())++;
|
||||
Pout<< "Writing patch smoothed mesh to time " << mesh.time().timeName()
|
||||
<< endl;
|
||||
|
||||
mesh.write();
|
||||
}
|
||||
|
||||
@ -1220,6 +1221,11 @@ void Foam::autoSnapDriver::smoothDisplacement
|
||||
const_cast<Time&>(mesh.time())++;
|
||||
Pout<< "Writing smoothed mesh to time " << mesh.time().timeName()
|
||||
<< endl;
|
||||
|
||||
// Moving mesh creates meshPhi. Can be cleared out by a mesh.clearOut
|
||||
// but this will also delete all pointMesh but not pointFields which
|
||||
// gives an illegal situation.
|
||||
|
||||
mesh.write();
|
||||
|
||||
Pout<< "Writing displacement field ..." << endl;
|
||||
|
||||
@ -458,6 +458,11 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::createBaffles
|
||||
{
|
||||
mesh_.movePoints(map().preMotionPoints());
|
||||
}
|
||||
else
|
||||
{
|
||||
// Delete mesh volumes.
|
||||
mesh_.clearOut();
|
||||
}
|
||||
|
||||
//- Redo the intersections on the newly create baffle faces. Note that
|
||||
// this changes also the cell centre positions.
|
||||
@ -1448,6 +1453,11 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::mergeBaffles
|
||||
{
|
||||
mesh_.movePoints(map().preMotionPoints());
|
||||
}
|
||||
else
|
||||
{
|
||||
// Delete mesh volumes.
|
||||
mesh_.clearOut();
|
||||
}
|
||||
|
||||
// Update intersections. Recalculate intersections on merged faces since
|
||||
// this seems to give problems? Note: should not be nessecary since
|
||||
@ -2405,6 +2415,11 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::dupNonManifoldPoints()
|
||||
{
|
||||
mesh_.movePoints(map().preMotionPoints());
|
||||
}
|
||||
else
|
||||
{
|
||||
// Delete mesh volumes.
|
||||
mesh_.clearOut();
|
||||
}
|
||||
|
||||
// Update intersections. Is mapping only (no faces created, positions stay
|
||||
// same) so no need to recalculate intersections.
|
||||
@ -2828,6 +2843,11 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::zonify
|
||||
{
|
||||
mesh_.movePoints(map().preMotionPoints());
|
||||
}
|
||||
else
|
||||
{
|
||||
// Delete mesh volumes.
|
||||
mesh_.clearOut();
|
||||
}
|
||||
|
||||
return map;
|
||||
}
|
||||
|
||||
@ -835,7 +835,7 @@ Foam::label Foam::meshRefinement::markSurfaceCurvatureRefinement
|
||||
// minLevel) and cache per cell the max surface level and the local normal
|
||||
// on that surface.
|
||||
labelList cellMaxLevel(mesh_.nCells(), -1);
|
||||
vectorField cellMaxNormal(mesh_.nCells());
|
||||
vectorField cellMaxNormal(mesh_.nCells(), vector::zero);
|
||||
|
||||
{
|
||||
// Per segment the normals of the surfaces
|
||||
@ -1226,6 +1226,11 @@ Foam::autoPtr<Foam::mapPolyMesh> Foam::meshRefinement::refine
|
||||
{
|
||||
mesh_.movePoints(map().preMotionPoints());
|
||||
}
|
||||
else
|
||||
{
|
||||
// Delete mesh volumes.
|
||||
mesh_.clearOut();
|
||||
}
|
||||
|
||||
// Update intersection info
|
||||
updateMesh(map, getChangedFaces(map, cellsToRefine));
|
||||
|
||||
@ -780,9 +780,6 @@ Foam::tmp<Foam::scalarField> Foam::motionSmoother::movePoints
|
||||
|
||||
tmp<scalarField> tsweptVol = mesh_.movePoints(newPoints);
|
||||
|
||||
//!!! Workaround for movePoints bug
|
||||
const_cast<polyBoundaryMesh&>(mesh_.boundaryMesh()).movePoints(newPoints);
|
||||
|
||||
pp_.movePoints(mesh_.points());
|
||||
|
||||
return tsweptVol;
|
||||
|
||||
@ -42,9 +42,15 @@ License
|
||||
#include "extendedLeastSquaresVectors.H"
|
||||
#include "extendedLeastSquaresVectors.H"
|
||||
#include "leastSquaresVectors.H"
|
||||
<<<<<<< HEAD:src/finiteVolume/fvMesh/fvMesh.C
|
||||
#include "CentredFitData.H"
|
||||
#include "linearFitPolynomial.H"
|
||||
#include "quadraticLinearFitPolynomial.H"
|
||||
=======
|
||||
//#include "linearFitData.H"
|
||||
//#include "quadraticFitData.H"
|
||||
//#include "quadraticFitSnGradData.H"
|
||||
>>>>>>> a5197e512825ed4dd1a45d45c1706c8b56f61489:src/finiteVolume/fvMesh/fvMesh.C
|
||||
#include "skewCorrectionVectors.H"
|
||||
|
||||
#include "centredCECStencilObject.H"
|
||||
@ -94,8 +100,14 @@ void Foam::fvMesh::clearGeom()
|
||||
extendedLeastSquaresVectors::Delete(*this);
|
||||
extendedLeastSquaresVectors::Delete(*this);
|
||||
leastSquaresVectors::Delete(*this);
|
||||
<<<<<<< HEAD:src/finiteVolume/fvMesh/fvMesh.C
|
||||
CentredFitData<linearFitPolynomial>::Delete(*this);
|
||||
CentredFitData<quadraticLinearFitPolynomial>::Delete(*this);
|
||||
=======
|
||||
//linearFitData::Delete(*this);
|
||||
//quadraticFitData::Delete(*this);
|
||||
//quadraticFitSnGradData::Delete(*this);
|
||||
>>>>>>> a5197e512825ed4dd1a45d45c1706c8b56f61489:src/finiteVolume/fvMesh/fvMesh.C
|
||||
skewCorrectionVectors::Delete(*this);
|
||||
}
|
||||
|
||||
@ -110,8 +122,14 @@ void Foam::fvMesh::clearAddressing()
|
||||
extendedLeastSquaresVectors::Delete(*this);
|
||||
extendedLeastSquaresVectors::Delete(*this);
|
||||
leastSquaresVectors::Delete(*this);
|
||||
<<<<<<< HEAD:src/finiteVolume/fvMesh/fvMesh.C
|
||||
CentredFitData<linearFitPolynomial>::Delete(*this);
|
||||
CentredFitData<quadraticLinearFitPolynomial>::Delete(*this);
|
||||
=======
|
||||
//linearFitData::Delete(*this);
|
||||
//quadraticFitData::Delete(*this);
|
||||
//quadraticFitSnGradData::Delete(*this);
|
||||
>>>>>>> a5197e512825ed4dd1a45d45c1706c8b56f61489:src/finiteVolume/fvMesh/fvMesh.C
|
||||
skewCorrectionVectors::Delete(*this);
|
||||
|
||||
centredCECStencilObject::Delete(*this);
|
||||
@ -662,12 +680,142 @@ Foam::tmp<Foam::scalarField> Foam::fvMesh::movePoints(const pointField& p)
|
||||
|
||||
// Hack until proper callbacks. Below are all the fvMesh MeshObjects with a
|
||||
// movePoints function.
|
||||
<<<<<<< HEAD:src/finiteVolume/fvMesh/fvMesh.C
|
||||
MeshObjectMovePoints<volPointInterpolation>(*this);
|
||||
MeshObjectMovePoints<extendedLeastSquaresVectors>(*this);
|
||||
MeshObjectMovePoints<leastSquaresVectors>(*this);
|
||||
MeshObjectMovePoints<CentredFitData<linearFitPolynomial> >(*this);
|
||||
MeshObjectMovePoints<CentredFitData<quadraticLinearFitPolynomial> >(*this);
|
||||
MeshObjectMovePoints<skewCorrectionVectors>(*this);
|
||||
=======
|
||||
|
||||
// volPointInterpolation
|
||||
if
|
||||
(
|
||||
db().objectRegistry::foundObject<volPointInterpolation>
|
||||
(
|
||||
volPointInterpolation::typeName
|
||||
)
|
||||
)
|
||||
{
|
||||
const_cast<volPointInterpolation&>
|
||||
(
|
||||
db().objectRegistry::lookupObject<volPointInterpolation>
|
||||
(
|
||||
volPointInterpolation::typeName
|
||||
)
|
||||
).movePoints();
|
||||
}
|
||||
|
||||
// extendedLeastSquaresVectors
|
||||
if
|
||||
(
|
||||
db().objectRegistry::foundObject<extendedLeastSquaresVectors>
|
||||
(
|
||||
extendedLeastSquaresVectors::typeName
|
||||
)
|
||||
)
|
||||
{
|
||||
const_cast<extendedLeastSquaresVectors&>
|
||||
(
|
||||
db().objectRegistry::lookupObject<extendedLeastSquaresVectors>
|
||||
(
|
||||
extendedLeastSquaresVectors::typeName
|
||||
)
|
||||
).movePoints();
|
||||
}
|
||||
|
||||
// leastSquaresVectors
|
||||
if
|
||||
(
|
||||
db().objectRegistry::foundObject<leastSquaresVectors>
|
||||
(
|
||||
leastSquaresVectors::typeName
|
||||
)
|
||||
)
|
||||
{
|
||||
const_cast<leastSquaresVectors&>
|
||||
(
|
||||
db().objectRegistry::lookupObject<leastSquaresVectors>
|
||||
(
|
||||
leastSquaresVectors::typeName
|
||||
)
|
||||
).movePoints();
|
||||
}
|
||||
|
||||
//// linearFitData
|
||||
//if
|
||||
//(
|
||||
// db().objectRegistry::foundObject<linearFitData>
|
||||
// (
|
||||
// linearFitData::typeName
|
||||
// )
|
||||
//)
|
||||
//{
|
||||
// const_cast<linearFitData&>
|
||||
// (
|
||||
// db().objectRegistry::lookupObject<linearFitData>
|
||||
// (
|
||||
// linearFitData::typeName
|
||||
// )
|
||||
// ).movePoints();
|
||||
//}
|
||||
|
||||
//// quadraticFitData
|
||||
//if
|
||||
//(
|
||||
// db().objectRegistry::foundObject<quadraticFitData>
|
||||
// (
|
||||
// quadraticFitData::typeName
|
||||
// )
|
||||
//)
|
||||
//{
|
||||
// const_cast<quadraticFitData&>
|
||||
// (
|
||||
// db().objectRegistry::lookupObject<quadraticFitData>
|
||||
// (
|
||||
// quadraticFitData::typeName
|
||||
// )
|
||||
// ).movePoints();
|
||||
//}
|
||||
|
||||
//// quadraticFitSnGradData
|
||||
//if
|
||||
//(
|
||||
// db().objectRegistry::foundObject<quadraticFitSnGradData>
|
||||
// (
|
||||
// quadraticFitSnGradData::typeName
|
||||
// )
|
||||
//)
|
||||
//{
|
||||
// const_cast<quadraticFitSnGradData&>
|
||||
// (
|
||||
// db().objectRegistry::lookupObject<quadraticFitSnGradData>
|
||||
// (
|
||||
// quadraticFitSnGradData::typeName
|
||||
// )
|
||||
// ).movePoints();
|
||||
//}
|
||||
|
||||
// skewCorrectionVectors
|
||||
if
|
||||
(
|
||||
db().objectRegistry::foundObject<skewCorrectionVectors>
|
||||
(
|
||||
skewCorrectionVectors::typeName
|
||||
)
|
||||
)
|
||||
{
|
||||
const_cast<skewCorrectionVectors&>
|
||||
(
|
||||
db().objectRegistry::lookupObject<skewCorrectionVectors>
|
||||
(
|
||||
skewCorrectionVectors::typeName
|
||||
)
|
||||
).movePoints();
|
||||
}
|
||||
|
||||
>>>>>>> a5197e512825ed4dd1a45d45c1706c8b56f61489:src/finiteVolume/fvMesh/fvMesh.C
|
||||
|
||||
return tsweptVols;
|
||||
}
|
||||
|
||||
@ -2192,9 +2192,10 @@ bool Foam::distributedTriSurfaceMesh::writeObject
|
||||
// Make sure dictionary goes to same directory as surface
|
||||
const_cast<fileName&>(dict_.instance()) = searchableSurface::instance();
|
||||
|
||||
// Dictionary needs to be written in ascii - binary output not supported.
|
||||
return
|
||||
triSurfaceMesh::writeObject(fmt, ver, cmp)
|
||||
&& dict_.writeObject(fmt, ver, cmp);
|
||||
&& dict_.writeObject(IOstream::ASCII, ver, cmp);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user