From 6884300a00750593628812d8cec8593d40835859 Mon Sep 17 00:00:00 2001 From: Henry Date: Fri, 6 Mar 2015 18:14:18 +0000 Subject: [PATCH] lagrangian: Replace dummy "notImplemented" functions with abstract functions making base classes abstract Make clone functions const and abstract in abstract base classes Change copy constructors to take const argument Make private data mutable where necessary --- .../DispersionRASModel/DispersionRASModel.C | 2 +- .../DispersionRASModel/DispersionRASModel.H | 10 +- .../GradientDispersionRAS.C | 4 +- .../GradientDispersionRAS.H | 6 +- .../StochasticDispersionRAS.C | 4 +- .../StochasticDispersionRAS.H | 6 +- .../distributionModel/distributionModel.C | 49 +------ .../distributionModel/distributionModel.H | 15 +-- .../IntegrationScheme/IntegrationScheme.C | 34 +---- .../IntegrationScheme/IntegrationScheme.H | 12 +- .../CollisionModel/CollisionModel.C | 37 +---- .../CollisionModel/CollisionModel.H | 16 +-- .../CollisionModel/NoCollision/NoCollision.C | 4 +- .../CollisionModel/NoCollision/NoCollision.H | 6 +- .../PairCollision/PairCollision.C | 8 +- .../PairCollision/PairCollision.H | 6 +- .../DispersionModel/DispersionModel.C | 34 +---- .../DispersionModel/DispersionModel.H | 12 +- .../NoDispersion/NoDispersion.C | 4 +- .../NoDispersion/NoDispersion.H | 6 +- .../InjectionModel/InjectionModel.C | 126 ------------------ .../InjectionModel/InjectionModel.H | 22 ++- .../kinematicParcelInjectionData.H | 103 +++++++------- .../StochasticCollisionModel.C | 14 +- .../StochasticCollisionModel.H | 10 +- .../SurfaceFilmModel/SurfaceFilmModel.C | 24 +--- .../SurfaceFilmModel/SurfaceFilmModel.H | 10 +- .../CompositionModel/CompositionModel.C | 49 ------- .../CompositionModel/CompositionModel.H | 16 +-- .../NoComposition/NoComposition.C | 33 ++++- .../NoComposition/NoComposition.H | 25 +++- .../SingleMixtureFraction.C | 27 +--- .../SingleMixtureFraction.H | 29 +--- .../SinglePhaseMixture/SinglePhaseMixture.C | 42 +----- .../SinglePhaseMixture/SinglePhaseMixture.H | 29 +--- .../reactingParcelInjectionData.H | 64 ++------- .../DevolatilisationModel.C | 36 +---- .../DevolatilisationModel.H | 10 +- .../NoDevolatilisation/NoDevolatilisation.C | 4 +- .../NoDevolatilisation/NoDevolatilisation.H | 4 +- .../reactingMultiphaseParcelInjectionData.H | 64 ++------- .../SurfaceReactionModel.C | 53 +------- .../SurfaceReactionModel.H | 10 +- .../HeatTransferModel/HeatTransferModel.C | 24 +--- .../HeatTransferModel/HeatTransferModel.H | 10 +- .../thermoParcelInjectionData.H | 64 ++------- .../ThermoSurfaceFilm/ThermoSurfaceFilm.H | 4 +- .../AtomizationModel/AtomizationModel.C | 69 +--------- .../AtomizationModel/AtomizationModel.H | 18 +-- .../BreakupModel/BreakupModel/BreakupModel.C | 62 +-------- .../BreakupModel/BreakupModel/BreakupModel.H | 10 +- .../DispersionRASModel/DispersionRASModel.C | 2 +- .../DispersionRASModel/DispersionRASModel.H | 27 ++-- .../GradientDispersionRAS.C | 4 +- .../GradientDispersionRAS.H | 8 +- .../StochasticDispersionRAS.C | 4 +- .../StochasticDispersionRAS.H | 6 +- 57 files changed, 284 insertions(+), 1107 deletions(-) diff --git a/src/lagrangian/Turbulence/submodels/Kinematic/DispersionModel/DispersionRASModel/DispersionRASModel.C b/src/lagrangian/Turbulence/submodels/Kinematic/DispersionModel/DispersionRASModel/DispersionRASModel.C index 80aa02213..a5f090cc1 100644 --- a/src/lagrangian/Turbulence/submodels/Kinematic/DispersionModel/DispersionRASModel/DispersionRASModel.C +++ b/src/lagrangian/Turbulence/submodels/Kinematic/DispersionModel/DispersionRASModel/DispersionRASModel.C @@ -117,7 +117,7 @@ Foam::DispersionRASModel::DispersionRASModel template Foam::DispersionRASModel::DispersionRASModel ( - DispersionRASModel& dm + const DispersionRASModel& dm ) : DispersionModel(dm), diff --git a/src/lagrangian/Turbulence/submodels/Kinematic/DispersionModel/DispersionRASModel/DispersionRASModel.H b/src/lagrangian/Turbulence/submodels/Kinematic/DispersionModel/DispersionRASModel/DispersionRASModel.H index 849676637..a80775549 100644 --- a/src/lagrangian/Turbulence/submodels/Kinematic/DispersionModel/DispersionRASModel/DispersionRASModel.H +++ b/src/lagrangian/Turbulence/submodels/Kinematic/DispersionModel/DispersionRASModel/DispersionRASModel.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -59,13 +59,13 @@ protected: const volScalarField* kPtr_; //- Take ownership of the k field - bool ownK_; + mutable bool ownK_; //- Turbulence epsilon const volScalarField* epsilonPtr_; //- Take ownership of the epsilon field - bool ownEpsilon_; + mutable bool ownEpsilon_; // Protected Functions @@ -89,10 +89,10 @@ public: DispersionRASModel(const dictionary& dict, CloudType& owner); //- Construct copy - DispersionRASModel(DispersionRASModel& dm); + DispersionRASModel(const DispersionRASModel& dm); //- Construct and return a clone - virtual autoPtr > clone() + virtual autoPtr > clone() const { return autoPtr > ( diff --git a/src/lagrangian/Turbulence/submodels/Kinematic/DispersionModel/GradientDispersionRAS/GradientDispersionRAS.C b/src/lagrangian/Turbulence/submodels/Kinematic/DispersionModel/GradientDispersionRAS/GradientDispersionRAS.C index 06fa810ac..1b7b3c195 100644 --- a/src/lagrangian/Turbulence/submodels/Kinematic/DispersionModel/GradientDispersionRAS/GradientDispersionRAS.C +++ b/src/lagrangian/Turbulence/submodels/Kinematic/DispersionModel/GradientDispersionRAS/GradientDispersionRAS.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -45,7 +45,7 @@ Foam::GradientDispersionRAS::GradientDispersionRAS template Foam::GradientDispersionRAS::GradientDispersionRAS ( - GradientDispersionRAS& dm + const GradientDispersionRAS& dm ) : DispersionRASModel(dm), diff --git a/src/lagrangian/Turbulence/submodels/Kinematic/DispersionModel/GradientDispersionRAS/GradientDispersionRAS.H b/src/lagrangian/Turbulence/submodels/Kinematic/DispersionModel/GradientDispersionRAS/GradientDispersionRAS.H index b9ccfac51..829c8fcfd 100644 --- a/src/lagrangian/Turbulence/submodels/Kinematic/DispersionModel/GradientDispersionRAS/GradientDispersionRAS.H +++ b/src/lagrangian/Turbulence/submodels/Kinematic/DispersionModel/GradientDispersionRAS/GradientDispersionRAS.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -75,10 +75,10 @@ public: GradientDispersionRAS(const dictionary& dict, CloudType& owner); //- Construct copy - GradientDispersionRAS(GradientDispersionRAS& dm); + GradientDispersionRAS(const GradientDispersionRAS& dm); //- Construct and return a clone - virtual autoPtr > clone() + virtual autoPtr > clone() const { return autoPtr > ( diff --git a/src/lagrangian/Turbulence/submodels/Kinematic/DispersionModel/StochasticDispersionRAS/StochasticDispersionRAS.C b/src/lagrangian/Turbulence/submodels/Kinematic/DispersionModel/StochasticDispersionRAS/StochasticDispersionRAS.C index badebbc11..e55862850 100644 --- a/src/lagrangian/Turbulence/submodels/Kinematic/DispersionModel/StochasticDispersionRAS/StochasticDispersionRAS.C +++ b/src/lagrangian/Turbulence/submodels/Kinematic/DispersionModel/StochasticDispersionRAS/StochasticDispersionRAS.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -41,7 +41,7 @@ Foam::StochasticDispersionRAS::StochasticDispersionRAS template Foam::StochasticDispersionRAS::StochasticDispersionRAS ( - StochasticDispersionRAS& dm + const StochasticDispersionRAS& dm ) : DispersionRASModel(dm) diff --git a/src/lagrangian/Turbulence/submodels/Kinematic/DispersionModel/StochasticDispersionRAS/StochasticDispersionRAS.H b/src/lagrangian/Turbulence/submodels/Kinematic/DispersionModel/StochasticDispersionRAS/StochasticDispersionRAS.H index d1c87d048..fe6acc7ae 100644 --- a/src/lagrangian/Turbulence/submodels/Kinematic/DispersionModel/StochasticDispersionRAS/StochasticDispersionRAS.H +++ b/src/lagrangian/Turbulence/submodels/Kinematic/DispersionModel/StochasticDispersionRAS/StochasticDispersionRAS.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -62,10 +62,10 @@ public: StochasticDispersionRAS(const dictionary& dict, CloudType& owner); //- Construct copy - StochasticDispersionRAS(StochasticDispersionRAS& dm); + StochasticDispersionRAS(const StochasticDispersionRAS& dm); //- Construct and return a clone - virtual autoPtr > clone() + virtual autoPtr > clone() const { return autoPtr > ( diff --git a/src/lagrangian/distributionModels/distributionModel/distributionModel.C b/src/lagrangian/distributionModels/distributionModel/distributionModel.C index 83772fc77..c04856d3a 100644 --- a/src/lagrangian/distributionModels/distributionModel/distributionModel.C +++ b/src/lagrangian/distributionModels/distributionModel/distributionModel.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -36,6 +36,7 @@ namespace Foam } } + // * * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * // void Foam::distributionModels::distributionModel::check() const @@ -89,50 +90,4 @@ Foam::distributionModels::distributionModel::~distributionModel() {} -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -Foam::scalar Foam::distributionModels::distributionModel::sample() const -{ - notImplemented - ( - "Foam::scalar " - "Foam::distributionModels::distributionModel::sample() const" - ); - return 0.0; -} - - -Foam::scalar Foam::distributionModels::distributionModel::minValue() const -{ - notImplemented - ( - "Foam::scalar " - "Foam::distributionModels::distributionModel::minValue() const" - ); - return 0.0; -} - - -Foam::scalar Foam::distributionModels::distributionModel::maxValue() const -{ - notImplemented - ( - "Foam::scalar " - "Foam::distributionModels::distributionModel::maxValue() const" - ); - return 0.0; -} - - -Foam::scalar Foam::distributionModels::distributionModel::meanValue() const -{ - notImplemented - ( - "Foam::scalar " - "Foam::distributionModels::distributionModel::meanValue() const" - ); - return 0.0; -} - - // ************************************************************************* // diff --git a/src/lagrangian/distributionModels/distributionModel/distributionModel.H b/src/lagrangian/distributionModels/distributionModel/distributionModel.H index efc7f2b1a..fe5e87654 100644 --- a/src/lagrangian/distributionModels/distributionModel/distributionModel.H +++ b/src/lagrangian/distributionModels/distributionModel/distributionModel.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -121,10 +121,7 @@ public: distributionModel(const distributionModel& p); //- Construct and return a clone - virtual autoPtr clone() const - { - return autoPtr(new distributionModel(*this)); - } + virtual autoPtr clone() const = 0; //- Selector @@ -142,16 +139,16 @@ public: // Member Functions //- Sample the distributionModel - virtual scalar sample() const; + virtual scalar sample() const = 0; //- Return the minimum value - virtual scalar minValue() const; + virtual scalar minValue() const = 0; //- Return the maximum value - virtual scalar maxValue() const; + virtual scalar maxValue() const = 0; //- Return the maximum value - virtual scalar meanValue() const; + virtual scalar meanValue() const = 0; }; diff --git a/src/lagrangian/intermediate/IntegrationScheme/IntegrationScheme/IntegrationScheme.C b/src/lagrangian/intermediate/IntegrationScheme/IntegrationScheme/IntegrationScheme.C index 1fa257a56..50d05a2ee 100644 --- a/src/lagrangian/intermediate/IntegrationScheme/IntegrationScheme/IntegrationScheme.C +++ b/src/lagrangian/intermediate/IntegrationScheme/IntegrationScheme/IntegrationScheme.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -54,38 +54,6 @@ Foam::IntegrationScheme::~IntegrationScheme() {} -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -template -typename Foam::IntegrationScheme::integrationResult -Foam::IntegrationScheme::integrate -( - const Type& phi, - const scalar dt, - const Type& alphaBeta, - const scalar beta -) const -{ - notImplemented - ( - "Foam::IntegrationScheme::integrationResult" - "Foam::IntegrationScheme::integrate" - "(" - "const Type&, " - "const scalar, " - "const Type&, " - "const scalar" - ") const" - ); - - typename IntegrationScheme::integrationResult retValue; - retValue.average() = pTraits::zero; - retValue.value() = pTraits::zero; - - return retValue; -} - - // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // #include "IntegrationSchemeNew.C" diff --git a/src/lagrangian/intermediate/IntegrationScheme/IntegrationScheme/IntegrationScheme.H b/src/lagrangian/intermediate/IntegrationScheme/IntegrationScheme/IntegrationScheme.H index 068f7e8c8..836371dcd 100644 --- a/src/lagrangian/intermediate/IntegrationScheme/IntegrationScheme/IntegrationScheme.H +++ b/src/lagrangian/intermediate/IntegrationScheme/IntegrationScheme/IntegrationScheme.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -154,13 +154,7 @@ public: IntegrationScheme(const IntegrationScheme& is); //- Construct and return clone - virtual autoPtr > clone() const - { - return autoPtr > - ( - new IntegrationScheme(*this) - ); - } + virtual autoPtr > clone() const = 0; // Selectors @@ -186,7 +180,7 @@ public: const scalar dt, const Type& alphaBeta, const scalar beta - ) const; + ) const = 0; }; diff --git a/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/CollisionModel/CollisionModel.C b/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/CollisionModel/CollisionModel.C index 865f359cf..1294e3523 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/CollisionModel/CollisionModel.C +++ b/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/CollisionModel/CollisionModel.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -47,7 +47,10 @@ Foam::CollisionModel::CollisionModel template -Foam::CollisionModel::CollisionModel(CollisionModel& cm) +Foam::CollisionModel::CollisionModel +( + const CollisionModel& cm +) : CloudSubModelBase(cm) {} @@ -60,36 +63,6 @@ Foam::CollisionModel::~CollisionModel() {} -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -template -Foam::label Foam::CollisionModel::nSubCycles() const -{ - notImplemented - ( - "Foam::label Foam::CollisionModel::nSubCycles() const" - ); - return 0; -} - - -template -bool Foam::CollisionModel::controlsWallInteraction() const -{ - notImplemented - ( - "bool Foam::CollisionModel::controlsWallInteraction()" - ); - return false; -} - -template -void Foam::CollisionModel::collide() -{ - notImplemented("void Foam::CollisionModel::collide()"); -} - - // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // #include "CollisionModelNew.C" diff --git a/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/CollisionModel/CollisionModel.H b/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/CollisionModel/CollisionModel.H index ff92ce44c..9134745f6 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/CollisionModel/CollisionModel.H +++ b/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/CollisionModel/CollisionModel.H @@ -94,16 +94,10 @@ public: ); //- Construct copy - CollisionModel(CollisionModel& cm); + CollisionModel(const CollisionModel& cm); //- Construct and return a clone - virtual autoPtr > clone() - { - return autoPtr > - ( - new CollisionModel(*this) - ); - } + virtual autoPtr > clone() const = 0; //- Destructor @@ -122,14 +116,14 @@ public: //- Return the number of times to subcycle the current // timestep to meet the criteria of the collision model - virtual label nSubCycles() const; + virtual label nSubCycles() const = 0; //- Indicates whether model determines wall collisions or not, // used to determine what value to use for wallImpactDistance - virtual bool controlsWallInteraction() const; + virtual bool controlsWallInteraction() const = 0; // Collision function - virtual void collide(); + virtual void collide() = 0; }; diff --git a/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/NoCollision/NoCollision.C b/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/NoCollision/NoCollision.C index 48f213e00..98ba19695 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/NoCollision/NoCollision.C +++ b/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/NoCollision/NoCollision.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -41,7 +41,7 @@ Foam::NoCollision::NoCollision template Foam::NoCollision::NoCollision ( - NoCollision& cm + const NoCollision& cm ) : CollisionModel(cm) diff --git a/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/NoCollision/NoCollision.H b/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/NoCollision/NoCollision.H index b31c4b9f6..95b029f6d 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/NoCollision/NoCollision.H +++ b/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/NoCollision/NoCollision.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -64,10 +64,10 @@ public: NoCollision(const dictionary& dict, CloudType& owner); //- Construct copy - NoCollision(NoCollision& cm); + NoCollision(const NoCollision& cm); //- Construct and return a clone - virtual autoPtr > clone() + virtual autoPtr > clone() const { return autoPtr > ( diff --git a/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/PairCollision/PairCollision.C b/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/PairCollision/PairCollision.C index 47c952db9..9a5e19941 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/PairCollision/PairCollision.C +++ b/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/PairCollision/PairCollision.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -597,13 +597,17 @@ Foam::PairCollision::PairCollision template -Foam::PairCollision::PairCollision(PairCollision& cm) +Foam::PairCollision::PairCollision +( + const PairCollision& cm +) : CollisionModel(cm), pairModel_(NULL), wallModel_(NULL), il_(cm.owner().mesh()) { + // Need to clone to PairModel and WallModel notImplemented ( "Foam::PairCollision::PairCollision" diff --git a/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/PairCollision/PairCollision.H b/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/PairCollision/PairCollision.H index 638619c58..d17e0af9c 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/PairCollision/PairCollision.H +++ b/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/PairCollision/PairCollision.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -151,10 +151,10 @@ public: PairCollision(const dictionary& dict, CloudType& owner); //- Construct copy - PairCollision(PairCollision& cm); + PairCollision(const PairCollision& cm); //- Construct and return a clone - virtual autoPtr > clone() + virtual autoPtr > clone() const { return autoPtr > ( diff --git a/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/DispersionModel/DispersionModel.C b/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/DispersionModel/DispersionModel.C index 3f6288aa1..64508504a 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/DispersionModel/DispersionModel.C +++ b/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/DispersionModel/DispersionModel.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -49,7 +49,7 @@ Foam::DispersionModel::DispersionModel template Foam::DispersionModel::DispersionModel ( - DispersionModel& dm + const DispersionModel& dm ) : CloudSubModelBase(dm) @@ -63,36 +63,6 @@ Foam::DispersionModel::~DispersionModel() {} -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -template -Foam::vector Foam::DispersionModel::update -( - const scalar, - const label, - const vector&, - const vector& Uc, - vector&, - scalar& -) -{ - notImplemented - ( - "Foam::vector Foam::DispersionModel::update" - "(" - "const scalar, " - "const label, " - "const vector&, " - "const vector&, " - "vector&, " - "scalar&" - ")" - ); - - return Uc; -} - - // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // #include "DispersionModelNew.C" diff --git a/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/DispersionModel/DispersionModel.H b/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/DispersionModel/DispersionModel.H index 7e85e0eb2..1af0caeb5 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/DispersionModel/DispersionModel.H +++ b/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/DispersionModel/DispersionModel.H @@ -85,16 +85,10 @@ public: ); //- Construct copy - DispersionModel(DispersionModel& dm); + DispersionModel(const DispersionModel& dm); //- Construct and return a clone - virtual autoPtr > clone() - { - return autoPtr > - ( - new DispersionModel(*this) - ); - } + virtual autoPtr > clone() const = 0; //- Destructor @@ -120,7 +114,7 @@ public: const vector& Uc, vector& UTurb, scalar& tTurb - ); + ) = 0; }; diff --git a/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/NoDispersion/NoDispersion.C b/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/NoDispersion/NoDispersion.C index 49e4ab25f..eec313925 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/NoDispersion/NoDispersion.C +++ b/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/NoDispersion/NoDispersion.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -35,7 +35,7 @@ Foam::NoDispersion::NoDispersion(const dictionary&, CloudType& owner) template -Foam::NoDispersion::NoDispersion(NoDispersion& dm) +Foam::NoDispersion::NoDispersion(const NoDispersion& dm) : DispersionModel(dm.owner_) {} diff --git a/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/NoDispersion/NoDispersion.H b/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/NoDispersion/NoDispersion.H index bb879e1af..887c1b02f 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/NoDispersion/NoDispersion.H +++ b/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/NoDispersion/NoDispersion.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -60,10 +60,10 @@ public: NoDispersion(const dictionary& dict, CloudType& owner); //- Construct copy - NoDispersion(NoDispersion& dm); + NoDispersion(const NoDispersion& dm); //- Construct and return a clone - virtual autoPtr > clone() + virtual autoPtr > clone() const { return autoPtr > ( diff --git a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectionModel/InjectionModel.C b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectionModel/InjectionModel.C index ef82846c8..5be9e15eb 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectionModel/InjectionModel.C +++ b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectionModel/InjectionModel.C @@ -32,18 +32,6 @@ using namespace Foam::constant::mathematical; // * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * * // -template -bool Foam::InjectionModel::validInjection(const label parcelI) -{ - notImplemented - ( - "bool Foam::InjectionModel::validInjection(const label)" - ); - - return false; -} - - template bool Foam::InjectionModel::prepareForNextTimeStep ( @@ -419,58 +407,6 @@ void Foam::InjectionModel::updateMesh() } -template -Foam::scalar Foam::InjectionModel::timeEnd() const -{ - notImplemented - ( - "Foam::scalar Foam::InjectionModel::timeEnd() const" - ); - - return 0.0; -} - - -template -Foam::label Foam::InjectionModel::parcelsToInject -( - const scalar time0, - const scalar time1 -) -{ - notImplemented - ( - "Foam::label Foam::InjectionModel::parcelsToInject" - "(" - "const scalar, " - "const scalar" - ")" - ); - - return 0; -} - - -template -Foam::scalar Foam::InjectionModel::volumeToInject -( - const scalar time0, - const scalar time1 -) -{ - notImplemented - ( - "Foam::scalar Foam::InjectionModel::volumeToInject" - "(" - "const scalar, " - "const scalar" - ")" - ); - - return 0.0; -} - - template Foam::scalar Foam::InjectionModel::averageParcelMass() { @@ -710,68 +646,6 @@ void Foam::InjectionModel::injectSteadyState } -template -void Foam::InjectionModel::setPositionAndCell -( - const label parcelI, - const label nParcels, - const scalar time, - vector& position, - label& cellOwner, - label& tetFaceI, - label& tetPtI -) -{ - notImplemented - ( - "void Foam::InjectionModel::setPositionAndCell" - "(" - "const label, " - "const label, " - "const scalar, " - "vector&, " - "label&, " - "label&, " - "label&" - ")" - ); -} - - -template -void Foam::InjectionModel::setProperties -( - const label parcelI, - const label nParcels, - const scalar time, - typename CloudType::parcelType& parcel -) -{ - notImplemented - ( - "void Foam::InjectionModel::setProperties" - "(" - "const label, " - "const label, " - "const scalar, " - "typename CloudType::parcelType&" - ")" - ); -} - - -template -bool Foam::InjectionModel::fullyDescribed() const -{ - notImplemented - ( - "bool Foam::InjectionModel::fullyDescribed() const" - ); - - return false; -} - - template void Foam::InjectionModel::info(Ostream& os) { diff --git a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectionModel/InjectionModel.H b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectionModel/InjectionModel.H index b44039633..b570a6bf4 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectionModel/InjectionModel.H +++ b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectionModel/InjectionModel.H @@ -143,7 +143,7 @@ protected: //- Additional flag to identify whether or not injection of parcelI is // permitted - virtual bool validInjection(const label parcelI); + virtual bool validInjection(const label parcelI) = 0; //- Determine properties for next time step/injection interval virtual bool prepareForNextTimeStep @@ -220,13 +220,7 @@ public: InjectionModel(const InjectionModel& im); //- Construct and return a clone - virtual autoPtr > clone() const - { - return autoPtr > - ( - new InjectionModel(*this) - ); - } + virtual autoPtr > clone() const = 0; //- Destructor @@ -275,21 +269,21 @@ public: inline scalar massInjected() const; //- Return the end-of-injection time - virtual scalar timeEnd() const; + virtual scalar timeEnd() const = 0; //- Number of parcels to introduce relative to SOI virtual label parcelsToInject ( const scalar time0, const scalar time1 - ); + ) = 0; //- Volume of parcels to introduce relative to SOI virtual scalar volumeToInject ( const scalar time0, const scalar time1 - ); + ) = 0; //- Return the average parcel mass over the injection period virtual scalar averageParcelMass(); @@ -327,7 +321,7 @@ public: label& cellOwner, label& tetFaceI, label& tetPtI - ); + ) = 0; //- Set the parcel properties virtual void setProperties @@ -336,10 +330,10 @@ public: const label nParcels, const scalar time, parcelType& parcel - ); + ) = 0; //- Flag to identify whether model fully describes the parcel - virtual bool fullyDescribed() const; + virtual bool fullyDescribed() const = 0; // I-O diff --git a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/KinematicLookupTableInjection/kinematicParcelInjectionData.H b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/KinematicLookupTableInjection/kinematicParcelInjectionData.H index 977d6e24e..ee76e3b80 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/KinematicLookupTableInjection/kinematicParcelInjectionData.H +++ b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/KinematicLookupTableInjection/kinematicParcelInjectionData.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -144,59 +144,60 @@ public: inline scalar& mDot(); + // Friend Operators + + friend bool operator== + ( + const kinematicParcelInjectionData& a, + const kinematicParcelInjectionData& b + ) + { + notImplemented + ( + "operator==" + "(" + "const kinematicParcelInjectionData&, " + "const kinematicParcelInjectionData&" + ")" + ); + + return false; + } + + friend bool operator!= + ( + const kinematicParcelInjectionData& a, + const kinematicParcelInjectionData& b + ) + { + notImplemented + ( + "operator==" + "(" + "const kinematicParcelInjectionData&, " + "const kinematicParcelInjectionData&" + ")" + ); + + return false; + } + + // I-O - // Friend Operators + //- Ostream operator + friend Ostream& operator<< + ( + Ostream& os, + const kinematicParcelInjectionData& data + ); - friend bool operator== - ( - const kinematicParcelInjectionData& a, - const kinematicParcelInjectionData& b - ) - { - notImplemented - ( - "operator==" - "(" - "const kinematicParcelInjectionData&, " - "const kinematicParcelInjectionData&" - ")" - ); - - return false; - } - - friend bool operator!= - ( - const kinematicParcelInjectionData& a, - const kinematicParcelInjectionData& b - ) - { - notImplemented - ( - "operator==" - "(" - "const kinematicParcelInjectionData&, " - "const kinematicParcelInjectionData&" - ")" - ); - - return false; - } - - //- Ostream operator - friend Ostream& operator<< - ( - Ostream& os, - const kinematicParcelInjectionData& data - ); - - //- Istream operator - friend Istream& operator>> - ( - Istream& is, - kinematicParcelInjectionData& data - ); + //- Istream operator + friend Istream& operator>> + ( + Istream& is, + kinematicParcelInjectionData& data + ); }; diff --git a/src/lagrangian/intermediate/submodels/Kinematic/StochasticCollision/StochasticCollisionModel/StochasticCollisionModel.C b/src/lagrangian/intermediate/submodels/Kinematic/StochasticCollision/StochasticCollisionModel/StochasticCollisionModel.C index 550e12121..0ed36fac1 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/StochasticCollision/StochasticCollisionModel/StochasticCollisionModel.C +++ b/src/lagrangian/intermediate/submodels/Kinematic/StochasticCollision/StochasticCollisionModel/StochasticCollisionModel.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -25,18 +25,6 @@ License #include "StochasticCollisionModel.H" -// * * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * // - -template -void Foam::StochasticCollisionModel::collide(const scalar dt) -{ - notImplemented - ( - "void Foam::NoStochasticCollision::collide(const scalar)" - ); -} - - // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // template diff --git a/src/lagrangian/intermediate/submodels/Kinematic/StochasticCollision/StochasticCollisionModel/StochasticCollisionModel.H b/src/lagrangian/intermediate/submodels/Kinematic/StochasticCollision/StochasticCollisionModel/StochasticCollisionModel.H index 823a458ae..140c9d310 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/StochasticCollision/StochasticCollisionModel/StochasticCollisionModel.H +++ b/src/lagrangian/intermediate/submodels/Kinematic/StochasticCollision/StochasticCollisionModel/StochasticCollisionModel.H @@ -58,7 +58,7 @@ class StochasticCollisionModel protected: //- Main collision routine - virtual void collide(const scalar dt); + virtual void collide(const scalar dt) = 0; public: @@ -97,13 +97,7 @@ public: StochasticCollisionModel(const StochasticCollisionModel& cm); //- Construct and return a clone - virtual autoPtr > clone() const - { - return autoPtr > - ( - new StochasticCollisionModel(*this) - ); - } + virtual autoPtr > clone() const = 0; //- Destructor diff --git a/src/lagrangian/intermediate/submodels/Kinematic/SurfaceFilmModel/SurfaceFilmModel/SurfaceFilmModel.C b/src/lagrangian/intermediate/submodels/Kinematic/SurfaceFilmModel/SurfaceFilmModel/SurfaceFilmModel.C index 51272f356..d2dbb92d6 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/SurfaceFilmModel/SurfaceFilmModel/SurfaceFilmModel.C +++ b/src/lagrangian/intermediate/submodels/Kinematic/SurfaceFilmModel/SurfaceFilmModel/SurfaceFilmModel.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -99,28 +99,6 @@ Foam::SurfaceFilmModel::~SurfaceFilmModel() // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -template -bool Foam::SurfaceFilmModel::transferParcel -( - parcelType& p, - const polyPatch& pp, - bool& keepParticle -) -{ - notImplemented - ( - "bool Foam::SurfaceFilmModel::transferParcel" - "(" - "parcelType&, " - "const polyPatch&, " - "bool&" - ")" - ); - - return false; -} - - template template void Foam::SurfaceFilmModel::inject(TrackData& td) diff --git a/src/lagrangian/intermediate/submodels/Kinematic/SurfaceFilmModel/SurfaceFilmModel/SurfaceFilmModel.H b/src/lagrangian/intermediate/submodels/Kinematic/SurfaceFilmModel/SurfaceFilmModel/SurfaceFilmModel.H index 65a250692..4f93dde52 100644 --- a/src/lagrangian/intermediate/submodels/Kinematic/SurfaceFilmModel/SurfaceFilmModel/SurfaceFilmModel.H +++ b/src/lagrangian/intermediate/submodels/Kinematic/SurfaceFilmModel/SurfaceFilmModel/SurfaceFilmModel.H @@ -161,13 +161,7 @@ public: SurfaceFilmModel(const SurfaceFilmModel& sfm); //- Construct and return a clone - virtual autoPtr > clone() const - { - return autoPtr > - ( - new SurfaceFilmModel(*this) - ); - } + virtual autoPtr > clone() const = 0; //- Destructor @@ -215,7 +209,7 @@ public: parcelType& p, const polyPatch& pp, bool& keepParticle - ); + ) = 0; //- Inject parcels into the cloud template diff --git a/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/CompositionModel/CompositionModel.C b/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/CompositionModel/CompositionModel.C index f18ad8bb5..7cb6e81bf 100644 --- a/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/CompositionModel/CompositionModel.C +++ b/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/CompositionModel/CompositionModel.C @@ -298,55 +298,6 @@ Foam::scalarField Foam::CompositionModel::X } -template -const Foam::scalarField& Foam::CompositionModel::YMixture0() const -{ - notImplemented - ( - "const scalarField& Foam::CompositionModel::YMixture0() " - "const" - ); - - return scalarField::null(); -} - - -template -Foam::label Foam::CompositionModel::idGas() const -{ - notImplemented - ( - "Foam::label Foam::CompositionModel::idGas() const" - ); - - return -1; -} - - -template -Foam::label Foam::CompositionModel::idLiquid() const -{ - notImplemented - ( - "Foam::label Foam::CompositionModel::idLiquid() const" - ); - - return -1; -} - - -template -Foam::label Foam::CompositionModel::idSolid() const -{ - notImplemented - ( - "Foam::label Foam::CompositionModel::idSolid() const" - ); - - return -1; -} - - template Foam::scalar Foam::CompositionModel::H ( diff --git a/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/CompositionModel/CompositionModel.H b/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/CompositionModel/CompositionModel.H index 7938b702c..b57da79fd 100644 --- a/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/CompositionModel/CompositionModel.H +++ b/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/CompositionModel/CompositionModel.H @@ -107,13 +107,7 @@ public: CompositionModel(const CompositionModel& cm); //- Construct and return a clone - virtual autoPtr > clone() const - { - return autoPtr > - ( - new CompositionModel(*this) - ); - } + virtual autoPtr > clone() const = 0; //- Destructor @@ -201,19 +195,19 @@ public: //- Return the list of mixture mass fractions // If only 1 phase, return component fractions of that phase - virtual const scalarField& YMixture0() const; + virtual const scalarField& YMixture0() const = 0; // Indices of gas, liquid and solid phases in phase properties // list - returns -1 if not applicable //- Gas id - virtual label idGas() const; + virtual label idGas() const = 0; //- Liquid id - virtual label idLiquid() const; + virtual label idLiquid() const = 0; //- Solid id - virtual label idSolid() const; + virtual label idSolid() const = 0; // Evaluation diff --git a/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/NoComposition/NoComposition.C b/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/NoComposition/NoComposition.C index 5327feacd..e80a061c6 100644 --- a/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/NoComposition/NoComposition.C +++ b/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/NoComposition/NoComposition.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -55,5 +55,34 @@ Foam::NoComposition::~NoComposition() {} -// ************************************************************************* // +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // +template +const Foam::scalarField& Foam::NoComposition::YMixture0() const +{ + return scalarField::null(); +} + + +template +Foam::label Foam::NoComposition::idGas() const +{ + return -1; +} + + +template +Foam::label Foam::NoComposition::idLiquid() const +{ + return -1; +} + + +template +Foam::label Foam::NoComposition::idSolid() const +{ + return -1; +} + + +// ************************************************************************* // diff --git a/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/NoComposition/NoComposition.H b/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/NoComposition/NoComposition.H index 3ee6b1b0a..716352dc7 100644 --- a/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/NoComposition/NoComposition.H +++ b/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/NoComposition/NoComposition.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -78,6 +78,29 @@ public: //- Destructor virtual ~NoComposition(); + + + // Member Functions + + // Access + + // Mixture properties + + //- Return the list of mixture mass fractions + // If only 1 phase, return component fractions of that phase + virtual const scalarField& YMixture0() const; + + // Indices of gas, liquid and solid phases in phase properties + // list + + //- Gas id + virtual label idGas() const; + + //- Liquid id + virtual label idLiquid() const; + + //- Solid id + virtual label idSolid() const; }; diff --git a/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/SingleMixtureFraction/SingleMixtureFraction.C b/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/SingleMixtureFraction/SingleMixtureFraction.C index e30594c30..3209c04fa 100644 --- a/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/SingleMixtureFraction/SingleMixtureFraction.C +++ b/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/SingleMixtureFraction/SingleMixtureFraction.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -158,30 +158,6 @@ Foam::SingleMixtureFraction::~SingleMixtureFraction() // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -template -const Foam::scalarField& -Foam::SingleMixtureFraction::YGas0() const -{ - return this->phaseProps()[idGas_].Y(); -} - - -template -const Foam::scalarField& -Foam::SingleMixtureFraction::YLiquid0() const -{ - return this->phaseProps()[idLiquid_].Y(); -} - - -template -const Foam::scalarField& -Foam::SingleMixtureFraction::YSolid0() const -{ - return this->phaseProps()[idSolid_].Y(); -} - - template const Foam::scalarField& Foam::SingleMixtureFraction::YMixture0() const @@ -212,4 +188,3 @@ Foam::label Foam::SingleMixtureFraction::idSolid() const // ************************************************************************* // - diff --git a/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/SingleMixtureFraction/SingleMixtureFraction.H b/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/SingleMixtureFraction/SingleMixtureFraction.H index 1bdc130ab..1f2e1f810 100644 --- a/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/SingleMixtureFraction/SingleMixtureFraction.H +++ b/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/SingleMixtureFraction/SingleMixtureFraction.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -110,33 +110,6 @@ public: // Access - // Gas properties - - //- Return the list of gas mass fractions - const scalarField& YGas0() const; - - //- Return the total gas mass fraction - scalar YGasTot0() const; - - - // Liquid properties - - //- Return the list of liquid mass fractions - const scalarField& YLiquid0() const; - - //- Return the total liquid mass fraction - scalar YLiquidTot0() const; - - - // Solid properties - - //- Return the list of solid mass fractions - const scalarField& YSolid0() const; - - //- Return the total solid mass fraction - scalar YSolidTot0() const; - - // Mixture properties //- Return the list of mixture mass fractions diff --git a/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/SinglePhaseMixture/SinglePhaseMixture.C b/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/SinglePhaseMixture/SinglePhaseMixture.C index d80de18e5..1fe61169c 100644 --- a/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/SinglePhaseMixture/SinglePhaseMixture.C +++ b/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/SinglePhaseMixture/SinglePhaseMixture.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -113,45 +113,6 @@ Foam::SinglePhaseMixture::~SinglePhaseMixture() // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -template -const Foam::scalarField& -Foam::SinglePhaseMixture::YGas0() const -{ - notImplemented - ( - "const Foam::scalarField& " - "Foam::SinglePhaseMixture::YGas0() const" - ); - return this->phaseProps()[0].Y(); -} - - -template -const Foam::scalarField& -Foam::SinglePhaseMixture::YLiquid0() const -{ - notImplemented - ( - "const Foam::scalarField& " - "Foam::SinglePhaseMixture::YLiquid0() const" - ); - return this->phaseProps()[0].Y(); -} - - -template -const Foam::scalarField& -Foam::SinglePhaseMixture::YSolid0() const -{ - notImplemented - ( - "const Foam::scalarField& " - "Foam::SinglePhaseMixture::YSolid0() const" - ); - return this->phaseProps()[0].Y(); -} - - template const Foam::scalarField& Foam::SinglePhaseMixture::YMixture0() const @@ -182,4 +143,3 @@ Foam::label Foam::SinglePhaseMixture::idSolid() const // ************************************************************************* // - diff --git a/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/SinglePhaseMixture/SinglePhaseMixture.H b/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/SinglePhaseMixture/SinglePhaseMixture.H index ed9b78f6d..239384cfb 100644 --- a/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/SinglePhaseMixture/SinglePhaseMixture.H +++ b/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/SinglePhaseMixture/SinglePhaseMixture.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -104,33 +104,6 @@ public: // Access - // Gas properties - - //- Return the list of gas mass fractions - const scalarField& YGas0() const; - - //- Return the total gas mass fraction - scalar YGasTot0() const; - - - // Liquid properties - - //- Return the list of liquid mass fractions - const scalarField& YLiquid0() const; - - //- Return the total liquid mass fraction - scalar YLiquidTot0() const; - - - // Solid properties - - //- Return the list of solid mass fractions - const scalarField& YSolid0() const; - - //- Return the total solid mass fraction - scalar YSolidTot0() const; - - // Mixture properties //- Return the list of mixture mass fractions diff --git a/src/lagrangian/intermediate/submodels/Reacting/InjectionModel/ReactingLookupTableInjection/reactingParcelInjectionData.H b/src/lagrangian/intermediate/submodels/Reacting/InjectionModel/ReactingLookupTableInjection/reactingParcelInjectionData.H index c1174a4e8..af582909d 100644 --- a/src/lagrangian/intermediate/submodels/Reacting/InjectionModel/ReactingLookupTableInjection/reactingParcelInjectionData.H +++ b/src/lagrangian/intermediate/submodels/Reacting/InjectionModel/ReactingLookupTableInjection/reactingParcelInjectionData.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -111,57 +111,19 @@ public: // I-O - // Friend Operators + //- Ostream operator + friend Ostream& operator<< + ( + Ostream& os, + const reactingParcelInjectionData& data + ); - friend bool operator== - ( - const reactingParcelInjectionData& a, - const reactingParcelInjectionData& b - ) - { - notImplemented - ( - "operator==" - "(" - "const reactingParcelInjectionData&, " - "const reactingParcelInjectionData&" - ")" - ); - - return false; - } - - friend bool operator!= - ( - const reactingParcelInjectionData& a, - const reactingParcelInjectionData& b - ) - { - notImplemented - ( - "operator==" - "(" - "const reactingParcelInjectionData&, " - "const reactingParcelInjectionData&" - ")" - ); - - return false; - } - - //- Ostream operator - friend Ostream& operator<< - ( - Ostream& os, - const reactingParcelInjectionData& data - ); - - //- Istream operator - friend Istream& operator>> - ( - Istream& is, - reactingParcelInjectionData& data - ); + //- Istream operator + friend Istream& operator>> + ( + Istream& is, + reactingParcelInjectionData& data + ); }; diff --git a/src/lagrangian/intermediate/submodels/ReactingMultiphase/DevolatilisationModel/DevolatilisationModel/DevolatilisationModel.C b/src/lagrangian/intermediate/submodels/ReactingMultiphase/DevolatilisationModel/DevolatilisationModel/DevolatilisationModel.C index 3ea746b88..7d388ce11 100644 --- a/src/lagrangian/intermediate/submodels/ReactingMultiphase/DevolatilisationModel/DevolatilisationModel/DevolatilisationModel.C +++ b/src/lagrangian/intermediate/submodels/ReactingMultiphase/DevolatilisationModel/DevolatilisationModel/DevolatilisationModel.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -71,40 +71,6 @@ Foam::DevolatilisationModel::~DevolatilisationModel() // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -template -void Foam::DevolatilisationModel::calculate -( - const scalar, - const scalar, - const scalar, - const scalar, - const scalar, - const scalarField&, - const scalarField&, - const scalarField&, - label&, - scalarField& -) const -{ - notImplemented - ( - "void Foam::DevolatilisationModel::calculate" - "(" - "const scalar, " - "const scalar, " - "const scalar, " - "const scalar, " - "const scalar, " - "const scalarField&, " - "const scalarField&, " - "const scalarField&, " - "label&, " - "scalarField&" - ") const" - ); -} - - template void Foam::DevolatilisationModel::addToDevolatilisationMass ( diff --git a/src/lagrangian/intermediate/submodels/ReactingMultiphase/DevolatilisationModel/DevolatilisationModel/DevolatilisationModel.H b/src/lagrangian/intermediate/submodels/ReactingMultiphase/DevolatilisationModel/DevolatilisationModel/DevolatilisationModel.H index 41d0403cd..334d757b9 100644 --- a/src/lagrangian/intermediate/submodels/ReactingMultiphase/DevolatilisationModel/DevolatilisationModel/DevolatilisationModel.H +++ b/src/lagrangian/intermediate/submodels/ReactingMultiphase/DevolatilisationModel/DevolatilisationModel/DevolatilisationModel.H @@ -99,13 +99,7 @@ public: DevolatilisationModel(const DevolatilisationModel& dm); //- Construct and return a clone - virtual autoPtr > clone() const - { - return autoPtr > - ( - new DevolatilisationModel(*this) - ); - } + virtual autoPtr > clone() const = 0; //- Destructor @@ -135,7 +129,7 @@ public: const scalarField& YSolidEff, label& canCombust, scalarField& dMassDV - ) const; + ) const = 0; //- Add to devolatilisation mass void addToDevolatilisationMass(const scalar dMass); diff --git a/src/lagrangian/intermediate/submodels/ReactingMultiphase/DevolatilisationModel/NoDevolatilisation/NoDevolatilisation.C b/src/lagrangian/intermediate/submodels/ReactingMultiphase/DevolatilisationModel/NoDevolatilisation/NoDevolatilisation.C index 238cb4a02..1665c224c 100644 --- a/src/lagrangian/intermediate/submodels/ReactingMultiphase/DevolatilisationModel/NoDevolatilisation/NoDevolatilisation.C +++ b/src/lagrangian/intermediate/submodels/ReactingMultiphase/DevolatilisationModel/NoDevolatilisation/NoDevolatilisation.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -75,7 +75,7 @@ void Foam::NoDevolatilisation::calculate const scalarField&, const scalarField&, const scalarField&, - bool& canCombust, + label& canCombust, scalarField& ) const { diff --git a/src/lagrangian/intermediate/submodels/ReactingMultiphase/DevolatilisationModel/NoDevolatilisation/NoDevolatilisation.H b/src/lagrangian/intermediate/submodels/ReactingMultiphase/DevolatilisationModel/NoDevolatilisation/NoDevolatilisation.H index b3a617ba8..dab9b47da 100644 --- a/src/lagrangian/intermediate/submodels/ReactingMultiphase/DevolatilisationModel/NoDevolatilisation/NoDevolatilisation.H +++ b/src/lagrangian/intermediate/submodels/ReactingMultiphase/DevolatilisationModel/NoDevolatilisation/NoDevolatilisation.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -92,7 +92,7 @@ public: const scalarField& YGasEff, const scalarField& YLiquidEff, const scalarField& YSolidEff, - bool& canCombust, + label& canCombust, scalarField& dMassDV ) const; }; diff --git a/src/lagrangian/intermediate/submodels/ReactingMultiphase/InjectionModel/ReactingMultiphaseLookupTableInjection/reactingMultiphaseParcelInjectionData.H b/src/lagrangian/intermediate/submodels/ReactingMultiphase/InjectionModel/ReactingMultiphaseLookupTableInjection/reactingMultiphaseParcelInjectionData.H index 4875a68d1..43c7eacf4 100644 --- a/src/lagrangian/intermediate/submodels/ReactingMultiphase/InjectionModel/ReactingMultiphaseLookupTableInjection/reactingMultiphaseParcelInjectionData.H +++ b/src/lagrangian/intermediate/submodels/ReactingMultiphase/InjectionModel/ReactingMultiphaseLookupTableInjection/reactingMultiphaseParcelInjectionData.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -128,57 +128,19 @@ public: // I-O - // Friend Operators + //- Ostream operator + friend Ostream& operator<< + ( + Ostream& os, + const reactingMultiphaseParcelInjectionData& data + ); - friend bool operator== - ( - const reactingMultiphaseParcelInjectionData& a, - const reactingMultiphaseParcelInjectionData& b - ) - { - notImplemented - ( - "operator==" - "(" - "const reactingMultiphaseParcelInjectionData&, " - "const reactingMultiphaseParcelInjectionData&" - ")" - ); - - return false; - } - - friend bool operator!= - ( - const reactingMultiphaseParcelInjectionData& a, - const reactingMultiphaseParcelInjectionData& b - ) - { - notImplemented - ( - "operator==" - "(" - "const reactingMultiphaseParcelInjectionData&, " - "const reactingMultiphaseParcelInjectionData&" - ")" - ); - - return false; - } - - //- Ostream operator - friend Ostream& operator<< - ( - Ostream& os, - const reactingMultiphaseParcelInjectionData& data - ); - - //- Istream operator - friend Istream& operator>> - ( - Istream& is, - reactingMultiphaseParcelInjectionData& data - ); + //- Istream operator + friend Istream& operator>> + ( + Istream& is, + reactingMultiphaseParcelInjectionData& data + ); }; diff --git a/src/lagrangian/intermediate/submodels/ReactingMultiphase/SurfaceReactionModel/SurfaceReactionModel/SurfaceReactionModel.C b/src/lagrangian/intermediate/submodels/ReactingMultiphase/SurfaceReactionModel/SurfaceReactionModel/SurfaceReactionModel.C index 3beee0747..5a890c7b6 100644 --- a/src/lagrangian/intermediate/submodels/ReactingMultiphase/SurfaceReactionModel/SurfaceReactionModel/SurfaceReactionModel.C +++ b/src/lagrangian/intermediate/submodels/ReactingMultiphase/SurfaceReactionModel/SurfaceReactionModel/SurfaceReactionModel.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -71,56 +71,6 @@ Foam::SurfaceReactionModel::~SurfaceReactionModel() // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -template -Foam::scalar Foam::SurfaceReactionModel::calculate -( - const scalar, - const label, - const scalar, - const scalar, - const scalar, - const scalar, - const scalar, - const scalar, - const scalarField&, - const scalarField&, - const scalarField&, - const scalarField&, - const scalar, - scalarField&, - scalarField&, - scalarField&, - scalarField& -) const -{ - notImplemented - ( - "Foam::scalar Foam::SurfaceReactionModel::calculate" - "(" - "const scalar, " - "const label, " - "const scalar, " - "const scalar, " - "const scalar, " - "const scalar, " - "const scalar, " - "const scalar, " - "const scalarField&, " - "const scalarField&, " - "const scalarField&, " - "const scalarField&, " - "const scalar, " - "scalarField&, " - "scalarField&, " - "scalarField&, " - "scalarField&" - ") const" - ); - - return 0.0; -} - - template void Foam::SurfaceReactionModel::addToSurfaceReactionMass ( @@ -152,4 +102,3 @@ void Foam::SurfaceReactionModel::info(Ostream& os) #include "SurfaceReactionModelNew.C" // ************************************************************************* // - diff --git a/src/lagrangian/intermediate/submodels/ReactingMultiphase/SurfaceReactionModel/SurfaceReactionModel/SurfaceReactionModel.H b/src/lagrangian/intermediate/submodels/ReactingMultiphase/SurfaceReactionModel/SurfaceReactionModel/SurfaceReactionModel.H index 54892c4ba..a490a2432 100644 --- a/src/lagrangian/intermediate/submodels/ReactingMultiphase/SurfaceReactionModel/SurfaceReactionModel/SurfaceReactionModel.H +++ b/src/lagrangian/intermediate/submodels/ReactingMultiphase/SurfaceReactionModel/SurfaceReactionModel/SurfaceReactionModel.H @@ -101,13 +101,7 @@ public: SurfaceReactionModel(const SurfaceReactionModel& srm); //- Construct and return a clone - virtual autoPtr > clone() const - { - return autoPtr > - ( - new SurfaceReactionModel(*this) - ); - } + virtual autoPtr > clone() const = 0; //- Destructor @@ -145,7 +139,7 @@ public: scalarField& dMassLiquid, scalarField& dMassSolid, scalarField& dMassSRCarrier - ) const; + ) const = 0; //- Add to devolatilisation mass void addToSurfaceReactionMass(const scalar dMass); diff --git a/src/lagrangian/intermediate/submodels/Thermodynamic/HeatTransferModel/HeatTransferModel/HeatTransferModel.C b/src/lagrangian/intermediate/submodels/Thermodynamic/HeatTransferModel/HeatTransferModel/HeatTransferModel.C index 2f7dfbc0e..a3119cb26 100644 --- a/src/lagrangian/intermediate/submodels/Thermodynamic/HeatTransferModel/HeatTransferModel/HeatTransferModel.C +++ b/src/lagrangian/intermediate/submodels/Thermodynamic/HeatTransferModel/HeatTransferModel/HeatTransferModel.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -75,26 +75,6 @@ const Foam::Switch& Foam::HeatTransferModel::BirdCorrection() const } -template -Foam::scalar Foam::HeatTransferModel::Nu -( - const scalar Re, - const scalar Pr -) const -{ - notImplemented - ( - "Foam::scalar Foam::HeatTransferModel::Nu" - "(" - "const scalar, " - "const scalar" - ") const" - ); - - return 0.0; -} - - template Foam::scalar Foam::HeatTransferModel::htc ( @@ -126,6 +106,4 @@ Foam::scalar Foam::HeatTransferModel::htc #include "HeatTransferModelNew.C" - // ************************************************************************* // - diff --git a/src/lagrangian/intermediate/submodels/Thermodynamic/HeatTransferModel/HeatTransferModel/HeatTransferModel.H b/src/lagrangian/intermediate/submodels/Thermodynamic/HeatTransferModel/HeatTransferModel/HeatTransferModel.H index 70500e7e5..b2dc21c52 100644 --- a/src/lagrangian/intermediate/submodels/Thermodynamic/HeatTransferModel/HeatTransferModel/HeatTransferModel.H +++ b/src/lagrangian/intermediate/submodels/Thermodynamic/HeatTransferModel/HeatTransferModel/HeatTransferModel.H @@ -97,13 +97,7 @@ public: HeatTransferModel(const HeatTransferModel& htm); //- Construct and return a clone - virtual autoPtr > clone() const - { - return autoPtr > - ( - new HeatTransferModel(*this) - ); - } + virtual autoPtr > clone() const = 0; //- Destructor @@ -133,7 +127,7 @@ public: ( const scalar Re, const scalar Pr - ) const; + ) const = 0; //- Return heat transfer coefficient virtual scalar htc diff --git a/src/lagrangian/intermediate/submodels/Thermodynamic/InjectionModel/ThermoLookupTableInjection/thermoParcelInjectionData.H b/src/lagrangian/intermediate/submodels/Thermodynamic/InjectionModel/ThermoLookupTableInjection/thermoParcelInjectionData.H index 98f8170be..84df957be 100644 --- a/src/lagrangian/intermediate/submodels/Thermodynamic/InjectionModel/ThermoLookupTableInjection/thermoParcelInjectionData.H +++ b/src/lagrangian/intermediate/submodels/Thermodynamic/InjectionModel/ThermoLookupTableInjection/thermoParcelInjectionData.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -119,57 +119,19 @@ public: // I-O - // Friend Operators + //- Ostream operator + friend Ostream& operator<< + ( + Ostream& os, + const thermoParcelInjectionData& data + ); - friend bool operator== - ( - const thermoParcelInjectionData& a, - const thermoParcelInjectionData& b - ) - { - notImplemented - ( - "operator==" - "(" - "const thermoParcelInjectionData&, " - "const thermoParcelInjectionData&" - ")" - ); - - return false; - } - - friend bool operator!= - ( - const thermoParcelInjectionData& a, - const thermoParcelInjectionData& b - ) - { - notImplemented - ( - "operator==" - "(" - "const thermoParcelInjectionData&, " - "const thermoParcelInjectionData&" - ")" - ); - - return false; - } - - //- Ostream operator - friend Ostream& operator<< - ( - Ostream& os, - const thermoParcelInjectionData& data - ); - - //- Istream operator - friend Istream& operator>> - ( - Istream& is, - thermoParcelInjectionData& data - ); + //- Istream operator + friend Istream& operator>> + ( + Istream& is, + thermoParcelInjectionData& data + ); }; diff --git a/src/lagrangian/intermediate/submodels/Thermodynamic/SurfaceFilmModel/ThermoSurfaceFilm/ThermoSurfaceFilm.H b/src/lagrangian/intermediate/submodels/Thermodynamic/SurfaceFilmModel/ThermoSurfaceFilm/ThermoSurfaceFilm.H index 7b0bd547d..dd434f1b3 100644 --- a/src/lagrangian/intermediate/submodels/Thermodynamic/SurfaceFilmModel/ThermoSurfaceFilm/ThermoSurfaceFilm.H +++ b/src/lagrangian/intermediate/submodels/Thermodynamic/SurfaceFilmModel/ThermoSurfaceFilm/ThermoSurfaceFilm.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -254,7 +254,7 @@ public: ThermoSurfaceFilm(const ThermoSurfaceFilm& sfm); //- Construct and return a clone using supplied owner cloud - virtual autoPtr > clone() + virtual autoPtr > clone() const { return autoPtr > ( diff --git a/src/lagrangian/spray/submodels/AtomizationModel/AtomizationModel/AtomizationModel.C b/src/lagrangian/spray/submodels/AtomizationModel/AtomizationModel/AtomizationModel.C index d406b6bd2..36ebedd63 100644 --- a/src/lagrangian/spray/submodels/AtomizationModel/AtomizationModel/AtomizationModel.C +++ b/src/lagrangian/spray/submodels/AtomizationModel/AtomizationModel/AtomizationModel.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -68,19 +68,6 @@ Foam::AtomizationModel::~AtomizationModel() // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -template -Foam::scalar Foam::AtomizationModel::initLiquidCore() const -{ - notImplemented - ( - "Foam::scalar " - "Foam::AtomizationModel::initLiquidCore() const" - ); - - return 0.0; -} - - template Foam::scalar Foam::AtomizationModel::Taverage ( @@ -92,62 +79,8 @@ Foam::scalar Foam::AtomizationModel::Taverage } -template -bool Foam::AtomizationModel::calcChi() const -{ - notImplemented("bool Foam::AtomizationModel::calcChi()"); - - return false; -} - - -template -void Foam::AtomizationModel::update -( - const scalar dt, - scalar& d, - scalar& liquidCore, - scalar& tc, - const scalar rho, - const scalar mu, - const scalar sigma, - const scalar volFlowRate, - const scalar rhoAv, - const scalar Urel, - const vector& pos, - const vector& injectionPos, - const scalar pAmbient, - const scalar chi, - cachedRandom& rndGen -) const -{ - notImplemented - ( - "void Foam::AtomizationModel::update" - "(" - "const scalar, " - "scalar&, " - "scalar&, " - "scalar&, " - "const scalar, " - "const scalar, " - "const scalar, " - "const scalar, " - "const scalar, " - "const scalar, " - "const vector&, " - "const vector&, " - "const scalar, " - "const scalar, " - "cachedRandom&" - ") const" - ); -} - - // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // #include "AtomizationModelNew.C" // ************************************************************************* // - diff --git a/src/lagrangian/spray/submodels/AtomizationModel/AtomizationModel/AtomizationModel.H b/src/lagrangian/spray/submodels/AtomizationModel/AtomizationModel/AtomizationModel.H index c344b2b59..d0e8ecacb 100644 --- a/src/lagrangian/spray/submodels/AtomizationModel/AtomizationModel/AtomizationModel.H +++ b/src/lagrangian/spray/submodels/AtomizationModel/AtomizationModel/AtomizationModel.H @@ -91,13 +91,7 @@ public: AtomizationModel(const AtomizationModel& am); //- Construct and return a clone - virtual autoPtr > clone() const - { - return autoPtr > - ( - new AtomizationModel(*this) - ); - } + virtual autoPtr > clone() const = 0; //- Destructor @@ -114,14 +108,14 @@ public: // Member Functions - //- Initial value of liquidCore - virtual scalar initLiquidCore() const; - //- Average temperature calculation scalar Taverage(const scalar& Tliq, const scalar& Tc) const; + //- Initial value of liquidCore + virtual scalar initLiquidCore() const = 0; + //- Flag to indicate if chi needs to be calculated - virtual bool calcChi() const; + virtual bool calcChi() const = 0; virtual void update ( @@ -140,7 +134,7 @@ public: const scalar pAmbient, const scalar chi, cachedRandom& rndGen - ) const; + ) const = 0; }; diff --git a/src/lagrangian/spray/submodels/BreakupModel/BreakupModel/BreakupModel.C b/src/lagrangian/spray/submodels/BreakupModel/BreakupModel/BreakupModel.C index 60047fd32..ff89670dc 100644 --- a/src/lagrangian/spray/submodels/BreakupModel/BreakupModel/BreakupModel.C +++ b/src/lagrangian/spray/submodels/BreakupModel/BreakupModel/BreakupModel.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -94,66 +94,6 @@ Foam::BreakupModel::~BreakupModel() {} -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -template -bool Foam::BreakupModel::update -( - const scalar dt, - const vector& g, - scalar& d, - scalar& tc, - scalar& ms, - scalar& nParticle, - scalar& KHindex, - scalar& y, - scalar& yDot, - const scalar d0, - const scalar rho, - const scalar mu, - const scalar sigma, - const vector& U, - const scalar rhoc, - const scalar muc, - const vector& Urel, - const scalar Urmag, - const scalar tMom, - scalar& dChild, - scalar& massChild -) -{ - notImplemented - ( - "bool Foam::BreakupModel::update" - "(" - "const scalar, " - "const vector&, " - "scalar&, " - "scalar&, " - "scalar&, " - "scalar&, " - "scalar&, " - "scalar&, " - "scalar&, " - "const scalar, " - "const scalar, " - "const scalar, " - "const scalar, " - "const vector&, " - "const scalar, " - "const scalar, " - "const vector&, " - "const scalar, " - "const scalar, " - "scalar&, " - "scalar&" - ");" - ); - - return false; -} - - // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // #include "BreakupModelNew.C" diff --git a/src/lagrangian/spray/submodels/BreakupModel/BreakupModel/BreakupModel.H b/src/lagrangian/spray/submodels/BreakupModel/BreakupModel/BreakupModel.H index d0f57e7d5..6300a8fcf 100644 --- a/src/lagrangian/spray/submodels/BreakupModel/BreakupModel/BreakupModel.H +++ b/src/lagrangian/spray/submodels/BreakupModel/BreakupModel/BreakupModel.H @@ -106,13 +106,7 @@ public: BreakupModel(const BreakupModel& bum); //- Construct and return a clone - virtual autoPtr > clone() const - { - return autoPtr > - ( - new BreakupModel(*this) - ); - } + virtual autoPtr > clone() const = 0; //- Destructor @@ -187,7 +181,7 @@ public: const scalar tMom, scalar& dChild, scalar& massChild - ); + ) = 0; }; diff --git a/src/lagrangian/turbulence/submodels/Kinematic/DispersionModel/DispersionRASModel/DispersionRASModel.C b/src/lagrangian/turbulence/submodels/Kinematic/DispersionModel/DispersionRASModel/DispersionRASModel.C index cb314e5af..e34759e3e 100644 --- a/src/lagrangian/turbulence/submodels/Kinematic/DispersionModel/DispersionRASModel/DispersionRASModel.C +++ b/src/lagrangian/turbulence/submodels/Kinematic/DispersionModel/DispersionRASModel/DispersionRASModel.C @@ -120,7 +120,7 @@ Foam::DispersionRASModel::DispersionRASModel template Foam::DispersionRASModel::DispersionRASModel ( - DispersionRASModel& dm + const DispersionRASModel& dm ) : DispersionModel(dm), diff --git a/src/lagrangian/turbulence/submodels/Kinematic/DispersionModel/DispersionRASModel/DispersionRASModel.H b/src/lagrangian/turbulence/submodels/Kinematic/DispersionModel/DispersionRASModel/DispersionRASModel.H index c105035c2..278192e50 100644 --- a/src/lagrangian/turbulence/submodels/Kinematic/DispersionModel/DispersionRASModel/DispersionRASModel.H +++ b/src/lagrangian/turbulence/submodels/Kinematic/DispersionModel/DispersionRASModel/DispersionRASModel.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -59,13 +59,13 @@ protected: const volScalarField* kPtr_; //- Take ownership of the k field - bool ownK_; + mutable bool ownK_; //- Turbulence epsilon const volScalarField* epsilonPtr_; //- Take ownership of the epsilon field - bool ownEpsilon_; + mutable bool ownEpsilon_; // Protected Functions @@ -89,16 +89,10 @@ public: DispersionRASModel(const dictionary& dict, CloudType& owner); //- Construct copy - DispersionRASModel(DispersionRASModel& dm); + DispersionRASModel(const DispersionRASModel& dm); //- Construct and return a clone - virtual autoPtr > clone() - { - return autoPtr > - ( - new DispersionRASModel(*this) - ); - } + virtual autoPtr > clone() const = 0; //- Destructor @@ -107,6 +101,17 @@ public: // Member Functions + //- Update (disperse particles) + virtual vector update + ( + const scalar dt, + const label cellI, + const vector& U, + const vector& Uc, + vector& UTurb, + scalar& tTurb + ) = 0; + //- Cache carrier fields virtual void cacheFields(const bool store); diff --git a/src/lagrangian/turbulence/submodels/Kinematic/DispersionModel/GradientDispersionRAS/GradientDispersionRAS.C b/src/lagrangian/turbulence/submodels/Kinematic/DispersionModel/GradientDispersionRAS/GradientDispersionRAS.C index 06fa810ac..1b7b3c195 100644 --- a/src/lagrangian/turbulence/submodels/Kinematic/DispersionModel/GradientDispersionRAS/GradientDispersionRAS.C +++ b/src/lagrangian/turbulence/submodels/Kinematic/DispersionModel/GradientDispersionRAS/GradientDispersionRAS.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -45,7 +45,7 @@ Foam::GradientDispersionRAS::GradientDispersionRAS template Foam::GradientDispersionRAS::GradientDispersionRAS ( - GradientDispersionRAS& dm + const GradientDispersionRAS& dm ) : DispersionRASModel(dm), diff --git a/src/lagrangian/turbulence/submodels/Kinematic/DispersionModel/GradientDispersionRAS/GradientDispersionRAS.H b/src/lagrangian/turbulence/submodels/Kinematic/DispersionModel/GradientDispersionRAS/GradientDispersionRAS.H index c00db907c..c48025d41 100644 --- a/src/lagrangian/turbulence/submodels/Kinematic/DispersionModel/GradientDispersionRAS/GradientDispersionRAS.H +++ b/src/lagrangian/turbulence/submodels/Kinematic/DispersionModel/GradientDispersionRAS/GradientDispersionRAS.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -60,7 +60,7 @@ protected: const volVectorField* gradkPtr_; //- Take ownership of the grad(k) - bool ownGradK_; + mutable bool ownGradK_; public: @@ -75,10 +75,10 @@ public: GradientDispersionRAS(const dictionary& dict, CloudType& owner); //- Construct copy - GradientDispersionRAS(GradientDispersionRAS& dm); + GradientDispersionRAS(const GradientDispersionRAS& dm); //- Construct and return a clone - virtual autoPtr > clone() + virtual autoPtr > clone() const { return autoPtr > ( diff --git a/src/lagrangian/turbulence/submodels/Kinematic/DispersionModel/StochasticDispersionRAS/StochasticDispersionRAS.C b/src/lagrangian/turbulence/submodels/Kinematic/DispersionModel/StochasticDispersionRAS/StochasticDispersionRAS.C index d3c6c5b73..e55862850 100644 --- a/src/lagrangian/turbulence/submodels/Kinematic/DispersionModel/StochasticDispersionRAS/StochasticDispersionRAS.C +++ b/src/lagrangian/turbulence/submodels/Kinematic/DispersionModel/StochasticDispersionRAS/StochasticDispersionRAS.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -41,7 +41,7 @@ Foam::StochasticDispersionRAS::StochasticDispersionRAS template Foam::StochasticDispersionRAS::StochasticDispersionRAS ( - StochasticDispersionRAS& dm + const StochasticDispersionRAS& dm ) : DispersionRASModel(dm) diff --git a/src/lagrangian/turbulence/submodels/Kinematic/DispersionModel/StochasticDispersionRAS/StochasticDispersionRAS.H b/src/lagrangian/turbulence/submodels/Kinematic/DispersionModel/StochasticDispersionRAS/StochasticDispersionRAS.H index 570769023..fe6acc7ae 100644 --- a/src/lagrangian/turbulence/submodels/Kinematic/DispersionModel/StochasticDispersionRAS/StochasticDispersionRAS.H +++ b/src/lagrangian/turbulence/submodels/Kinematic/DispersionModel/StochasticDispersionRAS/StochasticDispersionRAS.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -62,10 +62,10 @@ public: StochasticDispersionRAS(const dictionary& dict, CloudType& owner); //- Construct copy - StochasticDispersionRAS(StochasticDispersionRAS& dm); + StochasticDispersionRAS(const StochasticDispersionRAS& dm); //- Construct and return a clone - virtual autoPtr > clone() + virtual autoPtr > clone() const { return autoPtr > (