diff --git a/applications/solvers/lagrangian/reactingParcelFoam/createMeshesPostProcess.H b/applications/solvers/lagrangian/reactingParcelFoam/createMeshesPostProcess.H new file mode 100644 index 0000000000000000000000000000000000000000..a69a6f87ce3aa698c019821fcae17d71478abf48 --- /dev/null +++ b/applications/solvers/lagrangian/reactingParcelFoam/createMeshesPostProcess.H @@ -0,0 +1,28 @@ +#include "createMesh.H" + +IOdictionary filmDict +( + IOobject + ( + "surfaceFilmProperties", + runTime.constant(), + runTime, + IOobject::MUST_READ, + IOobject::NO_WRITE, + false + ) +); + +const word filmRegionName = filmDict.get<word>("region"); + +fvMesh filmMesh +( + IOobject + ( + filmRegionName, + runTime.timeName(), + runTime, + IOobject::MUST_READ + ) +); + diff --git a/applications/solvers/lagrangian/reactingParcelFoam/reactingParcelFoam.C b/applications/solvers/lagrangian/reactingParcelFoam/reactingParcelFoam.C index 38dd7334ba4ababf4ea34abf292857a330c08ff2..9e912ce9670460a5576525bd1ee28097fc8b17dc 100644 --- a/applications/solvers/lagrangian/reactingParcelFoam/reactingParcelFoam.C +++ b/applications/solvers/lagrangian/reactingParcelFoam/reactingParcelFoam.C @@ -70,6 +70,7 @@ int main(int argc, char *argv[]) " and surface film modelling." ); + #define CREATE_MESH createMeshesPostProcess.H #include "postProcess.H" #include "addCheckCaseOptions.H" diff --git a/src/regionModels/regionModel/regionModel/regionModel.C b/src/regionModels/regionModel/regionModel/regionModel.C index d7d0d7c4f211af0174fda2c9f5facf5406e89865..0885dd53f6fa50c9dfaf5ebd1cc4ef4fca664b73 100644 --- a/src/regionModels/regionModel/regionModel/regionModel.C +++ b/src/regionModels/regionModel/regionModel/regionModel.C @@ -46,11 +46,9 @@ namespace regionModels void Foam::regionModels::regionModel::constructMeshObjects() { - // construct region mesh if (!time_.foundObject<fvMesh>(regionName_)) { - regionMeshPtr_.reset - ( + fvMesh* regionMeshPtr = new fvMesh ( IOobject @@ -60,8 +58,9 @@ void Foam::regionModels::regionModel::constructMeshObjects() time_, IOobject::MUST_READ ) - ) - ); + ); + + regionMeshPtr->objectRegistry::store(); } } @@ -364,7 +363,6 @@ Foam::regionModels::regionModel::regionModel active_(false), infoOutput_(false), modelName_("none"), - regionMeshPtr_(nullptr), coeffs_(dictionary::null), outputPropertiesPtr_(nullptr), primaryPatchIDs_(), @@ -400,7 +398,6 @@ Foam::regionModels::regionModel::regionModel active_(get<Switch>("active")), infoOutput_(true), modelName_(modelName), - regionMeshPtr_(nullptr), coeffs_(subOrEmptyDict(modelName + "Coeffs")), outputPropertiesPtr_(nullptr), primaryPatchIDs_(), @@ -448,7 +445,6 @@ Foam::regionModels::regionModel::regionModel active_(dict.get<Switch>("active")), infoOutput_(false), modelName_(modelName), - regionMeshPtr_(nullptr), coeffs_(dict.subOrEmptyDict(modelName + "Coeffs")), outputPropertiesPtr_(nullptr), primaryPatchIDs_(), @@ -469,12 +465,6 @@ Foam::regionModels::regionModel::regionModel } -// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // - -Foam::regionModels::regionModel::~regionModel() -{} - - // * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * * // void Foam::regionModels::regionModel::evolve() diff --git a/src/regionModels/regionModel/regionModel/regionModel.H b/src/regionModels/regionModel/regionModel/regionModel.H index 5d846dc42ffe869fbc2d540888422a8a671462dc..f237810fad39818c26171633e2eeed7ac1addff3 100644 --- a/src/regionModels/regionModel/regionModel/regionModel.H +++ b/src/regionModels/regionModel/regionModel/regionModel.H @@ -99,9 +99,6 @@ protected: //- Model name const word modelName_; - //- Pointer to the region mesh database - autoPtr<fvMesh> regionMeshPtr_; - //- Model coefficients dictionary dictionary coeffs_; @@ -185,7 +182,7 @@ public: //- Destructor - virtual ~regionModel(); + virtual ~regionModel() = default; // Member Functions diff --git a/src/regionModels/regionModel/regionModel/regionModelI.H b/src/regionModels/regionModel/regionModel/regionModelI.H index afa1189f8dda63952a2c2fb77cb3c5e42272ef14..abd9a942833a374212236ea5cc8b23632b16fd87 100644 --- a/src/regionModels/regionModel/regionModel/regionModelI.H +++ b/src/regionModels/regionModel/regionModel/regionModelI.H @@ -62,19 +62,15 @@ inline const Foam::word& Foam::regionModels::regionModel::modelName() const inline const Foam::fvMesh& Foam::regionModels::regionModel::regionMesh() const { - const fvMesh* regionPtr = time_.findObject<fvMesh>(regionName_); + const fvMesh* regionPtr = time_.getObjectPtr<fvMesh>(regionName_); - if (regionPtr) - { - return *regionPtr; - } - else if (!regionMeshPtr_.valid()) + if (!regionPtr) { FatalErrorInFunction << "Region mesh not available" << abort(FatalError); } - return *regionMeshPtr_; + return *regionPtr; } @@ -82,17 +78,13 @@ inline Foam::fvMesh& Foam::regionModels::regionModel::regionMesh() { fvMesh* regionPtr = time_.getObjectPtr<fvMesh>(regionName_); - if (regionPtr) - { - return *regionPtr; - } - else if (!regionMeshPtr_.valid()) + if (!regionPtr) { FatalErrorInFunction << "Region mesh not available" << abort(FatalError); } - return *regionMeshPtr_; + return *regionPtr; }