mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
GIT: Initial state after latest Foundation merge
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -94,30 +94,30 @@ class meshDualiser
|
||||
static void dumpPolyTopoChange(const polyTopoChange&, const fileName&);
|
||||
|
||||
//- Find dual cell given point and cell
|
||||
label findDualCell(const label cellI, const label pointI) const;
|
||||
label findDualCell(const label celli, const label pointi) const;
|
||||
|
||||
//- Helper function to generate dualpoints on all boundary edges
|
||||
// emanating from (boundary & feature) point
|
||||
void generateDualBoundaryEdges
|
||||
(
|
||||
const PackedBoolList&,
|
||||
const label pointI,
|
||||
const label pointi,
|
||||
polyTopoChange&
|
||||
);
|
||||
|
||||
//- Check that owner and neighbour of face have same dual cell
|
||||
bool sameDualCell
|
||||
(
|
||||
const label faceI,
|
||||
const label pointI
|
||||
const label facei,
|
||||
const label pointi
|
||||
) const;
|
||||
|
||||
//- Add internal face
|
||||
label addInternalFace
|
||||
(
|
||||
const label masterPointI,
|
||||
const label masterPointi,
|
||||
const label masterEdgeI,
|
||||
const label masterFaceI,
|
||||
const label masterFacei,
|
||||
|
||||
const bool edgeOrder,
|
||||
const label dualCell0,
|
||||
@ -129,12 +129,12 @@ class meshDualiser
|
||||
//- Add boundary face
|
||||
label addBoundaryFace
|
||||
(
|
||||
const label masterPointI,
|
||||
const label masterPointi,
|
||||
const label masterEdgeI,
|
||||
const label masterFaceI,
|
||||
const label masterFacei,
|
||||
|
||||
const label dualCellI,
|
||||
const label patchI,
|
||||
const label dualCelli,
|
||||
const label patchi,
|
||||
const DynamicList<label>& verts,
|
||||
polyTopoChange& meshMod
|
||||
) const;
|
||||
@ -145,7 +145,7 @@ class meshDualiser
|
||||
const bool splitFace,
|
||||
const PackedBoolList&,
|
||||
const label edgeI,
|
||||
const label startFaceI,
|
||||
const label startFacei,
|
||||
polyTopoChange&,
|
||||
boolList& doneEFaces
|
||||
) const;
|
||||
@ -153,17 +153,17 @@ class meshDualiser
|
||||
//- Create single internal face from internal face
|
||||
void createFaceFromInternalFace
|
||||
(
|
||||
const label faceI,
|
||||
const label facei,
|
||||
label& fp,
|
||||
polyTopoChange&
|
||||
) const;
|
||||
|
||||
//- Creates boundary faces walking around point on patchI.
|
||||
//- Creates boundary faces walking around point on patchi.
|
||||
void createFacesAroundBoundaryPoint
|
||||
(
|
||||
const label patchI,
|
||||
const label patchPointI,
|
||||
const label startFaceI,
|
||||
const label patchi,
|
||||
const label patchPointi,
|
||||
const label startFacei,
|
||||
polyTopoChange&,
|
||||
boolList& donePFaces // pFaces visited
|
||||
) const;
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -32,31 +32,32 @@ Description
|
||||
edges.
|
||||
|
||||
Usage
|
||||
|
||||
- polyDualMesh featureAngle
|
||||
\b polyDualMesh featureAngle
|
||||
|
||||
Detects any boundary edge > angle and creates multiple boundary faces
|
||||
for it. Normal behaviour is to have each point become a cell
|
||||
(1.5 behaviour)
|
||||
|
||||
\param -concaveMultiCells
|
||||
Creates multiple cells for each point on a concave edge. Might limit
|
||||
the amount of distortion on some meshes.
|
||||
Options:
|
||||
- \par -concaveMultiCells
|
||||
Creates multiple cells for each point on a concave edge. Might limit
|
||||
the amount of distortion on some meshes.
|
||||
|
||||
\param -splitAllFaces
|
||||
Normally only constructs a single face between two cells. This single face
|
||||
might be too distorted. splitAllFaces will create a single face for every
|
||||
original cell the face passes through. The mesh will thus have
|
||||
multiple faces inbetween two cells! (so is not strictly upper-triangular
|
||||
anymore - checkMesh will complain)
|
||||
- \par -splitAllFaces
|
||||
Normally only constructs a single face between two cells. This single
|
||||
face might be too distorted. splitAllFaces will create a single face for
|
||||
every original cell the face passes through. The mesh will thus have
|
||||
multiple faces inbetween two cells! (so is not strictly upper-triangular
|
||||
anymore - checkMesh will complain)
|
||||
|
||||
\param -doNotPreserveFaceZones:
|
||||
By default all faceZones are preserved by marking all faces, edges and
|
||||
points on them as features. The -doNotPreserveFaceZones disables this
|
||||
behaviour.
|
||||
- \par -doNotPreserveFaceZones:
|
||||
By default all faceZones are preserved by marking all faces, edges and
|
||||
points on them as features. The -doNotPreserveFaceZones disables this
|
||||
behaviour.
|
||||
|
||||
Note: is just a driver for meshDualiser. Substitute your own
|
||||
simpleMarkFeatures to have different behaviour.
|
||||
Note
|
||||
It is just a driver for meshDualiser. Substitute your own simpleMarkFeatures
|
||||
to have different behaviour.
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
@ -108,9 +109,9 @@ void simpleMarkFeatures
|
||||
// 1. Mark all edges between patches
|
||||
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
forAll(patches, patchI)
|
||||
forAll(patches, patchi)
|
||||
{
|
||||
const polyPatch& pp = patches[patchI];
|
||||
const polyPatch& pp = patches[patchi];
|
||||
const labelList& meshEdges = pp.meshEdges();
|
||||
|
||||
// All patch corner edges. These need to be feature points & edges!
|
||||
@ -237,9 +238,9 @@ void simpleMarkFeatures
|
||||
// Face centres that need inclusion in the dual mesh
|
||||
labelHashSet featureFaceSet(mesh.nFaces()-mesh.nInternalFaces());
|
||||
// A. boundary faces.
|
||||
for (label faceI = mesh.nInternalFaces(); faceI < mesh.nFaces(); faceI++)
|
||||
for (label facei = mesh.nInternalFaces(); facei < mesh.nFaces(); facei++)
|
||||
{
|
||||
featureFaceSet.insert(faceI);
|
||||
featureFaceSet.insert(facei);
|
||||
}
|
||||
|
||||
// B. face zones.
|
||||
@ -273,11 +274,11 @@ void simpleMarkFeatures
|
||||
|
||||
forAll(fz, i)
|
||||
{
|
||||
label faceI = fz[i];
|
||||
const face& f = mesh.faces()[faceI];
|
||||
const labelList& fEdges = mesh.faceEdges()[faceI];
|
||||
label facei = fz[i];
|
||||
const face& f = mesh.faces()[facei];
|
||||
const labelList& fEdges = mesh.faceEdges()[facei];
|
||||
|
||||
featureFaceSet.insert(faceI);
|
||||
featureFaceSet.insert(facei);
|
||||
forAll(f, fp)
|
||||
{
|
||||
// Mark point as multi cell point (since both sides of
|
||||
@ -388,9 +389,9 @@ int main(int argc, char *argv[])
|
||||
// (Note: in 1.4.2 we can use the built-in mesh point ordering
|
||||
// facility instead)
|
||||
PackedBoolList isBoundaryEdge(mesh.nEdges());
|
||||
for (label faceI = mesh.nInternalFaces(); faceI < mesh.nFaces(); faceI++)
|
||||
for (label facei = mesh.nInternalFaces(); facei < mesh.nFaces(); facei++)
|
||||
{
|
||||
const labelList& fEdges = mesh.faceEdges()[faceI];
|
||||
const labelList& fEdges = mesh.faceEdges()[facei];
|
||||
|
||||
forAll(fEdges, i)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user