mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
Merge branch 'master' of ssh://noisy/home/noisy2/OpenFOAM/OpenFOAM-dev
This commit is contained in:
@ -140,6 +140,7 @@ buildParaView ()
|
|||||||
{
|
{
|
||||||
# set general options
|
# set general options
|
||||||
addCMakeVariable "BUILD_SHARED_LIBS:BOOL=ON"
|
addCMakeVariable "BUILD_SHARED_LIBS:BOOL=ON"
|
||||||
|
addCMakeVariable "VTK_USE_RPATH:BOOL=OFF"
|
||||||
addCMakeVariable "CMAKE_BUILD_TYPE:STRING=Release"
|
addCMakeVariable "CMAKE_BUILD_TYPE:STRING=Release"
|
||||||
|
|
||||||
# set paraview environment
|
# set paraview environment
|
||||||
|
|||||||
@ -44,6 +44,7 @@ void Foam::Time::readDict()
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
scalar oldWriteInterval = writeInterval_;
|
||||||
if (controlDict_.readIfPresent("writeInterval", writeInterval_))
|
if (controlDict_.readIfPresent("writeInterval", writeInterval_))
|
||||||
{
|
{
|
||||||
if (writeControl_ == wcTimeStep && label(writeInterval_) < 1)
|
if (writeControl_ == wcTimeStep && label(writeInterval_) < 1)
|
||||||
@ -58,6 +59,22 @@ void Foam::Time::readDict()
|
|||||||
controlDict_.lookup("writeFrequency") >> writeInterval_;
|
controlDict_.lookup("writeFrequency") >> writeInterval_;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (oldWriteInterval != writeInterval_)
|
||||||
|
{
|
||||||
|
switch(writeControl_)
|
||||||
|
{
|
||||||
|
case wcRunTime:
|
||||||
|
case wcAdjustableRunTime:
|
||||||
|
// Recalculate outputTimeIndex_ to be in units of current
|
||||||
|
// writeInterval.
|
||||||
|
outputTimeIndex_ *= oldWriteInterval/writeInterval_;
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (controlDict_.readIfPresent("purgeWrite", purgeWrite_))
|
if (controlDict_.readIfPresent("purgeWrite", purgeWrite_))
|
||||||
{
|
{
|
||||||
if (purgeWrite_ < 0)
|
if (purgeWrite_ < 0)
|
||||||
|
|||||||
@ -248,7 +248,7 @@ Foam::label Foam::autoRefineDriver::surfaceOnlyRefine
|
|||||||
refineParams.keepPoints()[0],
|
refineParams.keepPoints()[0],
|
||||||
refineParams.curvature(),
|
refineParams.curvature(),
|
||||||
|
|
||||||
PtrList<featureEdgeMesh>(0), // dummy featureMeshes;
|
PtrList<featureEdgeMesh>(), // dummy featureMeshes;
|
||||||
labelList(0), // dummy featureLevels;
|
labelList(0), // dummy featureLevels;
|
||||||
|
|
||||||
false, // featureRefinement
|
false, // featureRefinement
|
||||||
@ -389,7 +389,7 @@ Foam::label Foam::autoRefineDriver::shellRefine
|
|||||||
refineParams.keepPoints()[0],
|
refineParams.keepPoints()[0],
|
||||||
refineParams.curvature(),
|
refineParams.curvature(),
|
||||||
|
|
||||||
PtrList<featureEdgeMesh>(0), // dummy featureMeshes;
|
PtrList<featureEdgeMesh>(), // dummy featureMeshes;
|
||||||
labelList(0), // dummy featureLevels;
|
labelList(0), // dummy featureLevels;
|
||||||
|
|
||||||
false, // featureRefinement
|
false, // featureRefinement
|
||||||
|
|||||||
@ -155,6 +155,23 @@ void Foam::duplicatePoints::setRefinement
|
|||||||
zoneFlip = fZone.flipMap()[fZone.whichFace(faceI)];
|
zoneFlip = fZone.flipMap()[fZone.whichFace(faceI)];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (mesh_.isInternalFace(faceI))
|
||||||
|
{
|
||||||
|
meshMod.modifyFace
|
||||||
|
(
|
||||||
|
newFace, // modified face
|
||||||
|
faceI, // label of face being modified
|
||||||
|
mesh_.faceOwner()[faceI], // owner
|
||||||
|
mesh_.faceNeighbour()[faceI], // neighbour
|
||||||
|
false, // face flip
|
||||||
|
-1, // patch for face
|
||||||
|
zoneID, // zone for face
|
||||||
|
zoneFlip // face flip in zone
|
||||||
|
);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
meshMod.modifyFace
|
meshMod.modifyFace
|
||||||
(
|
(
|
||||||
newFace, // modified face
|
newFace, // modified face
|
||||||
@ -167,6 +184,7 @@ void Foam::duplicatePoints::setRefinement
|
|||||||
zoneFlip // face flip in zone
|
zoneFlip // face flip in zone
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if (debug)
|
if (debug)
|
||||||
|
|||||||
@ -45,13 +45,20 @@ public:
|
|||||||
|
|
||||||
void operator()(face& x, const face& y) const
|
void operator()(face& x, const face& y) const
|
||||||
{
|
{
|
||||||
|
if (x.size() > 0)
|
||||||
|
{
|
||||||
|
label j = 0;
|
||||||
forAll(x, i)
|
forAll(x, i)
|
||||||
{
|
{
|
||||||
x[i] = min(x[i], y[i]);
|
x[i] = min(x[i], y[j]);
|
||||||
|
|
||||||
|
j = y.rcIndex(j);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Dummy transform for faces. Used in synchronisation
|
// Dummy transform for faces. Used in synchronisation
|
||||||
void transformList
|
void transformList
|
||||||
(
|
(
|
||||||
@ -103,6 +110,7 @@ bool Foam::localPointRegion::isDuplicate
|
|||||||
void Foam::localPointRegion::countPointRegions
|
void Foam::localPointRegion::countPointRegions
|
||||||
(
|
(
|
||||||
const polyMesh& mesh,
|
const polyMesh& mesh,
|
||||||
|
const boolList& candidatePoint,
|
||||||
const Map<label>& candidateFace,
|
const Map<label>& candidateFace,
|
||||||
faceList& minRegion
|
faceList& minRegion
|
||||||
)
|
)
|
||||||
@ -120,7 +128,7 @@ void Foam::localPointRegion::countPointRegions
|
|||||||
|
|
||||||
forAllConstIter(Map<label>, candidateFace, iter)
|
forAllConstIter(Map<label>, candidateFace, iter)
|
||||||
{
|
{
|
||||||
label faceI = iter();
|
label faceI = iter.key();
|
||||||
|
|
||||||
if (!mesh.isInternalFace(faceI))
|
if (!mesh.isInternalFace(faceI))
|
||||||
{
|
{
|
||||||
@ -137,6 +145,12 @@ void Foam::localPointRegion::countPointRegions
|
|||||||
forAll(f, fp)
|
forAll(f, fp)
|
||||||
{
|
{
|
||||||
label pointI = f[fp];
|
label pointI = f[fp];
|
||||||
|
|
||||||
|
// Even points which were not candidates for splitting might
|
||||||
|
// be on multiple baffles that are being split so check.
|
||||||
|
|
||||||
|
if (candidatePoint[pointI])
|
||||||
|
{
|
||||||
label region = minRegion[faceI][fp];
|
label region = minRegion[faceI][fp];
|
||||||
|
|
||||||
if (minPointRegion[pointI] == -1)
|
if (minPointRegion[pointI] == -1)
|
||||||
@ -173,7 +187,33 @@ void Foam::localPointRegion::countPointRegions
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
minPointRegion.clear();
|
minPointRegion.clear();
|
||||||
|
|
||||||
|
// Add internal faces that use any duplicated point. Can only have one
|
||||||
|
// region!
|
||||||
|
forAllConstIter(Map<label>, candidateFace, iter)
|
||||||
|
{
|
||||||
|
label faceI = iter.key();
|
||||||
|
|
||||||
|
if (mesh.isInternalFace(faceI))
|
||||||
|
{
|
||||||
|
const face& f = mesh.faces()[faceI];
|
||||||
|
|
||||||
|
forAll(f, fp)
|
||||||
|
{
|
||||||
|
// Note: candidatePoint test not really necessary but
|
||||||
|
// speeds up rejection.
|
||||||
|
if (candidatePoint[f[fp]] && meshPointMap_.found(f[fp]))
|
||||||
|
{
|
||||||
|
label meshFaceMapI = meshFaceMap_.size();
|
||||||
|
meshFaceMap_.insert(faceI, meshFaceMapI);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// Transfer to member data
|
// Transfer to member data
|
||||||
pointRegions.shrink();
|
pointRegions.shrink();
|
||||||
pointRegions_.setSize(pointRegions.size());
|
pointRegions_.setSize(pointRegions.size());
|
||||||
@ -285,7 +325,7 @@ void Foam::localPointRegion::calcPointRegions
|
|||||||
faceList minRegion(mesh.nFaces());
|
faceList minRegion(mesh.nFaces());
|
||||||
forAllConstIter(Map<label>, candidateFace, iter)
|
forAllConstIter(Map<label>, candidateFace, iter)
|
||||||
{
|
{
|
||||||
label faceI = iter();
|
label faceI = iter.key();
|
||||||
const face& f = mesh.faces()[faceI];
|
const face& f = mesh.faces()[faceI];
|
||||||
|
|
||||||
if (mesh.isInternalFace(faceI))
|
if (mesh.isInternalFace(faceI))
|
||||||
@ -391,7 +431,7 @@ void Foam::localPointRegion::calcPointRegions
|
|||||||
|
|
||||||
|
|
||||||
// Count regions per point
|
// Count regions per point
|
||||||
countPointRegions(mesh, candidateFace, minRegion);
|
countPointRegions(mesh, candidatePoint, candidateFace, minRegion);
|
||||||
minRegion.clear();
|
minRegion.clear();
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -92,6 +92,7 @@ class localPointRegion
|
|||||||
void countPointRegions
|
void countPointRegions
|
||||||
(
|
(
|
||||||
const polyMesh& mesh,
|
const polyMesh& mesh,
|
||||||
|
const boolList& candidatePoint,
|
||||||
const Map<label>& candidateFace,
|
const Map<label>& candidateFace,
|
||||||
faceList& minRegion
|
faceList& minRegion
|
||||||
);
|
);
|
||||||
|
|||||||
Reference in New Issue
Block a user