mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
Merge branch 'master' into splitCyclic
Conflicts: applications/utilities/mesh/advanced/modifyMesh/cellSplitter.C applications/utilities/mesh/conversion/fluent3DMeshToFoam/fluent3DMeshToFoam.L applications/utilities/mesh/generation/blockMesh/blockMesh.C applications/utilities/mesh/generation/blockMesh/createTopology.C applications/utilities/mesh/generation/snappyHexMesh/Make/options src/OpenFOAM/containers/Lists/ListOps/ListOps.H src/OpenFOAM/containers/Lists/ListOps/ListOpsTemplates.C src/OpenFOAM/containers/Lists/UList/UList.H src/OpenFOAM/containers/Lists/UList/UListI.H src/OpenFOAM/fields/pointPatchFields/constraint/processor/processorPointPatchField.C src/OpenFOAM/meshes/polyMesh/polyMeshFromShapeMesh.C src/OpenFOAM/meshes/polyMesh/polyPatches/basic/coupled/coupledPolyPatch.C src/OpenFOAM/meshes/polyMesh/polyPatches/basic/coupled/coupledPolyPatch.H src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/cyclic/cyclicPolyPatch.C src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/cyclic/cyclicPolyPatch.H src/OpenFOAM/meshes/polyMesh/polyPatches/constraint/processor/processorPolyPatch.C src/OpenFOAM/meshes/polyMesh/syncTools/syncTools.C src/OpenFOAM/meshes/polyMesh/syncTools/syncTools.H src/OpenFOAM/meshes/polyMesh/syncTools/syncToolsTemplates.C src/autoMesh/autoHexMesh/autoHexMeshDriver/autoLayerDriver.C src/autoMesh/autoHexMesh/meshRefinement/meshRefinementBaffles.C src/decompositionAgglomeration/Allwmake src/decompositionAgglomeration/decompositionMethods/Make/files src/decompositionAgglomeration/decompositionMethods/Make/options src/dynamicMesh/attachDetach/attachInterface.C src/dynamicMesh/polyTopoChange/polyTopoChange/addPatchCellLayer.C src/dynamicMesh/polyTopoChange/polyTopoChange/addPatchCellLayer.H src/dynamicMesh/polyTopoChange/polyTopoChange/hexRef8.C src/dynamicMesh/polyTopoChange/polyTopoChange/polyTopoChange.C src/dynamicMesh/polyTopoChange/polyTopoChange/polyTopoChange.H src/dynamicMesh/polyTopoChange/polyTopoChange/removePoints.H src/dynamicMesh/slidingInterface/coupleSlidingInterface.C src/finiteVolume/Make/files tutorials/channelOodles/channel395/constant/polyMesh/blockMeshDict tutorials/icoFoam/cavity/constant/polyMesh/blockMeshDict wmake/rules/linux64Gcc/c++Opt
This commit is contained in:
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 1991-2008 OpenCFD Ltd.
|
||||
\\ / A nd | Copyright (C) 1991-2009 OpenCFD Ltd.
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -25,7 +25,7 @@ License
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "PointEdgeWave.H"
|
||||
#include "pointMesh.H"
|
||||
#include "polyMesh.H"
|
||||
#include "processorPolyPatch.H"
|
||||
#include "cyclicPolyPatch.H"
|
||||
#include "OPstream.H"
|
||||
@ -33,7 +33,6 @@ License
|
||||
#include "PstreamCombineReduceOps.H"
|
||||
#include "debug.H"
|
||||
#include "typeInfo.H"
|
||||
#include "ListOps.H"
|
||||
|
||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||
|
||||
@ -61,13 +60,11 @@ void Foam::PointEdgeWave<Type>::offset(const label val, labelList& elems)
|
||||
template <class Type>
|
||||
void Foam::PointEdgeWave<Type>::calcCyclicAddressing()
|
||||
{
|
||||
const polyMesh& mesh = pMesh_();
|
||||
|
||||
label cycHalf = 0;
|
||||
|
||||
forAll(mesh.boundaryMesh(), patchI)
|
||||
forAll(mesh_.boundaryMesh(), patchI)
|
||||
{
|
||||
const polyPatch& patch = mesh.boundaryMesh()[patchI];
|
||||
const polyPatch& patch = mesh_.boundaryMesh()[patchI];
|
||||
|
||||
if (isA<cyclicPolyPatch>(patch))
|
||||
{
|
||||
@ -75,7 +72,7 @@ void Foam::PointEdgeWave<Type>::calcCyclicAddressing()
|
||||
|
||||
SubList<face> halfAFaces
|
||||
(
|
||||
mesh.faces(),
|
||||
mesh_.faces(),
|
||||
halfSize,
|
||||
patch.start()
|
||||
);
|
||||
@ -83,12 +80,12 @@ void Foam::PointEdgeWave<Type>::calcCyclicAddressing()
|
||||
cycHalves_.set
|
||||
(
|
||||
cycHalf++,
|
||||
new primitivePatch(halfAFaces, mesh.points())
|
||||
new primitivePatch(halfAFaces, mesh_.points())
|
||||
);
|
||||
|
||||
SubList<face> halfBFaces
|
||||
(
|
||||
mesh.faces(),
|
||||
mesh_.faces(),
|
||||
halfSize,
|
||||
patch.start() + halfSize
|
||||
);
|
||||
@ -96,7 +93,7 @@ void Foam::PointEdgeWave<Type>::calcCyclicAddressing()
|
||||
cycHalves_.set
|
||||
(
|
||||
cycHalf++,
|
||||
new primitivePatch(halfBFaces, mesh.points())
|
||||
new primitivePatch(halfBFaces, mesh_.points())
|
||||
);
|
||||
}
|
||||
}
|
||||
@ -186,7 +183,7 @@ bool Foam::PointEdgeWave<Type>::updatePoint
|
||||
bool propagate =
|
||||
pointInfo.updatePoint
|
||||
(
|
||||
pMesh_(),
|
||||
mesh_,
|
||||
pointI,
|
||||
neighbourEdgeI,
|
||||
neighbourInfo,
|
||||
@ -232,7 +229,7 @@ bool Foam::PointEdgeWave<Type>::updatePoint
|
||||
bool propagate =
|
||||
pointInfo.updatePoint
|
||||
(
|
||||
pMesh_(),
|
||||
mesh_,
|
||||
pointI,
|
||||
neighbourInfo,
|
||||
tol
|
||||
@ -278,7 +275,7 @@ bool Foam::PointEdgeWave<Type>::updateEdge
|
||||
bool propagate =
|
||||
edgeInfo.updateEdge
|
||||
(
|
||||
pMesh_(),
|
||||
mesh_,
|
||||
edgeI,
|
||||
neighbourPointI,
|
||||
neighbourInfo,
|
||||
@ -310,9 +307,9 @@ Foam::label Foam::PointEdgeWave<Type>::countPatchType() const
|
||||
{
|
||||
label nPatches = 0;
|
||||
|
||||
forAll(pMesh_().boundaryMesh(), patchI)
|
||||
forAll(mesh_.boundaryMesh(), patchI)
|
||||
{
|
||||
if (isA<PatchType>(pMesh_().boundaryMesh()[patchI]))
|
||||
if (isA<PatchType>(mesh_.boundaryMesh()[patchI]))
|
||||
{
|
||||
nPatches++;
|
||||
}
|
||||
@ -416,15 +413,12 @@ void Foam::PointEdgeWave<Type>::updateFromPatchInfo
|
||||
template <class Type>
|
||||
void Foam::PointEdgeWave<Type>::handleProcPatches()
|
||||
{
|
||||
const polyMesh& mesh = pMesh_();
|
||||
|
||||
|
||||
// 1. Send all point info on processor patches. Send as
|
||||
// face label + offset in face.
|
||||
|
||||
forAll(mesh.boundaryMesh(), patchI)
|
||||
forAll(mesh_.boundaryMesh(), patchI)
|
||||
{
|
||||
const polyPatch& patch = mesh.boundaryMesh()[patchI];
|
||||
const polyPatch& patch = mesh_.boundaryMesh()[patchI];
|
||||
|
||||
if (isA<processorPolyPatch>(patch))
|
||||
{
|
||||
@ -474,9 +468,9 @@ void Foam::PointEdgeWave<Type>::handleProcPatches()
|
||||
// 2. Receive all point info on processor patches.
|
||||
//
|
||||
|
||||
forAll(mesh.boundaryMesh(), patchI)
|
||||
forAll(mesh_.boundaryMesh(), patchI)
|
||||
{
|
||||
const polyPatch& patch = mesh.boundaryMesh()[patchI];
|
||||
const polyPatch& patch = mesh_.boundaryMesh()[patchI];
|
||||
|
||||
if (isA<processorPolyPatch>(patch))
|
||||
{
|
||||
@ -527,7 +521,7 @@ void Foam::PointEdgeWave<Type>::handleProcPatches()
|
||||
// (Note:irrespective if changed or not for now)
|
||||
//
|
||||
|
||||
const globalMeshData& pd = mesh.globalData();
|
||||
const globalMeshData& pd = mesh_.globalData();
|
||||
|
||||
List<Type> sharedData(pd.nGlobalPoints());
|
||||
|
||||
@ -562,16 +556,14 @@ void Foam::PointEdgeWave<Type>::handleProcPatches()
|
||||
template <class Type>
|
||||
void Foam::PointEdgeWave<Type>::handleCyclicPatches()
|
||||
{
|
||||
const polyMesh& mesh = pMesh_();
|
||||
|
||||
// 1. Send all point info on cyclic patches. Send as
|
||||
// face label + offset in face.
|
||||
|
||||
label cycHalf = 0;
|
||||
|
||||
forAll(mesh.boundaryMesh(), patchI)
|
||||
forAll(mesh_.boundaryMesh(), patchI)
|
||||
{
|
||||
const polyPatch& patch = mesh.boundaryMesh()[patchI];
|
||||
const polyPatch& patch = mesh_.boundaryMesh()[patchI];
|
||||
|
||||
if (isA<cyclicPolyPatch>(patch))
|
||||
{
|
||||
@ -675,7 +667,7 @@ void Foam::PointEdgeWave<Type>::handleCyclicPatches()
|
||||
template <class Type>
|
||||
Foam::PointEdgeWave<Type>::PointEdgeWave
|
||||
(
|
||||
const pointMesh& pMesh,
|
||||
const polyMesh& mesh,
|
||||
const labelList& changedPoints,
|
||||
const List<Type>& changedPointsInfo,
|
||||
|
||||
@ -685,45 +677,45 @@ Foam::PointEdgeWave<Type>::PointEdgeWave
|
||||
const label maxIter
|
||||
)
|
||||
:
|
||||
pMesh_(pMesh),
|
||||
mesh_(mesh),
|
||||
allPointInfo_(allPointInfo),
|
||||
allEdgeInfo_(allEdgeInfo),
|
||||
changedPoint_(pMesh_().nPoints(), false),
|
||||
changedPoints_(pMesh_().nPoints()),
|
||||
changedPoint_(mesh_.nPoints(), false),
|
||||
changedPoints_(mesh_.nPoints()),
|
||||
nChangedPoints_(0),
|
||||
changedEdge_(pMesh_().nEdges(), false),
|
||||
changedEdges_(pMesh_().nEdges()),
|
||||
changedEdge_(mesh_.nEdges(), false),
|
||||
changedEdges_(mesh_.nEdges()),
|
||||
nChangedEdges_(0),
|
||||
nCyclicPatches_(countPatchType<cyclicPolyPatch>()),
|
||||
cycHalves_(2*nCyclicPatches_),
|
||||
nEvals_(0),
|
||||
nUnvisitedPoints_(pMesh_().nPoints()),
|
||||
nUnvisitedEdges_(pMesh_().nEdges())
|
||||
nUnvisitedPoints_(mesh_.nPoints()),
|
||||
nUnvisitedEdges_(mesh_.nEdges())
|
||||
{
|
||||
if (allPointInfo_.size() != pMesh_().nPoints())
|
||||
if (allPointInfo_.size() != mesh_.nPoints())
|
||||
{
|
||||
FatalErrorIn
|
||||
(
|
||||
"PointEdgeWave<Type>::PointEdgeWave"
|
||||
"(const pointMesh&, const labelList&, const List<Type>,"
|
||||
"(const polyMesh&, const labelList&, const List<Type>,"
|
||||
" List<Type>&, List<Type>&, const label maxIter)"
|
||||
) << "size of pointInfo work array is not equal to the number"
|
||||
<< " of points in the mesh" << endl
|
||||
<< " pointInfo :" << allPointInfo_.size() << endl
|
||||
<< " mesh.nPoints:" << pMesh_().nPoints()
|
||||
<< " mesh.nPoints:" << mesh_.nPoints()
|
||||
<< exit(FatalError);
|
||||
}
|
||||
if (allEdgeInfo_.size() != pMesh_().nEdges())
|
||||
if (allEdgeInfo_.size() != mesh_.nEdges())
|
||||
{
|
||||
FatalErrorIn
|
||||
(
|
||||
"PointEdgeWave<Type>::PointEdgeWave"
|
||||
"(const pointMesh&, const labelList&, const List<Type>,"
|
||||
"(const polyMesh&, const labelList&, const List<Type>,"
|
||||
" List<Type>&, List<Type>&, const label maxIter)"
|
||||
) << "size of edgeInfo work array is not equal to the number"
|
||||
<< " of edges in the mesh" << endl
|
||||
<< " edgeInfo :" << allEdgeInfo_.size() << endl
|
||||
<< " mesh.nEdges:" << pMesh_().nEdges()
|
||||
<< " mesh.nEdges:" << mesh_.nEdges()
|
||||
<< exit(FatalError);
|
||||
}
|
||||
|
||||
@ -751,7 +743,7 @@ Foam::PointEdgeWave<Type>::PointEdgeWave
|
||||
FatalErrorIn
|
||||
(
|
||||
"PointEdgeWave<Type>::PointEdgeWave"
|
||||
"(const pointMesh&, const labelList&, const List<Type>,"
|
||||
"(const polyMesh&, const labelList&, const List<Type>,"
|
||||
" List<Type>&, List<Type>&, const label maxIter)"
|
||||
) << "Maximum number of iterations reached. Increase maxIter." << endl
|
||||
<< " maxIter:" << maxIter << endl
|
||||
@ -846,7 +838,7 @@ Foam::label Foam::PointEdgeWave<Type>::edgeToPoint()
|
||||
const Type& neighbourWallInfo = allEdgeInfo_[edgeI];
|
||||
|
||||
// Evaluate all connected points (= edge endpoints)
|
||||
const edge& e = pMesh_().edges()[edgeI];
|
||||
const edge& e = mesh_.edges()[edgeI];
|
||||
|
||||
forAll(e, eI)
|
||||
{
|
||||
@ -901,7 +893,7 @@ Foam::label Foam::PointEdgeWave<Type>::edgeToPoint()
|
||||
template <class Type>
|
||||
Foam::label Foam::PointEdgeWave<Type>::pointToEdge()
|
||||
{
|
||||
const labelListList& pointEdges = pMesh_().pointEdges();
|
||||
const labelListList& pointEdges = mesh_.pointEdges();
|
||||
|
||||
for
|
||||
(
|
||||
|
||||
Reference in New Issue
Block a user