diff --git a/applications/solvers/modules/VoFSolver/VoFSolver.C b/applications/solvers/modules/VoFSolver/VoFSolver.C index acc0784664..da491b1469 100644 --- a/applications/solvers/modules/VoFSolver/VoFSolver.C +++ b/applications/solvers/modules/VoFSolver/VoFSolver.C @@ -197,7 +197,7 @@ Foam::scalar Foam::solvers::VoFSolver::maxDeltaT() const void Foam::solvers::VoFSolver::preSolve() { // Read the controls - read(); + readControls(); if (transient()) { diff --git a/applications/solvers/modules/compressibleMultiphaseVoF/compressibleMultiphaseVoF.C b/applications/solvers/modules/compressibleMultiphaseVoF/compressibleMultiphaseVoF.C index 5b00d558b7..b97def57d6 100644 --- a/applications/solvers/modules/compressibleMultiphaseVoF/compressibleMultiphaseVoF.C +++ b/applications/solvers/modules/compressibleMultiphaseVoF/compressibleMultiphaseVoF.C @@ -100,7 +100,7 @@ Foam::solvers::compressibleMultiphaseVoF::compressibleMultiphaseVoF momentumTransport(momentumTransport_()) { // Read the controls - read(); + readControls(); if (correctPhi) { diff --git a/applications/solvers/modules/compressibleVoF/compressibleVoF.C b/applications/solvers/modules/compressibleVoF/compressibleVoF.C index 2c8d2e47ca..cef372b4e8 100644 --- a/applications/solvers/modules/compressibleVoF/compressibleVoF.C +++ b/applications/solvers/modules/compressibleVoF/compressibleVoF.C @@ -114,7 +114,7 @@ Foam::solvers::compressibleVoF::compressibleVoF(fvMesh& mesh) thermophysicalTransport(momentumTransport) { // Read the controls - read(); + readControls(); if (correctPhi) { diff --git a/applications/solvers/modules/fluidSolver/fluidSolver.C b/applications/solvers/modules/fluidSolver/fluidSolver.C index 66a277e40b..3c3b2577e4 100644 --- a/applications/solvers/modules/fluidSolver/fluidSolver.C +++ b/applications/solvers/modules/fluidSolver/fluidSolver.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2022 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2022-2023 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -42,7 +42,7 @@ namespace solvers // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // -void Foam::solvers::fluidSolver::read() +void Foam::solvers::fluidSolver::readControls() { maxCo = runTime.controlDict().lookupOrDefault("maxCo", 1.0); @@ -191,7 +191,7 @@ Foam::solvers::fluidSolver::fluidSolver(fvMesh& mesh) CoNum(0) { // Read the controls - read(); + readControls(); } diff --git a/applications/solvers/modules/fluidSolver/fluidSolver.H b/applications/solvers/modules/fluidSolver/fluidSolver.H index 6c5f9155ea..abb70d9587 100644 --- a/applications/solvers/modules/fluidSolver/fluidSolver.H +++ b/applications/solvers/modules/fluidSolver/fluidSolver.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2022 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2022-2023 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -99,7 +99,7 @@ protected: scalar CoNum; //- Read controls - void read(); + void readControls(); //- Check mesh Courant numbers for moving mesh cases void meshCourantNo() const; diff --git a/applications/solvers/modules/incompressibleFluid/incompressibleFluid.C b/applications/solvers/modules/incompressibleFluid/incompressibleFluid.C index 8300c0f0f4..63127ac12a 100644 --- a/applications/solvers/modules/incompressibleFluid/incompressibleFluid.C +++ b/applications/solvers/modules/incompressibleFluid/incompressibleFluid.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2022 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2022-2023 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -176,7 +176,7 @@ Foam::solvers::incompressibleFluid::~incompressibleFluid() void Foam::solvers::incompressibleFluid::preSolve() { // Read the controls - read(); + readControls(); fvModels().preUpdateMesh(); diff --git a/applications/solvers/modules/incompressibleMultiphaseVoF/incompressibleMultiphaseVoF.C b/applications/solvers/modules/incompressibleMultiphaseVoF/incompressibleMultiphaseVoF.C index dc8dbcfc2b..7aa00dbb80 100644 --- a/applications/solvers/modules/incompressibleMultiphaseVoF/incompressibleMultiphaseVoF.C +++ b/applications/solvers/modules/incompressibleMultiphaseVoF/incompressibleMultiphaseVoF.C @@ -100,7 +100,7 @@ Foam::solvers::incompressibleMultiphaseVoF::incompressibleMultiphaseVoF momentumTransport(momentumTransport_()) { // Read the controls - read(); + readControls(); if (!runTime.restart() || !divergent()) { diff --git a/applications/solvers/modules/incompressibleVoF/incompressibleVoF.C b/applications/solvers/modules/incompressibleVoF/incompressibleVoF.C index 84982d6c65..deda3634ed 100644 --- a/applications/solvers/modules/incompressibleVoF/incompressibleVoF.C +++ b/applications/solvers/modules/incompressibleVoF/incompressibleVoF.C @@ -86,7 +86,7 @@ Foam::solvers::incompressibleVoF::incompressibleVoF(fvMesh& mesh) ) { // Read the controls - read(); + readControls(); if (!runTime.restart() || !divergent()) { diff --git a/applications/solvers/modules/isothermalFluid/isothermalFluid.C b/applications/solvers/modules/isothermalFluid/isothermalFluid.C index a658249215..b25f9e7b08 100644 --- a/applications/solvers/modules/isothermalFluid/isothermalFluid.C +++ b/applications/solvers/modules/isothermalFluid/isothermalFluid.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2022 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2022-2023 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -180,7 +180,7 @@ Foam::solvers::isothermalFluid::isothermalFluid MRF(mesh) { // Read the controls - read(); + readControls(); mesh.schemes().setFluxRequired(p.name()); momentumTransport->validate(); @@ -280,7 +280,7 @@ Foam::solvers::isothermalFluid::~isothermalFluid() void Foam::solvers::isothermalFluid::preSolve() { // Read the controls - read(); + readControls(); if (transient()) { diff --git a/applications/solvers/modules/multiphaseEuler/multiphaseEuler/multiphaseEuler.C b/applications/solvers/modules/multiphaseEuler/multiphaseEuler/multiphaseEuler.C index 52de506205..8c0c714ed7 100644 --- a/applications/solvers/modules/multiphaseEuler/multiphaseEuler/multiphaseEuler.C +++ b/applications/solvers/modules/multiphaseEuler/multiphaseEuler/multiphaseEuler.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2022 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2022-2023 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -45,9 +45,9 @@ namespace solvers // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // -void Foam::solvers::multiphaseEuler::read() +void Foam::solvers::multiphaseEuler::readControls() { - fluidSolver::read(); + fluidSolver::readControls(); faceMomentum = pimple.dict().lookupOrDefault("faceMomentum", false); @@ -171,7 +171,7 @@ Foam::solvers::multiphaseEuler::multiphaseEuler(fvMesh& mesh) MRF(fluid.MRF()) { // Read the controls - read(); + readControls(); mesh.schemes().setFluxRequired(p_rgh.name()); @@ -193,7 +193,7 @@ Foam::solvers::multiphaseEuler::~multiphaseEuler() void Foam::solvers::multiphaseEuler::preSolve() { // Read the controls - read(); + readControls(); if (transient()) { diff --git a/applications/solvers/modules/multiphaseEuler/multiphaseEuler/multiphaseEuler.H b/applications/solvers/modules/multiphaseEuler/multiphaseEuler/multiphaseEuler.H index 8bb33e5b28..7a97bfd3e9 100644 --- a/applications/solvers/modules/multiphaseEuler/multiphaseEuler/multiphaseEuler.H +++ b/applications/solvers/modules/multiphaseEuler/multiphaseEuler/multiphaseEuler.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2022 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2022-2023 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -152,7 +152,7 @@ protected: tmp divU; //- Read controls - void read(); + void readControls(); private: diff --git a/applications/solvers/modules/shockFluid/shockFluid.C b/applications/solvers/modules/shockFluid/shockFluid.C index 64a76a78de..c08e65ac10 100644 --- a/applications/solvers/modules/shockFluid/shockFluid.C +++ b/applications/solvers/modules/shockFluid/shockFluid.C @@ -178,7 +178,7 @@ Foam::solvers::shockFluid::shockFluid(fvMesh& mesh) ) { // Read the controls - read(); + readControls(); thermo.validate(type(), "e"); @@ -235,7 +235,7 @@ Foam::solvers::shockFluid::~shockFluid() void Foam::solvers::shockFluid::preSolve() { // Read the controls - read(); + readControls(); { const surfaceScalarField amaxSf diff --git a/applications/solvers/modules/solid/solid.C b/applications/solvers/modules/solid/solid.C index 97c8910845..2549b1a1f2 100644 --- a/applications/solvers/modules/solid/solid.C +++ b/applications/solvers/modules/solid/solid.C @@ -41,7 +41,7 @@ namespace solvers // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // -void Foam::solvers::solid::read() +void Foam::solvers::solid::readControls() { maxDi = runTime.controlDict().lookupOrDefault("maxDi", 1.0); @@ -117,7 +117,7 @@ Foam::solvers::solid::solid(fvMesh& mesh) solid(mesh, solidThermo::New(mesh)) { // Read the controls - read(); + readControls(); } @@ -146,7 +146,7 @@ Foam::scalar Foam::solvers::solid::maxDeltaT() const void Foam::solvers::solid::preSolve() { // Read the controls - read(); + readControls(); fvModels().preUpdateMesh(); diff --git a/applications/solvers/modules/solid/solid.H b/applications/solvers/modules/solid/solid.H index 70caee3af4..f372fc7703 100644 --- a/applications/solvers/modules/solid/solid.H +++ b/applications/solvers/modules/solid/solid.H @@ -88,7 +88,7 @@ protected: // Protected Member Functions //- Read controls - virtual void read(); + virtual void readControls(); private: diff --git a/applications/solvers/modules/solidDisplacement/solidDisplacement.C b/applications/solvers/modules/solidDisplacement/solidDisplacement.C index b4e94488de..bd01d9f119 100644 --- a/applications/solvers/modules/solidDisplacement/solidDisplacement.C +++ b/applications/solvers/modules/solidDisplacement/solidDisplacement.C @@ -45,9 +45,9 @@ namespace solvers // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // -void Foam::solvers::solidDisplacement::read() +void Foam::solvers::solidDisplacement::readControls() { - solid::read(); + solid::readControls(); nCorr = pimple.dict().lookupOrDefault("nCorrectors", 1); convergenceTolerance = pimple.dict().lookupOrDefault("D", 0); @@ -134,7 +134,7 @@ Foam::solvers::solidDisplacement::solidDisplacement(fvMesh& mesh) mesh.schemes().setFluxRequired(D.name()); // Read the controls - read(); + readControls(); } diff --git a/applications/solvers/modules/solidDisplacement/solidDisplacement.H b/applications/solvers/modules/solidDisplacement/solidDisplacement.H index 95ea10d4a0..03c2f57f6a 100644 --- a/applications/solvers/modules/solidDisplacement/solidDisplacement.H +++ b/applications/solvers/modules/solidDisplacement/solidDisplacement.H @@ -124,7 +124,7 @@ protected: // Protected Member Functions //- Read controls - virtual void read(); + virtual void readControls(); public: diff --git a/src/finiteVolume/solver/solver.C b/src/finiteVolume/solver/solver.C index ef1e46e11c..c881f9b3f5 100644 --- a/src/finiteVolume/solver/solver.C +++ b/src/finiteVolume/solver/solver.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2022 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2022-2023 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -35,10 +35,29 @@ namespace Foam } +// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // + +bool Foam::solver::writeData(Ostream&) const +{ + NotImplemented; + return false; +} + + // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // Foam::solver::solver(fvMesh& mesh_) : + regIOobject + ( + IOobject + ( + typeName, + mesh_.time().timeName(), + mesh_ + ) + ), + mesh(mesh_), runTime(mesh.time()), diff --git a/src/finiteVolume/solver/solver.H b/src/finiteVolume/solver/solver.H index a589147bc7..a0acb6492c 100644 --- a/src/finiteVolume/solver/solver.H +++ b/src/finiteVolume/solver/solver.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | Website: https://openfoam.org - \\ / A nd | Copyright (C) 2022 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2022-2023 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -51,6 +51,8 @@ namespace Foam \*---------------------------------------------------------------------------*/ class solver +: + public regIOobject { public: @@ -85,6 +87,12 @@ private: mutable Foam::fvConstraints* fvConstraintsPtr; + // Private Member Functions + + //- Dummy write for regIOobject + virtual bool writeData(Ostream&) const; + + public: //- Runtime type information