mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
ENH: Dry-run - Include creation of sets and zones for dyanmic mesh cases
This commit is contained in:
@ -61,6 +61,9 @@ SimplifiedDynamicFvMesh
|
|||||||
|
|
||||||
// Add the patches
|
// Add the patches
|
||||||
addLocalPatches(*this);
|
addLocalPatches(*this);
|
||||||
|
|
||||||
|
// Add the zones if constructed from mesh
|
||||||
|
initialiseZones(*this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -75,7 +75,8 @@ bool Foam::simplifiedMeshes::columnFvMeshInfo::setPatchEntries
|
|||||||
{
|
{
|
||||||
polyBoundaryMeshEntries allPatchEntries(boundaryIO);
|
polyBoundaryMeshEntries allPatchEntries(boundaryIO);
|
||||||
|
|
||||||
Info<< "Creating simplified mesh using " << allPatchEntries.path() << endl;
|
Info<< "Creating simplified mesh using " << allPatchEntries.path()
|
||||||
|
<< endl;
|
||||||
|
|
||||||
for (const entry& e : allPatchEntries)
|
for (const entry& e : allPatchEntries)
|
||||||
{
|
{
|
||||||
@ -134,7 +135,7 @@ bool Foam::simplifiedMeshes::columnFvMeshInfo::setPatchEntries
|
|||||||
dictionary simplifiedEntries;
|
dictionary simplifiedEntries;
|
||||||
simplifiedEntries.add("startFace", 0);
|
simplifiedEntries.add("startFace", 0);
|
||||||
simplifiedEntries.add("nFaces", 1);
|
simplifiedEntries.add("nFaces", 1);
|
||||||
simplifiedEntries.add("type", "wall"); // default to wall type
|
simplifiedEntries.add("type", "wall"); // default to wall
|
||||||
|
|
||||||
patchEntries_.add(e.keyword(), simplifiedEntries);
|
patchEntries_.add(e.keyword(), simplifiedEntries);
|
||||||
}
|
}
|
||||||
@ -304,7 +305,12 @@ void Foam::simplifiedMeshes::columnFvMeshInfo::initialise(const Time& runTime)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void Foam::simplifiedMeshes::columnFvMeshInfo::addLocalPatches(fvMesh& mesh) const
|
// * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * //
|
||||||
|
|
||||||
|
void Foam::simplifiedMeshes::columnFvMeshInfo::addLocalPatches
|
||||||
|
(
|
||||||
|
fvMesh& mesh
|
||||||
|
) const
|
||||||
{
|
{
|
||||||
const label nPatch = patchEntries_.size();
|
const label nPatch = patchEntries_.size();
|
||||||
|
|
||||||
@ -367,6 +373,24 @@ void Foam::simplifiedMeshes::columnFvMeshInfo::addLocalPatches(fvMesh& mesh) con
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void Foam::simplifiedMeshes::columnFvMeshInfo::initialiseZones(fvMesh& mesh)
|
||||||
|
{
|
||||||
|
if (createFromMesh_)
|
||||||
|
{
|
||||||
|
// Initialise the zones
|
||||||
|
initialiseZone<pointZoneMesh>
|
||||||
|
(
|
||||||
|
"point",
|
||||||
|
localInstance_,
|
||||||
|
mesh.pointZones()
|
||||||
|
);
|
||||||
|
initialiseZone<faceZoneMesh>("face", localInstance_, mesh.faceZones());
|
||||||
|
initialiseZone<cellZoneMesh>("cell", localInstance_, mesh.cellZones());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
Foam::simplifiedMeshes::columnFvMeshInfo::columnFvMeshInfo(const Time& runTime)
|
Foam::simplifiedMeshes::columnFvMeshInfo::columnFvMeshInfo(const Time& runTime)
|
||||||
@ -389,6 +413,11 @@ Foam::simplifiedMeshes::columnFvMeshInfo::columnFvMeshInfo(const Time& runTime)
|
|||||||
nPatchWithFace_(0)
|
nPatchWithFace_(0)
|
||||||
{
|
{
|
||||||
initialise(runTime);
|
initialise(runTime);
|
||||||
|
|
||||||
|
// Dummy zones and sets created on demand
|
||||||
|
// Note: zones can be updated post-construction
|
||||||
|
cellZoneMesh::disallowGenericZones = 1;
|
||||||
|
topoSet::disallowGenericSets = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -423,24 +452,8 @@ Foam::simplifiedMeshes::columnFvMesh::columnFvMesh(const Time& runTime)
|
|||||||
// Add the patches
|
// Add the patches
|
||||||
addLocalPatches(*this);
|
addLocalPatches(*this);
|
||||||
|
|
||||||
// Add the zones
|
// Add the zones if constructed from mesh
|
||||||
|
initialiseZones(*this);
|
||||||
if (createFromMesh_)
|
|
||||||
{
|
|
||||||
// Initialise the zones
|
|
||||||
initialiseZone<pointZoneMesh>("point", localInstance_, pointZones());
|
|
||||||
initialiseZone<faceZoneMesh>("face", localInstance_, faceZones());
|
|
||||||
initialiseZone<cellZoneMesh>("cell", localInstance_, cellZones());
|
|
||||||
|
|
||||||
// Dummy sets created on demand
|
|
||||||
topoSet::disallowGenericSets = 1;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// Dummy zones and sets created on demand
|
|
||||||
cellZoneMesh::disallowGenericZones = 1;
|
|
||||||
topoSet::disallowGenericSets = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (debug)
|
if (debug)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -59,6 +59,15 @@ class columnFvMeshInfo
|
|||||||
//- Initialise
|
//- Initialise
|
||||||
void initialise(const Time& runTime);
|
void initialise(const Time& runTime);
|
||||||
|
|
||||||
|
//- Helper function to initialise empty zones
|
||||||
|
template<class ZoneMeshType>
|
||||||
|
void initialiseZone
|
||||||
|
(
|
||||||
|
const word& zoneTypeName,
|
||||||
|
const fileName& instance,
|
||||||
|
ZoneMeshType& zoneType
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
@ -99,6 +108,9 @@ protected:
|
|||||||
//- Add the patches to the mesh
|
//- Add the patches to the mesh
|
||||||
void addLocalPatches(fvMesh& mesh) const;
|
void addLocalPatches(fvMesh& mesh) const;
|
||||||
|
|
||||||
|
//- Initialise zones if constructed from mesh
|
||||||
|
void initialiseZones(fvMesh& mesh);
|
||||||
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
@ -133,6 +145,12 @@ public:
|
|||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
#ifdef NoRepository
|
||||||
|
#include "columnFvMeshTemplates.C"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// ************************************************************************* //
|
// ************************************************************************* //
|
||||||
|
|||||||
@ -22,11 +22,10 @@ License
|
|||||||
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#include "polyMesh.H"
|
#include "polyMesh.H"
|
||||||
|
|
||||||
template<class ZoneMeshType>
|
template<class ZoneMeshType>
|
||||||
void Foam::simplifiedFvMesh::initialiseZone
|
void Foam::simplifiedMeshes::columnFvMeshInfo::initialiseZone
|
||||||
(
|
(
|
||||||
const word& zoneTypeName,
|
const word& zoneTypeName,
|
||||||
const fileName& instance,
|
const fileName& instance,
|
||||||
@ -94,6 +94,8 @@ Foam::simplifiedMeshes::hexCellFvMesh::hexCellFvMesh
|
|||||||
);
|
);
|
||||||
|
|
||||||
addFvPatches(patches);
|
addFvPatches(patches);
|
||||||
|
|
||||||
|
// Note: no sets or zones created
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -25,6 +25,7 @@ License
|
|||||||
|
|
||||||
#include "simplifiedFvMesh.H"
|
#include "simplifiedFvMesh.H"
|
||||||
#include "fvPatchField.H"
|
#include "fvPatchField.H"
|
||||||
|
#include "topoSet.H"
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * Static Members * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * Static Members * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
@ -57,6 +58,8 @@ bool Foam::simplifiedFvMesh::fvPatchFieldExists(const word& patchType)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
Foam::simplifiedFvMesh::simplifiedFvMesh
|
Foam::simplifiedFvMesh::simplifiedFvMesh
|
||||||
(
|
(
|
||||||
const IOobject& io,
|
const IOobject& io,
|
||||||
|
|||||||
@ -52,18 +52,6 @@ class simplifiedFvMesh
|
|||||||
:
|
:
|
||||||
public fvMesh
|
public fvMesh
|
||||||
{
|
{
|
||||||
protected:
|
|
||||||
|
|
||||||
//- Helper function to initialise empty zones
|
|
||||||
template<class ZoneMeshType>
|
|
||||||
void initialiseZone
|
|
||||||
(
|
|
||||||
const word& zoneTypeName,
|
|
||||||
const fileName& instance,
|
|
||||||
ZoneMeshType& zoneType
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
//- Runtime type information
|
//- Runtime type information
|
||||||
@ -118,12 +106,6 @@ public:
|
|||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
#ifdef NoRepository
|
|
||||||
#include "simplifiedFvMeshTemplates.C"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// ************************************************************************* //
|
// ************************************************************************* //
|
||||||
|
|||||||
Reference in New Issue
Block a user