ENH: use typedef for MeshObject within derived classes

- use an internal 'typedef MeshObject<...> MeshObject_type' within
  derived classes. Reduces clutter and eases any updates.
This commit is contained in:
Mark Olesen
2024-04-11 13:02:15 +02:00
parent 1b212789e5
commit a803516b16
71 changed files with 538 additions and 268 deletions

View File

@ -243,7 +243,7 @@ Foam::GAMGAgglomeration::GAMGAgglomeration
const dictionary& controlDict const dictionary& controlDict
) )
: :
MeshObject<lduMesh, Foam::GeometricMeshObject, GAMGAgglomeration>(mesh), MeshObject_type(mesh),
maxLevels_(50), maxLevels_(50),

View File

@ -67,9 +67,19 @@ class GAMGAgglomeration
: :
public MeshObject<lduMesh, GeometricMeshObject, GAMGAgglomeration> public MeshObject<lduMesh, GeometricMeshObject, GAMGAgglomeration>
{ {
// Private Typedefs
typedef MeshObject
<
lduMesh,
GeometricMeshObject,
GAMGAgglomeration
> MeshObject_type;
protected: protected:
// Protected data // Protected Data
//- Max number of levels //- Max number of levels
const label maxLevels_; const label maxLevels_;

View File

@ -37,9 +37,10 @@ License
namespace Foam namespace Foam
{ {
defineTypeNameAndDebug(pointMesh, 0); defineTypeNameAndDebug(pointMesh, 0);
} }
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
void Foam::pointMesh::mapFields(const mapPolyMesh& mpm) void Foam::pointMesh::mapFields(const mapPolyMesh& mpm)
@ -72,7 +73,7 @@ void Foam::pointMesh::mapFields(const mapPolyMesh& mpm)
Foam::pointMesh::pointMesh(const polyMesh& pMesh) Foam::pointMesh::pointMesh(const polyMesh& pMesh)
: :
MeshObject<polyMesh, Foam::UpdateableMeshObject, pointMesh>(pMesh), MeshObject_type(pMesh),
GeoMesh<polyMesh>(pMesh), GeoMesh<polyMesh>(pMesh),
boundary_(*this, pMesh.boundaryMesh()) boundary_(*this, pMesh.boundaryMesh())
{ {

View File

@ -54,6 +54,16 @@ class pointMesh
public MeshObject<polyMesh, UpdateableMeshObject, pointMesh>, public MeshObject<polyMesh, UpdateableMeshObject, pointMesh>,
public GeoMesh<polyMesh> public GeoMesh<polyMesh>
{ {
// Private Typedefs
typedef MeshObject
<
polyMesh,
UpdateableMeshObject,
pointMesh
> MeshObject_type;
// Permanent Data // Permanent Data
//- Boundary mesh //- Boundary mesh

View File

@ -166,7 +166,7 @@ Foam::refPtr<Foam::cellList> Foam::manifoldCellsMeshObject::filter
Foam::manifoldCellsMeshObject::manifoldCellsMeshObject(const polyMesh& mesh) Foam::manifoldCellsMeshObject::manifoldCellsMeshObject(const polyMesh& mesh)
: :
MeshObject<polyMesh, UpdateableMeshObject, manifoldCellsMeshObject>(mesh), MeshObject_type(mesh),
cellsPtr_(nullptr), cellsPtr_(nullptr),
nCorrected_(-1) nCorrected_(-1)
{} {}

View File

@ -55,6 +55,16 @@ class manifoldCellsMeshObject
: :
public MeshObject<polyMesh, UpdateableMeshObject, manifoldCellsMeshObject> public MeshObject<polyMesh, UpdateableMeshObject, manifoldCellsMeshObject>
{ {
// Private Typedefs
typedef MeshObject
<
polyMesh,
UpdateableMeshObject,
manifoldCellsMeshObject
> MeshObject_type;
// Private Data // Private Data
//- The adjusted cells list //- The adjusted cells list
@ -90,7 +100,7 @@ public:
// Constructors // Constructors
//- Construct from mesh //- Construct from mesh
manifoldCellsMeshObject(const polyMesh& mesh); explicit manifoldCellsMeshObject(const polyMesh& mesh);
//- Destructor //- Destructor

View File

@ -29,7 +29,6 @@ License
#include "leastSquaresFaVectors.H" #include "leastSquaresFaVectors.H"
#include "edgeFields.H" #include "edgeFields.H"
#include "areaFields.H" #include "areaFields.H"
#include "demandDrivenData.H"
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
@ -43,7 +42,7 @@ namespace Foam
Foam::leastSquaresFaVectors::leastSquaresFaVectors(const faMesh& mesh) Foam::leastSquaresFaVectors::leastSquaresFaVectors(const faMesh& mesh)
: :
MeshObject<faMesh, Foam::MoveableMeshObject, leastSquaresFaVectors>(mesh) MeshObject_type(mesh)
{} {}

View File

@ -55,8 +55,18 @@ namespace Foam
class leastSquaresFaVectors class leastSquaresFaVectors
: :
public MeshObject<faMesh, Foam::MoveableMeshObject, leastSquaresFaVectors> public MeshObject<faMesh, MoveableMeshObject, leastSquaresFaVectors>
{ {
// Private Typedefs
typedef MeshObject
<
faMesh,
MoveableMeshObject,
leastSquaresFaVectors
> MeshObject_type;
// Private Data // Private Data
//- Least-squares gradient vectors //- Least-squares gradient vectors

View File

@ -42,7 +42,7 @@ namespace meshObjects
Foam::meshObjects::gravity::gravity(const word& name, const Time& runTime) Foam::meshObjects::gravity::gravity(const word& name, const Time& runTime)
: :
MeshObject<Time, TopologicalMeshObject, gravity>(name, runTime), MeshObject_type(name, runTime),
uniformDimensionedVectorField uniformDimensionedVectorField
( (
IOobject IOobject
@ -50,7 +50,7 @@ Foam::meshObjects::gravity::gravity(const word& name, const Time& runTime)
name, name,
runTime.constant(), runTime.constant(),
runTime, runTime,
IOobject::MUST_READ_IF_MODIFIED, IOobject::READ_MODIFIED,
IOobject::NO_WRITE, IOobject::NO_WRITE,
IOobject::NO_REGISTER // Already registered by MeshObject IOobject::NO_REGISTER // Already registered by MeshObject
) )

View File

@ -60,10 +60,19 @@ class gravity
< <
Time, Time,
TopologicalMeshObject, TopologicalMeshObject,
gravity meshObjects::gravity
>, >,
public uniformDimensionedVectorField public uniformDimensionedVectorField
{ {
// Private Typedefs
typedef MeshObject
<
Time,
TopologicalMeshObject,
meshObjects::gravity
> MeshObject_type;
public: public:
//- Run-time type information //- Run-time type information
@ -72,12 +81,10 @@ public:
// Constructors // Constructors
//- Construct with given name on Time from \c constant //- Construct with given name on Time from \c constant (READ_MODIFIED)
//- (MUST_READ_IF_MODIFIED)
gravity(const word& name, const Time& runTime); gravity(const word& name, const Time& runTime);
//- Construct "g" field on Time from \c constant //- Construct "g" field on Time from \c constant (READ_MODIFIED)
//- (MUST_READ_IF_MODIFIED)
explicit gravity(const Time& runTime) explicit gravity(const Time& runTime)
: :
gravity("g", runTime) gravity("g", runTime)
@ -86,20 +93,13 @@ public:
//- Return named gravity field cached or construct on Time //- Return named gravity field cached or construct on Time
static const gravity& New(const word& name, const Time& runTime) static const gravity& New(const word& name, const Time& runTime)
{ {
return MeshObject<Time, TopologicalMeshObject, gravity>::New return MeshObject_type::New(name, runTime);
(
name,
runTime
);
} }
//- Return gravity "g" field cached or construct on Time //- Return gravity "g" field cached or construct on Time
static const gravity& New(const Time& runTime) static const gravity& New(const Time& runTime)
{ {
return MeshObject<Time, TopologicalMeshObject, gravity>::New return MeshObject_type::New(runTime);
(
runTime
);
} }

View File

@ -36,7 +36,7 @@ Foam::fv::LeastSquaresVectors<Stencil>::LeastSquaresVectors
const fvMesh& mesh const fvMesh& mesh
) )
: :
MeshObject<fvMesh, Foam::MoveableMeshObject, LeastSquaresVectors>(mesh), MeshObject_type(mesh),
vectors_(mesh.nCells()) vectors_(mesh.nCells())
{ {
calcLeastSquaresVectors(); calcLeastSquaresVectors();

View File

@ -63,6 +63,16 @@ class LeastSquaresVectors
: :
public MeshObject<fvMesh, MoveableMeshObject, LeastSquaresVectors<Stencil>> public MeshObject<fvMesh, MoveableMeshObject, LeastSquaresVectors<Stencil>>
{ {
// Private Typedefs
typedef MeshObject
<
fvMesh,
MoveableMeshObject,
LeastSquaresVectors<Stencil>
> MeshObject_type;
// Private Data // Private Data
//- Least-squares gradient vectors //- Least-squares gradient vectors
@ -84,17 +94,14 @@ public:
// Constructors // Constructors
//- Construct given an fvMesh and the minimum determinant criterion //- Construct given an fvMesh and the minimum determinant criterion
LeastSquaresVectors explicit LeastSquaresVectors(const fvMesh& mesh);
(
const fvMesh&
);
//- Destructor //- Destructor
virtual ~LeastSquaresVectors(); virtual ~LeastSquaresVectors();
// Member functions // Member Functions
//- Return const reference to the stencil //- Return const reference to the stencil
const extendedCentredCellToCellStencil& stencil() const const extendedCentredCellToCellStencil& stencil() const

View File

@ -41,7 +41,7 @@ namespace Foam
Foam::leastSquaresVectors::leastSquaresVectors(const fvMesh& mesh) Foam::leastSquaresVectors::leastSquaresVectors(const fvMesh& mesh)
: :
MeshObject<fvMesh, Foam::MoveableMeshObject, leastSquaresVectors>(mesh), MeshObject_type(mesh),
pVectors_ pVectors_
( (
IOobject IOobject

View File

@ -41,7 +41,7 @@ namespace Foam
Foam::leastSquaresVectors::leastSquaresVectors(const fvMesh& mesh) Foam::leastSquaresVectors::leastSquaresVectors(const fvMesh& mesh)
: :
MeshObject<fvMesh, Foam::MoveableMeshObject, leastSquaresVectors>(mesh), MeshObject_type(mesh),
pVectors_ pVectors_
( (
IOobject IOobject

View File

@ -55,6 +55,16 @@ class leastSquaresVectors
: :
public MeshObject<fvMesh, MoveableMeshObject, leastSquaresVectors> public MeshObject<fvMesh, MoveableMeshObject, leastSquaresVectors>
{ {
// Private Typedefs
typedef MeshObject
<
fvMesh,
MoveableMeshObject,
leastSquaresVectors
> MeshObject_type;
// Private Data // Private Data
//- Owner least-squares gradient vectors //- Owner least-squares gradient vectors

View File

@ -41,7 +41,7 @@ namespace Foam
Foam::leastSquaresVectors::leastSquaresVectors(const fvMesh& mesh) Foam::leastSquaresVectors::leastSquaresVectors(const fvMesh& mesh)
: :
MeshObject<fvMesh, Foam::MoveableMeshObject, leastSquaresVectors>(mesh), MeshObject_type(mesh),
pVectors_ pVectors_
( (
IOobject IOobject

View File

@ -59,6 +59,14 @@ class centredCECCellToCellStencilObject
>, >,
public extendedCentredCellToCellStencil public extendedCentredCellToCellStencil
{ {
// Private Typedefs
typedef MeshObject
<
fvMesh,
TopologicalMeshObject,
centredCECCellToCellStencilObject
> MeshObject_type;
public: public:
@ -72,12 +80,7 @@ public:
const fvMesh& mesh const fvMesh& mesh
) )
: :
MeshObject MeshObject_type(mesh),
<
fvMesh,
Foam::TopologicalMeshObject,
centredCECCellToCellStencilObject
>(mesh),
extendedCentredCellToCellStencil(CECCellToCellStencil(mesh)) extendedCentredCellToCellStencil(CECCellToCellStencil(mesh))
{} {}

View File

@ -59,6 +59,14 @@ class centredCFCCellToCellStencilObject
>, >,
public extendedCentredCellToCellStencil public extendedCentredCellToCellStencil
{ {
// Private Typedefs
typedef MeshObject
<
fvMesh,
TopologicalMeshObject,
centredCFCCellToCellStencilObject
> MeshObject_type;
public: public:
@ -72,12 +80,7 @@ public:
const fvMesh& mesh const fvMesh& mesh
) )
: :
MeshObject MeshObject_type(mesh),
<
fvMesh,
Foam::TopologicalMeshObject,
centredCFCCellToCellStencilObject
>(mesh),
extendedCentredCellToCellStencil(CFCCellToCellStencil(mesh)) extendedCentredCellToCellStencil(CFCCellToCellStencil(mesh))
{} {}

View File

@ -59,11 +59,20 @@ class centredCPCCellToCellStencilObject
>, >,
public extendedCentredCellToCellStencil public extendedCentredCellToCellStencil
{ {
// Private Typedefs
typedef MeshObject
<
fvMesh,
TopologicalMeshObject,
centredCPCCellToCellStencilObject
> MeshObject_type;
public: public:
TypeName("centredCPCCellToCellStencil"); TypeName("centredCPCCellToCellStencil");
// Constructors // Constructors
//- Construct from uncompacted cell stencil //- Construct from uncompacted cell stencil
@ -72,12 +81,7 @@ public:
const fvMesh& mesh const fvMesh& mesh
) )
: :
MeshObject MeshObject_type(mesh),
<
fvMesh,
Foam::TopologicalMeshObject,
centredCPCCellToCellStencilObject
>(mesh),
extendedCentredCellToCellStencil(CPCCellToCellStencil(mesh)) extendedCentredCellToCellStencil(CPCCellToCellStencil(mesh))
{} {}

View File

@ -59,11 +59,20 @@ class centredCECCellToFaceStencilObject
>, >,
public extendedCentredCellToFaceStencil public extendedCentredCellToFaceStencil
{ {
// Private Typedefs
typedef MeshObject
<
fvMesh,
TopologicalMeshObject,
centredCECCellToFaceStencilObject
> MeshObject_type;
public: public:
TypeName("centredCECCellToFaceStencil"); TypeName("centredCECCellToFaceStencil");
// Constructors // Constructors
//- Construct from uncompacted face stencil //- Construct from uncompacted face stencil
@ -72,12 +81,7 @@ public:
const fvMesh& mesh const fvMesh& mesh
) )
: :
MeshObject MeshObject_type(mesh),
<
fvMesh,
Foam::TopologicalMeshObject,
centredCECCellToFaceStencilObject
>(mesh),
extendedCentredCellToFaceStencil(CECCellToFaceStencil(mesh)) extendedCentredCellToFaceStencil(CECCellToFaceStencil(mesh))
{ {
if (extendedCellToFaceStencil::debug) if (extendedCellToFaceStencil::debug)

View File

@ -59,11 +59,20 @@ class centredCFCCellToFaceStencilObject
>, >,
public extendedCentredCellToFaceStencil public extendedCentredCellToFaceStencil
{ {
// Private Typedefs
typedef MeshObject
<
fvMesh,
TopologicalMeshObject,
centredCFCCellToFaceStencilObject
> MeshObject_type;
public: public:
TypeName("centredCFCCellToFaceStencil"); TypeName("centredCFCCellToFaceStencil");
// Constructors // Constructors
//- Construct from uncompacted face stencil //- Construct from uncompacted face stencil
@ -72,12 +81,7 @@ public:
const fvMesh& mesh const fvMesh& mesh
) )
: :
MeshObject MeshObject_type(mesh),
<
fvMesh,
Foam::TopologicalMeshObject,
centredCFCCellToFaceStencilObject
>(mesh),
extendedCentredCellToFaceStencil(CFCCellToFaceStencil(mesh)) extendedCentredCellToFaceStencil(CFCCellToFaceStencil(mesh))
{ {
if (extendedCellToFaceStencil::debug) if (extendedCellToFaceStencil::debug)

View File

@ -59,11 +59,20 @@ class centredCPCCellToFaceStencilObject
>, >,
public extendedCentredCellToFaceStencil public extendedCentredCellToFaceStencil
{ {
// Private Typedefs
typedef MeshObject
<
fvMesh,
TopologicalMeshObject,
centredCPCCellToFaceStencilObject
> MeshObject_type;
public: public:
TypeName("centredCPCCellToFaceStencil"); TypeName("centredCPCCellToFaceStencil");
// Constructors // Constructors
//- Construct from uncompacted face stencil //- Construct from uncompacted face stencil
@ -72,12 +81,7 @@ public:
const fvMesh& mesh const fvMesh& mesh
) )
: :
MeshObject MeshObject_type(mesh),
<
fvMesh,
Foam::TopologicalMeshObject,
centredCPCCellToFaceStencilObject
>(mesh),
extendedCentredCellToFaceStencil(CPCCellToFaceStencil(mesh)) extendedCentredCellToFaceStencil(CPCCellToFaceStencil(mesh))
{ {
if (extendedCellToFaceStencil::debug) if (extendedCellToFaceStencil::debug)

View File

@ -59,11 +59,20 @@ class centredFECCellToFaceStencilObject
>, >,
public extendedCentredCellToFaceStencil public extendedCentredCellToFaceStencil
{ {
// Private Typedefs
typedef MeshObject
<
fvMesh,
TopologicalMeshObject,
centredFECCellToFaceStencilObject
> MeshObject_type;
public: public:
TypeName("centredFECCellToFaceStencil"); TypeName("centredFECCellToFaceStencil");
// Constructors // Constructors
//- Construct from uncompacted face stencil //- Construct from uncompacted face stencil
@ -72,12 +81,7 @@ public:
const fvMesh& mesh const fvMesh& mesh
) )
: :
MeshObject MeshObject_type(mesh),
<
fvMesh,
Foam::TopologicalMeshObject,
centredFECCellToFaceStencilObject
>(mesh),
extendedCentredCellToFaceStencil(FECCellToFaceStencil(mesh)) extendedCentredCellToFaceStencil(FECCellToFaceStencil(mesh))
{ {
if (extendedCellToFaceStencil::debug) if (extendedCellToFaceStencil::debug)

View File

@ -59,11 +59,20 @@ class pureUpwindCFCCellToFaceStencilObject
>, >,
public extendedUpwindCellToFaceStencil public extendedUpwindCellToFaceStencil
{ {
// Private Typedefs
typedef MeshObject
<
fvMesh,
TopologicalMeshObject,
pureUpwindCFCCellToFaceStencilObject
> MeshObject_type;
public: public:
TypeName("pureUpwindCFCCellToFaceStencil"); TypeName("pureUpwindCFCCellToFaceStencil");
// Constructors // Constructors
//- Construct from uncompacted face stencil //- Construct from uncompacted face stencil
@ -72,12 +81,7 @@ public:
const fvMesh& mesh const fvMesh& mesh
) )
: :
MeshObject MeshObject_type(mesh),
<
fvMesh,
Foam::TopologicalMeshObject,
pureUpwindCFCCellToFaceStencilObject
>(mesh),
extendedUpwindCellToFaceStencil(CFCCellToFaceStencil(mesh)) extendedUpwindCellToFaceStencil(CFCCellToFaceStencil(mesh))
{ {
if (extendedCellToFaceStencil::debug) if (extendedCellToFaceStencil::debug)

View File

@ -59,11 +59,20 @@ class upwindCECCellToFaceStencilObject
>, >,
public extendedUpwindCellToFaceStencil public extendedUpwindCellToFaceStencil
{ {
// Private Typedefs
typedef MeshObject
<
fvMesh,
TopologicalMeshObject,
upwindCECCellToFaceStencilObject
> MeshObject_type;
public: public:
TypeName("upwindCECCellToFaceStencil"); TypeName("upwindCECCellToFaceStencil");
// Constructors // Constructors
//- Construct from uncompacted face stencil //- Construct from uncompacted face stencil
@ -74,12 +83,7 @@ public:
const scalar minOpposedness const scalar minOpposedness
) )
: :
MeshObject MeshObject_type(mesh),
<
fvMesh,
Foam::TopologicalMeshObject,
upwindCECCellToFaceStencilObject
>(mesh),
extendedUpwindCellToFaceStencil extendedUpwindCellToFaceStencil
( (
CECCellToFaceStencil(mesh), CECCellToFaceStencil(mesh),

View File

@ -59,11 +59,21 @@ class upwindCFCCellToFaceStencilObject
>, >,
public extendedUpwindCellToFaceStencil public extendedUpwindCellToFaceStencil
{ {
// Private Typedefs
typedef MeshObject
<
fvMesh,
TopologicalMeshObject,
upwindCFCCellToFaceStencilObject
> MeshObject_type;
public: public:
TypeName("upwindCFCCellToFaceStencil"); TypeName("upwindCFCCellToFaceStencil");
// Constructors // Constructors
//- Construct from uncompacted face stencil //- Construct from uncompacted face stencil
@ -74,12 +84,7 @@ public:
const scalar minOpposedness const scalar minOpposedness
) )
: :
MeshObject MeshObject_type(mesh),
<
fvMesh,
Foam::TopologicalMeshObject,
upwindCFCCellToFaceStencilObject
>(mesh),
extendedUpwindCellToFaceStencil extendedUpwindCellToFaceStencil
( (
CFCCellToFaceStencil(mesh), CFCCellToFaceStencil(mesh),

View File

@ -59,11 +59,20 @@ class upwindCPCCellToFaceStencilObject
>, >,
public extendedUpwindCellToFaceStencil public extendedUpwindCellToFaceStencil
{ {
// Private Typedefs
typedef MeshObject
<
fvMesh,
TopologicalMeshObject,
upwindCPCCellToFaceStencilObject
> MeshObject_type;
public: public:
TypeName("upwindCPCCellToFaceStencil"); TypeName("upwindCPCCellToFaceStencil");
// Constructors // Constructors
//- Construct from uncompacted face stencil //- Construct from uncompacted face stencil
@ -74,12 +83,7 @@ public:
const scalar minOpposedness const scalar minOpposedness
) )
: :
MeshObject MeshObject_type(mesh),
<
fvMesh,
Foam::TopologicalMeshObject,
upwindCPCCellToFaceStencilObject
>(mesh),
extendedUpwindCellToFaceStencil extendedUpwindCellToFaceStencil
( (
CPCCellToFaceStencil(mesh), CPCCellToFaceStencil(mesh),

View File

@ -59,6 +59,14 @@ class upwindFECCellToFaceStencilObject
>, >,
public extendedUpwindCellToFaceStencil public extendedUpwindCellToFaceStencil
{ {
// Private Typedefs
typedef MeshObject
<
fvMesh,
TopologicalMeshObject,
upwindFECCellToFaceStencilObject
> MeshObject_type;
public: public:
@ -74,12 +82,7 @@ public:
const scalar minOpposedness const scalar minOpposedness
) )
: :
MeshObject MeshObject_type(mesh),
<
fvMesh,
Foam::TopologicalMeshObject,
upwindFECCellToFaceStencilObject
>(mesh),
extendedUpwindCellToFaceStencil extendedUpwindCellToFaceStencil
( (
FECCellToFaceStencil(mesh), FECCellToFaceStencil(mesh),

View File

@ -59,11 +59,20 @@ class centredCFCFaceToCellStencilObject
>, >,
public extendedCentredFaceToCellStencil public extendedCentredFaceToCellStencil
{ {
// Private Typedefs
typedef MeshObject
<
fvMesh,
TopologicalMeshObject,
centredCFCFaceToCellStencilObject
> MeshObject_type;
public: public:
TypeName("centredCFCFaceToCellStencil"); TypeName("centredCFCFaceToCellStencil");
// Constructors // Constructors
//- Construct from uncompacted face stencil //- Construct from uncompacted face stencil
@ -72,12 +81,7 @@ public:
const fvMesh& mesh const fvMesh& mesh
) )
: :
MeshObject MeshObject_type(mesh),
<
fvMesh,
Foam::TopologicalMeshObject,
centredCFCFaceToCellStencilObject
>(mesh),
extendedCentredFaceToCellStencil(CFCFaceToCellStencil(mesh)) extendedCentredFaceToCellStencil(CFCFaceToCellStencil(mesh))
{} {}

View File

@ -39,7 +39,7 @@ namespace Foam
Foam::cellAspectRatio::cellAspectRatio(const polyMesh& mesh) Foam::cellAspectRatio::cellAspectRatio(const polyMesh& mesh)
: :
MeshObject<polyMesh, Foam::MoveableMeshObject, cellAspectRatio>(mesh) MeshObject_type(mesh)
{ {
calcAspectRatio(); calcAspectRatio();
} }

View File

@ -54,6 +54,16 @@ class cellAspectRatio
public MeshObject<polyMesh, MoveableMeshObject, cellAspectRatio>, public MeshObject<polyMesh, MoveableMeshObject, cellAspectRatio>,
public scalarField public scalarField
{ {
// Private Typedefs
typedef MeshObject
<
polyMesh,
MoveableMeshObject,
cellAspectRatio
> MeshObject_type;
// Private Member Functions // Private Member Functions
//- Construct aspect ratio //- Construct aspect ratio

View File

@ -90,7 +90,7 @@ Foam::wallDist::wallDist
const word& patchTypeName const word& patchTypeName
) )
: :
MeshObject<fvMesh, Foam::UpdateableMeshObject, wallDist>(mesh), MeshObject_type(mesh),
patchIDs_(patchIDs), patchIDs_(patchIDs),
patchTypeName_(patchTypeName), patchTypeName_(patchTypeName),
dict_ dict_
@ -154,6 +154,22 @@ Foam::wallDist::~wallDist()
{} {}
// * * * * * * * * * * * * * Static Member Functions * * * * * * * * * * * * //
bool Foam::wallDist::try_movePoints(const fvMesh& mesh)
{
auto* ptr =
mesh.getObjectPtr<UpdateableMeshObject<fvMesh>>("wallDist");
if (ptr)
{
return ptr->movePoints();
}
return false;
}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
const Foam::volVectorField& Foam::wallDist::n() const const Foam::volVectorField& Foam::wallDist::n() const

View File

@ -77,7 +77,17 @@ class wallDist
: :
public MeshObject<fvMesh, UpdateableMeshObject, wallDist> public MeshObject<fvMesh, UpdateableMeshObject, wallDist>
{ {
// Private data // Private Typedefs
typedef MeshObject
<
fvMesh,
UpdateableMeshObject,
wallDist
> MeshObject_type;
// Private Data
//- Set of patch IDs //- Set of patch IDs
const labelHashSet patchIDs_; const labelHashSet patchIDs_;
@ -157,6 +167,13 @@ public:
virtual ~wallDist(); virtual ~wallDist();
// Static Member Functions
//- Trigger update of y-field for the "wallDist" MeshObject on the
//- given mesh. A no-op if the wallDist is not found.
static bool try_movePoints(const fvMesh& mesh);
// Member Functions // Member Functions
//- Return the patchIDs //- Return the patchIDs

View File

@ -387,7 +387,7 @@ Foam::wallDistAddressing::wallDistAddressing
) )
: :
// Register as "wallDistAddressing" // Register as "wallDistAddressing"
MeshObject<fvMesh, Foam::UpdateableMeshObject, wallDistAddressing>(mesh), MeshObject_type(mesh),
cellDistFuncs(mesh), cellDistFuncs(mesh),
patchIDs_(mesh.boundaryMesh().findPatchIDs<wallPolyPatch>().sortedToc()), patchIDs_(mesh.boundaryMesh().findPatchIDs<wallPolyPatch>().sortedToc()),
patchTypeName_("wall"), patchTypeName_("wall"),
@ -420,11 +420,7 @@ Foam::wallDistAddressing::wallDistAddressing
const label updateInterval const label updateInterval
) )
: :
MeshObject<fvMesh, Foam::UpdateableMeshObject, wallDistAddressing> MeshObject_type(patchTypeName, mesh),
(
patchTypeName,
mesh
),
cellDistFuncs(mesh), cellDistFuncs(mesh),
patchIDs_(patchIDs), patchIDs_(patchIDs),
patchTypeName_(patchTypeName), patchTypeName_(patchTypeName),

View File

@ -114,8 +114,19 @@ class wallDistAddressing
public MeshObject<fvMesh, UpdateableMeshObject, wallDistAddressing>, public MeshObject<fvMesh, UpdateableMeshObject, wallDistAddressing>,
public cellDistFuncs public cellDistFuncs
{ {
// Private Typedefs
typedef MeshObject
<
fvMesh,
UpdateableMeshObject,
wallDistAddressing
> MeshObject_type;
//- Use fvMesh& instead of cellDistFuncs polyMesh& //- Use fvMesh& instead of cellDistFuncs polyMesh&
using MeshObject<fvMesh, UpdateableMeshObject, wallDistAddressing>::mesh_; using MeshObject_type::mesh_;
protected: protected:

View File

@ -40,7 +40,7 @@ namespace Foam
Foam::zoneDistribute::zoneDistribute(const fvMesh& mesh) Foam::zoneDistribute::zoneDistribute(const fvMesh& mesh)
: :
MeshObject<fvMesh, Foam::TopologicalMeshObject, zoneDistribute>(mesh), MeshObject_type(mesh),
stencil_(zoneCPCStencil::New(mesh)), stencil_(zoneCPCStencil::New(mesh)),
globalNumbering_(stencil_.globalNumbering()), globalNumbering_(stencil_.globalNumbering()),
send_(UPstream::nProcs()), send_(UPstream::nProcs()),

View File

@ -82,6 +82,16 @@ class zoneDistribute
: :
public MeshObject<fvMesh, TopologicalMeshObject, zoneDistribute> public MeshObject<fvMesh, TopologicalMeshObject, zoneDistribute>
{ {
// Private Typedefs
typedef MeshObject
<
fvMesh,
TopologicalMeshObject,
zoneDistribute
> MeshObject_type;
// Private Data // Private Data
//- Reference to the zone stencil //- Reference to the zone stencil

View File

@ -123,7 +123,7 @@ void Foam::zoneCPCStencil::calcPointBoundaryData
Foam::zoneCPCStencil::zoneCPCStencil(const fvMesh& mesh) Foam::zoneCPCStencil::zoneCPCStencil(const fvMesh& mesh)
: :
MeshObject<fvMesh, Foam::TopologicalMeshObject, zoneCPCStencil>(mesh), MeshObject_type(mesh),
zoneCellStencils(mesh), zoneCellStencils(mesh),
nonEmptyBoundaryPoints_(nonEmptyFacesPatch()().meshPoints()), nonEmptyBoundaryPoints_(nonEmptyFacesPatch()().meshPoints()),
uptodate_(mesh.nCells(), false) uptodate_(mesh.nCells(), false)

View File

@ -66,6 +66,16 @@ class zoneCPCStencil
>, >,
public zoneCellStencils public zoneCellStencils
{ {
// Private Typedefs
typedef MeshObject
<
fvMesh,
TopologicalMeshObject,
zoneCPCStencil
> MeshObject_type;
// Private Data // Private Data
labelList nonEmptyBoundaryPoints_; labelList nonEmptyBoundaryPoints_;
@ -120,6 +130,7 @@ public:
//- Construct from all cells and boundary faces //- Construct from all cells and boundary faces
explicit zoneCPCStencil(const fvMesh&); explicit zoneCPCStencil(const fvMesh&);
// Selectors // Selectors
static zoneCPCStencil& New(const fvMesh&); static zoneCPCStencil& New(const fvMesh&);

View File

@ -42,7 +42,7 @@ Foam::FitData<Form, ExtendedStencil, Polynomial>::FitData
const scalar centralWeight const scalar centralWeight
) )
: :
MeshObject<fvMesh, Foam::MoveableMeshObject, Form>(mesh), MeshObject_type(mesh),
stencil_(stencil), stencil_(stencil),
linearCorrection_(linearCorrection), linearCorrection_(linearCorrection),
linearLimitFactor_(linearLimitFactor), linearLimitFactor_(linearLimitFactor),

View File

@ -59,7 +59,17 @@ class FitData
: :
public MeshObject<fvMesh, MoveableMeshObject, FitDataType> public MeshObject<fvMesh, MoveableMeshObject, FitDataType>
{ {
// Private data // Private Typedefs
typedef MeshObject
<
fvMesh,
MoveableMeshObject,
FitDataType
> MeshObject_type;
// Private Data
//- The stencil the fit is based on //- The stencil the fit is based on
const ExtendedStencil& stencil_; const ExtendedStencil& stencil_;

View File

@ -41,7 +41,7 @@ namespace Foam
Foam::skewCorrectionVectors::skewCorrectionVectors(const fvMesh& mesh) Foam::skewCorrectionVectors::skewCorrectionVectors(const fvMesh& mesh)
: :
MeshObject<fvMesh, Foam::MoveableMeshObject, skewCorrectionVectors>(mesh), MeshObject_type(mesh),
skew_(false), skew_(false),
skewCorrectionVectors_ skewCorrectionVectors_
( (

View File

@ -46,6 +46,7 @@ SourceFiles
namespace Foam namespace Foam
{ {
// Forward Declarations
class fvMesh; class fvMesh;
/*---------------------------------------------------------------------------*\ /*---------------------------------------------------------------------------*\
@ -56,7 +57,17 @@ class skewCorrectionVectors
: :
public MeshObject<fvMesh, MoveableMeshObject, skewCorrectionVectors> public MeshObject<fvMesh, MoveableMeshObject, skewCorrectionVectors>
{ {
// Private data // Private Typedefs
typedef MeshObject
<
fvMesh,
MoveableMeshObject,
skewCorrectionVectors
> MeshObject_type;
// Private Data
//- Is mesh skew //- Is mesh skew
bool skew_; bool skew_;
@ -75,6 +86,7 @@ public:
// Constructors // Constructors
//- Construct given fvMesh
explicit skewCorrectionVectors(const fvMesh& mesh); explicit skewCorrectionVectors(const fvMesh& mesh);
@ -82,7 +94,7 @@ public:
virtual ~skewCorrectionVectors(); virtual ~skewCorrectionVectors();
// Member functions // Member Functions
//- Return whether mesh is skew or not //- Return whether mesh is skew or not
bool skew() const bool skew() const

View File

@ -354,7 +354,7 @@ void Foam::pointConstraints::makePatchPatchAddressing()
Foam::pointConstraints::pointConstraints(const pointMesh& pm) Foam::pointConstraints::pointConstraints(const pointMesh& pm)
: :
MeshObject<pointMesh, Foam::UpdateableMeshObject, pointConstraints>(pm) MeshObject_type(pm)
{ {
if (debug) if (debug)
{ {

View File

@ -55,6 +55,7 @@ SourceFiles
namespace Foam namespace Foam
{ {
// Forward Declarations
class pointMesh; class pointMesh;
class polyMesh; class polyMesh;
@ -66,7 +67,17 @@ class pointConstraints
: :
public MeshObject<pointMesh, UpdateableMeshObject, pointConstraints> public MeshObject<pointMesh, UpdateableMeshObject, pointConstraints>
{ {
// Private data // Private Typedefs
typedef MeshObject
<
pointMesh,
UpdateableMeshObject,
pointConstraints
> MeshObject_type;
// Private Data
// Patch-patch constraints // Patch-patch constraints

View File

@ -473,7 +473,7 @@ void Foam::volPointInterpolation::makeWeights()
Foam::volPointInterpolation::volPointInterpolation(const fvMesh& vm) Foam::volPointInterpolation::volPointInterpolation(const fvMesh& vm)
: :
MeshObject<fvMesh, Foam::UpdateableMeshObject, volPointInterpolation>(vm), MeshObject_type(vm),
hasSeparated_(hasSeparated(pointMesh::New(vm))) hasSeparated_(hasSeparated(pointMesh::New(vm)))
{ {
makeWeights(); makeWeights();

View File

@ -50,6 +50,7 @@ SourceFiles
namespace Foam namespace Foam
{ {
// Forward Declarations
class fvMesh; class fvMesh;
class pointMesh; class pointMesh;
@ -61,7 +62,17 @@ class volPointInterpolation
: :
public MeshObject<fvMesh, UpdateableMeshObject, volPointInterpolation> public MeshObject<fvMesh, UpdateableMeshObject, volPointInterpolation>
{ {
// Private data // Private Typedefs
typedef MeshObject
<
fvMesh,
UpdateableMeshObject,
volPointInterpolation
> MeshObject_type;
// Private Data
//- Interpolation scheme weighting factor array. //- Interpolation scheme weighting factor array.
scalarListList pointWeights_; scalarListList pointWeights_;
@ -150,7 +161,7 @@ public:
// Constructors // Constructors
//- Constructor given fvMesh and pointMesh. //- Construct given fvMesh
explicit volPointInterpolation(const fvMesh&); explicit volPointInterpolation(const fvMesh&);

View File

@ -330,7 +330,7 @@ Foam::label Foam::processorColour::cellColour
Foam::processorColour::processorColour(const lduMesh& mesh) Foam::processorColour::processorColour(const lduMesh& mesh)
: :
MeshObject<lduMesh, Foam::MoveableMeshObject, processorColour>(mesh) MeshObject_type(mesh)
{ {
nColours_ = colour(mesh, *this); nColours_ = colour(mesh, *this);
} }

View File

@ -58,6 +58,25 @@ class processorColour
public MeshObject<lduMesh, MoveableMeshObject, processorColour>, public MeshObject<lduMesh, MoveableMeshObject, processorColour>,
public labelList public labelList
{ {
// Private Typedefs
typedef MeshObject
<
lduMesh,
MoveableMeshObject,
processorColour
> MeshObject_type;
// Private Member Functions
//- No copy construct
processorColour(const processorColour&) = delete;
//- No copy assignment
void operator=(const processorColour&) = delete;
protected: protected:
// Protected data // Protected data
@ -75,16 +94,6 @@ protected:
labelList& cellColour labelList& cellColour
); );
private:
//- No copy construct
processorColour(const processorColour&) = delete;
//- No copy assignment
void operator=(const processorColour&) = delete;
public: public:
//- Runtime type information //- Runtime type information
@ -94,7 +103,7 @@ public:
// Constructors // Constructors
//- Construct given mesh //- Construct given mesh
processorColour(const lduMesh& mesh); explicit processorColour(const lduMesh& mesh);
// Selectors // Selectors

View File

@ -35,21 +35,4 @@ namespace Foam
} }
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
Foam::meshSearchFACE_CENTRE_TRISMeshObject::meshSearchFACE_CENTRE_TRISMeshObject
(
const polyMesh& mesh
)
:
MeshObject
<
polyMesh,
Foam::GeometricMeshObject,
meshSearchFACE_CENTRE_TRISMeshObject
>(mesh),
meshSearch(mesh, polyMesh::FACE_CENTRE_TRIS)
{}
// ************************************************************************* // // ************************************************************************* //

View File

@ -59,6 +59,14 @@ class meshSearchFACE_CENTRE_TRISMeshObject
>, >,
public meshSearch public meshSearch
{ {
// Private Typedefs
typedef MeshObject
<
polyMesh,
GeometricMeshObject,
meshSearchFACE_CENTRE_TRISMeshObject
> MeshObject_type;
public: public:
@ -68,8 +76,13 @@ public:
// Constructors // Constructors
//- Constructor given polyMesh //- Construct given polyMesh
explicit meshSearchFACE_CENTRE_TRISMeshObject(const polyMesh& mesh); explicit meshSearchFACE_CENTRE_TRISMeshObject(const polyMesh& mesh)
:
MeshObject_type(mesh),
meshSearch(mesh, polyMesh::FACE_CENTRE_TRIS)
{}
//- Destructor //- Destructor
virtual ~meshSearchFACE_CENTRE_TRISMeshObject() = default; virtual ~meshSearchFACE_CENTRE_TRISMeshObject() = default;

View File

@ -35,13 +35,4 @@ namespace Foam
} }
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
Foam::meshSearchMeshObject::meshSearchMeshObject(const polyMesh& mesh)
:
MeshObject<polyMesh, Foam::GeometricMeshObject, meshSearchMeshObject>(mesh),
meshSearch(mesh)
{}
// ************************************************************************* // // ************************************************************************* //

View File

@ -54,6 +54,14 @@ class meshSearchMeshObject
public MeshObject<polyMesh, GeometricMeshObject, meshSearchMeshObject>, public MeshObject<polyMesh, GeometricMeshObject, meshSearchMeshObject>,
public meshSearch public meshSearch
{ {
// Private Typedefs
typedef MeshObject
<
polyMesh,
GeometricMeshObject,
meshSearchMeshObject
> MeshObject_type;
public: public:
@ -63,8 +71,13 @@ public:
// Constructors // Constructors
//- Constructor given polyMesh //- Construct given polyMesh
explicit meshSearchMeshObject(const polyMesh& mesh); explicit meshSearchMeshObject(const polyMesh& mesh)
:
MeshObject_type(mesh),
meshSearch(mesh)
{}
//- Destructor //- Destructor
virtual ~meshSearchMeshObject() = default; virtual ~meshSearchMeshObject() = default;

View File

@ -181,7 +181,7 @@ Foam::label Foam::multiWorldConnections::createCommunicator(const edge& worlds)
Foam::multiWorldConnections::multiWorldConnections(const Time& runTime) Foam::multiWorldConnections::multiWorldConnections(const Time& runTime)
: :
MeshObjectType(runTime) MeshObject_type(runTime)
{} {}
@ -190,16 +190,10 @@ Foam::multiWorldConnections::multiWorldConnections(const Time& runTime)
const Foam::multiWorldConnections& const Foam::multiWorldConnections&
Foam::multiWorldConnections::New(const Time& runTime) Foam::multiWorldConnections::New(const Time& runTime)
{ {
return MeshObjectType::New(runTime); return MeshObject_type::New(runTime);
} }
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::multiWorldConnections::~multiWorldConnections()
{}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
bool Foam::multiWorldConnections::empty() const noexcept bool Foam::multiWorldConnections::empty() const noexcept

View File

@ -69,7 +69,7 @@ class multiWorldConnections
Time, Time,
TopologicalMeshObject, TopologicalMeshObject,
multiWorldConnections multiWorldConnections
> MeshObjectType; > MeshObject_type;
// Private Data // Private Data
@ -111,7 +111,7 @@ public:
//- Destructor //- Destructor
~multiWorldConnections(); ~multiWorldConnections() = default;
// Member Functions // Member Functions

View File

@ -385,7 +385,7 @@ Foam::regionSplit::regionSplit
const bool doGlobalRegions const bool doGlobalRegions
) )
: :
MeshObject<polyMesh, Foam::TopologicalMeshObject, regionSplit>(mesh), MeshObject_type(mesh),
labelList(mesh.nCells(), UNASSIGNED), labelList(mesh.nCells(), UNASSIGNED),
globalNumbering_() globalNumbering_()
{ {
@ -432,7 +432,7 @@ Foam::regionSplit::regionSplit
const bool doGlobalRegions const bool doGlobalRegions
) )
: :
MeshObject<polyMesh, Foam::TopologicalMeshObject, regionSplit>(mesh), MeshObject_type(mesh),
labelList(mesh.nCells(), UNASSIGNED), labelList(mesh.nCells(), UNASSIGNED),
globalNumbering_() globalNumbering_()
{ {

View File

@ -143,6 +143,16 @@ class regionSplit
public MeshObject<polyMesh, TopologicalMeshObject, regionSplit>, public MeshObject<polyMesh, TopologicalMeshObject, regionSplit>,
public labelList public labelList
{ {
// Private Typedefs
typedef MeshObject
<
polyMesh,
TopologicalMeshObject,
regionSplit
> MeshObject_type;
// Private Data // Private Data
//- Indexing into the regions //- Indexing into the regions
@ -157,7 +167,6 @@ class regionSplit
// Private Class // Private Class
//- Simple wrapper for handling test() on bitSet or boolList //- Simple wrapper for handling test() on bitSet or boolList
//- without a templating layer or lambda expresssion. //- without a templating layer or lambda expresssion.
class bitSetOrBoolList class bitSetOrBoolList

View File

@ -199,7 +199,7 @@ void Foam::twoDPointCorrector::snapToWedge
Foam::twoDPointCorrector::twoDPointCorrector(const polyMesh& mesh) Foam::twoDPointCorrector::twoDPointCorrector(const polyMesh& mesh)
: :
MeshObject<polyMesh, Foam::UpdateableMeshObject, twoDPointCorrector>(mesh), MeshObject_type(mesh),
required_(mesh_.nGeometricD() == 2), required_(mesh_.nGeometricD() == 2),
planeNormalPtr_(nullptr), planeNormalPtr_(nullptr),
normalEdgeIndicesPtr_(nullptr), normalEdgeIndicesPtr_(nullptr),
@ -209,7 +209,6 @@ Foam::twoDPointCorrector::twoDPointCorrector(const polyMesh& mesh)
{} {}
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::twoDPointCorrector::~twoDPointCorrector() Foam::twoDPointCorrector::~twoDPointCorrector()

View File

@ -54,7 +54,7 @@ SourceFiles
namespace Foam namespace Foam
{ {
// Forward class declarations // Forward Declarations
class polyMesh; class polyMesh;
/*---------------------------------------------------------------------------*\ /*---------------------------------------------------------------------------*\
@ -65,7 +65,17 @@ class twoDPointCorrector
: :
public MeshObject<polyMesh, UpdateableMeshObject, twoDPointCorrector> public MeshObject<polyMesh, UpdateableMeshObject, twoDPointCorrector>
{ {
// Private data // Private Typedefs
typedef MeshObject
<
polyMesh,
UpdateableMeshObject,
twoDPointCorrector
> MeshObject_type;
// Private Data
//- Is 2D correction required, i.e. is the mesh //- Is 2D correction required, i.e. is the mesh
bool required_; bool required_;

View File

@ -53,6 +53,7 @@ SourceFiles
namespace Foam namespace Foam
{ {
// Forward Declarations
class fvMesh; class fvMesh;
class pointMesh; class pointMesh;
@ -62,7 +63,7 @@ class pointMesh;
class pointVolInterpolation class pointVolInterpolation
{ {
// Private data // Private Data
const pointMesh& pointMesh_; const pointMesh& pointMesh_;
const fvMesh& fvMesh_; const fvMesh& fvMesh_;
@ -110,13 +111,12 @@ public:
// Constructors // Constructors
//- Constructor given pointMesh and fvMesh. //- Construct given pointMesh and fvMesh.
pointVolInterpolation(const pointMesh&, const fvMesh&); pointVolInterpolation(const pointMesh&, const fvMesh&);
// Destructor //- Destructor
~pointVolInterpolation();
~pointVolInterpolation();
// Member functions // Member functions

View File

@ -297,10 +297,7 @@ void Foam::volPointInterpolationAdjoint::makeWeights()
Foam::volPointInterpolationAdjoint::volPointInterpolationAdjoint(const fvMesh& vm) Foam::volPointInterpolationAdjoint::volPointInterpolationAdjoint(const fvMesh& vm)
: :
MeshObject<fvMesh, Foam::UpdateableMeshObject, volPointInterpolationAdjoint> MeshObject_type(vm)
(
vm
)
{ {
makeWeights(); makeWeights();
} }

View File

@ -50,6 +50,7 @@ SourceFiles
namespace Foam namespace Foam
{ {
// Forward Declarations
class fvMesh; class fvMesh;
class pointMesh; class pointMesh;
@ -59,8 +60,23 @@ class pointMesh;
class volPointInterpolationAdjoint class volPointInterpolationAdjoint
: :
public MeshObject<fvMesh, UpdateableMeshObject, volPointInterpolationAdjoint> public MeshObject
<
fvMesh,
UpdateableMeshObject,
volPointInterpolationAdjoint
>
{ {
// Private Typedefs
typedef MeshObject
<
fvMesh,
UpdateableMeshObject,
volPointInterpolationAdjoint
> MeshObject_type;
protected: protected:
// Protected data // Protected data
@ -128,7 +144,7 @@ public:
// Constructors // Constructors
//- Constructor given fvMesh and pointMesh. //- Construct given fvMesh
explicit volPointInterpolationAdjoint(const fvMesh&); explicit volPointInterpolationAdjoint(const fvMesh&);

View File

@ -417,11 +417,8 @@ void levelSetDesignVariables::update(scalarField& correction)
// Though the mesh is kept constant, the distance from wall may change // Though the mesh is kept constant, the distance from wall may change
// due to fvOptions depending on beta. Trick wallDist into updating it // due to fvOptions depending on beta. Trick wallDist into updating it
if (mesh_.foundObject<UpdateableMeshObject<fvMesh>>("wallDist"))
{ wallDist::try_movePoints(mesh_);
mesh_.lookupObjectRef<UpdateableMeshObject<fvMesh>>("wallDist").
movePoints();
}
} }

View File

@ -28,7 +28,7 @@ License
#include "localIOdictionary.H" #include "localIOdictionary.H"
#include "topODesignVariables.H" #include "topODesignVariables.H"
#include "MeshObject.H" #include "wallDist.H"
#include "wallFvPatch.H" #include "wallFvPatch.H"
#include "cutFaceIso.H" #include "cutFaceIso.H"
#include "cutCellIso.H" #include "cutCellIso.H"
@ -452,11 +452,9 @@ void Foam::topODesignVariables::update(scalarField& correction)
// if the method computing it includes fvOptions that depend on the // if the method computing it includes fvOptions that depend on the
// indicator field. // indicator field.
// Trick wallDist into updating it // Trick wallDist into updating it
if (mesh_.foundObject<UpdateableMeshObject<fvMesh>>("wallDist"))
{ wallDist::try_movePoints(mesh_);
mesh_.lookupObjectRef<UpdateableMeshObject<fvMesh>>("wallDist").
movePoints();
}
// Write the 0.5 beta iso-line to files, as an indication of the // Write the 0.5 beta iso-line to files, as an indication of the
// fluid-solid interface // fluid-solid interface

View File

@ -45,7 +45,7 @@ volBSplinesBase::volBSplinesBase
const fvMesh& mesh const fvMesh& mesh
) )
: :
MeshObject<fvMesh, UpdateableMeshObject, volBSplinesBase>(mesh), MeshObject_type(mesh),
volume_(0), volume_(0),
activeDesignVariables_(0) activeDesignVariables_(0)
{ {
@ -58,7 +58,7 @@ volBSplinesBase::volBSplinesBase
"dynamicMeshDict", "dynamicMeshDict",
mesh.time().constant(), mesh.time().constant(),
mesh, mesh,
IOobject::MUST_READ_IF_MODIFIED, IOobject::MUST_READ,
IOobject::NO_WRITE, IOobject::NO_WRITE,
IOobject::NO_REGISTER IOobject::NO_REGISTER
) )

View File

@ -61,19 +61,15 @@ class volBSplinesBase
: :
public MeshObject<fvMesh, UpdateableMeshObject, volBSplinesBase> public MeshObject<fvMesh, UpdateableMeshObject, volBSplinesBase>
{ {
protected: // Private Typedefs
// Protected data typedef MeshObject
<
fvMesh,
UpdateableMeshObject,
volBSplinesBase
> MeshObject_type;
//- List with volumetric B-splines boxes.
// No overlapping is supported
PtrList<NURBS3DVolume> volume_;
//- Active design variables numbering for all boxes
labelList activeDesignVariables_;
private:
// Private Member Functions // Private Member Functions
@ -84,6 +80,18 @@ private:
void operator=(const volBSplinesBase&) = delete; void operator=(const volBSplinesBase&) = delete;
protected:
// Protected Data
//- List with volumetric B-splines boxes.
// No overlapping is supported
PtrList<NURBS3DVolume> volume_;
//- Active design variables numbering for all boxes
labelList activeDesignVariables_;
public: public:
//- Runtime type information //- Runtime type information
@ -93,7 +101,7 @@ public:
// Constructors // Constructors
//- Construct from components //- Construct from components
volBSplinesBase(const fvMesh& mesh); explicit volBSplinesBase(const fvMesh& mesh);
//- Destructor //- Destructor

View File

@ -32,8 +32,8 @@ SourceFiles
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
#ifndef cellCellStencilObject_H #ifndef Foam_cellCellStencilObject_H
#define cellCellStencilObject_H #define Foam_cellCellStencilObject_H
#include "cellCellStencil.H" #include "cellCellStencil.H"
#include "MeshObject.H" #include "MeshObject.H"
@ -43,13 +43,10 @@ SourceFiles
namespace Foam namespace Foam
{ {
// Typedefs
class cellCellStencilObject; class cellCellStencilObject;
typedef MeshObject typedef MeshObject<fvMesh, MoveableMeshObject, cellCellStencilObject> Stencil;
<
fvMesh,
Foam::MoveableMeshObject,
cellCellStencilObject
> Stencil;
/*---------------------------------------------------------------------------*\ /*---------------------------------------------------------------------------*\
Class cellCellStencilObject Declaration Class cellCellStencilObject Declaration
@ -57,10 +54,20 @@ typedef MeshObject
class cellCellStencilObject class cellCellStencilObject
: :
public Stencil, public MeshObject<fvMesh, MoveableMeshObject, cellCellStencilObject>,
public cellCellStencil public cellCellStencil
{ {
// Private data // Private Typedefs
typedef MeshObject
<
fvMesh,
MoveableMeshObject,
cellCellStencilObject
> MeshObject_type;
// Private Data
autoPtr<cellCellStencil> stencilPtr_; autoPtr<cellCellStencil> stencilPtr_;
@ -69,6 +76,7 @@ public:
TypeName("cellCellStencilObject"); TypeName("cellCellStencilObject");
// Constructors // Constructors
//- Construct with mesh //- Construct with mesh
@ -78,12 +86,8 @@ public:
const bool update = true const bool update = true
) )
: :
MeshObject MeshObject_type(mesh),
<
fvMesh,
Foam::MoveableMeshObject,
cellCellStencilObject
>(mesh),
cellCellStencil(mesh), cellCellStencil(mesh),
stencilPtr_ stencilPtr_
( (

View File

@ -49,12 +49,8 @@ Foam::decompositionModel::decompositionModel
const dictionary* fallback const dictionary* fallback
) )
: :
MeshObject MeshObject_type(mesh),
<
polyMesh,
Foam::UpdateableMeshObject,
decompositionModel
>(mesh),
IOdictionary IOdictionary
( (
IOobject::selectIO IOobject::selectIO
@ -86,13 +82,7 @@ const Foam::decompositionModel& Foam::decompositionModel::New
const dictionary* content const dictionary* content
) )
{ {
return return MeshObject_type::New(mesh, decompDictFile, content);
MeshObject
<
polyMesh,
Foam::UpdateableMeshObject,
decompositionModel
>::New(mesh, decompDictFile, content);
} }

View File

@ -65,6 +65,16 @@ class decompositionModel
>, >,
public IOdictionary public IOdictionary
{ {
// Private Typedefs
typedef MeshObject
<
polyMesh,
UpdateableMeshObject,
decompositionModel
> MeshObject_type;
// Private Data // Private Data
mutable autoPtr<decompositionMethod> decomposerPtr_; mutable autoPtr<decompositionMethod> decomposerPtr_;

View File

@ -46,12 +46,8 @@ Foam::radiation::boundaryRadiationProperties::boundaryRadiationProperties
const fvMesh& mesh const fvMesh& mesh
) )
: :
MeshObject MeshObject_type(mesh),
<
fvMesh,
Foam::GeometricMeshObject,
boundaryRadiationProperties
>(mesh),
radBoundaryPropertiesPtrList_(mesh.boundary().size()), radBoundaryPropertiesPtrList_(mesh.boundary().size()),
radZonePropertiesPtrList_(mesh.faceZones().size()) radZonePropertiesPtrList_(mesh.faceZones().size())
{ {

View File

@ -34,8 +34,8 @@ SourceFiles
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
#ifndef boundaryRadiationProperties_H #ifndef Foam_boundaryRadiationProperties_H
#define boundaryRadiationProperties_H #define Foam_boundaryRadiationProperties_H
#include "MeshObject.H" #include "MeshObject.H"
#include "boundaryRadiationPropertiesPatch.H" #include "boundaryRadiationPropertiesPatch.H"
@ -45,6 +45,7 @@ SourceFiles
namespace Foam namespace Foam
{ {
// Forward Declarations
class fvMesh; class fvMesh;
namespace radiation namespace radiation
@ -59,10 +60,20 @@ class boundaryRadiationProperties
public MeshObject public MeshObject
< <
fvMesh, fvMesh,
Foam::GeometricMeshObject, GeometricMeshObject,
boundaryRadiationProperties boundaryRadiationProperties
> >
{ {
// Private Typedefs
typedef MeshObject
<
fvMesh,
GeometricMeshObject,
boundaryRadiationProperties
> MeshObject_type;
// Private Data // Private Data
//- Per patch the boundaryRadiationProperties //- Per patch the boundaryRadiationProperties
@ -83,7 +94,7 @@ public:
// Constructors // Constructors
//- Construct given fvMesh //- Construct given fvMesh
explicit boundaryRadiationProperties(const fvMesh&); explicit boundaryRadiationProperties(const fvMesh& mesh);
// Member Functions // Member Functions