diff --git a/src/lagrangian/Turbulence/submodels/Kinematic/DispersionModel/DispersionRASModel/DispersionRASModel.C b/src/lagrangian/Turbulence/submodels/Kinematic/DispersionModel/DispersionRASModel/DispersionRASModel.C index 80aa0221310db50aa49241003a57069794f571d0..a5f090cc154d4a420ae5330aa8fa9ab6ca071195 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<CloudType>::DispersionRASModel template<class CloudType> Foam::DispersionRASModel<CloudType>::DispersionRASModel ( - DispersionRASModel<CloudType>& dm + const DispersionRASModel<CloudType>& dm ) : DispersionModel<CloudType>(dm), diff --git a/src/lagrangian/Turbulence/submodels/Kinematic/DispersionModel/DispersionRASModel/DispersionRASModel.H b/src/lagrangian/Turbulence/submodels/Kinematic/DispersionModel/DispersionRASModel/DispersionRASModel.H index 8496766376cce6c0ca896df8baba206228de0b4e..a80775549a959f84b0663ed6e33c343906991c56 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<CloudType>& dm); + DispersionRASModel(const DispersionRASModel<CloudType>& dm); //- Construct and return a clone - virtual autoPtr<DispersionModel<CloudType> > clone() + virtual autoPtr<DispersionModel<CloudType> > clone() const { return autoPtr<DispersionModel<CloudType> > ( diff --git a/src/lagrangian/Turbulence/submodels/Kinematic/DispersionModel/GradientDispersionRAS/GradientDispersionRAS.C b/src/lagrangian/Turbulence/submodels/Kinematic/DispersionModel/GradientDispersionRAS/GradientDispersionRAS.C index 06fa810ac998e4a023a584533c0a4e304e152237..1b7b3c19511934b6032684e2d466e64ffca7d00a 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<CloudType>::GradientDispersionRAS template<class CloudType> Foam::GradientDispersionRAS<CloudType>::GradientDispersionRAS ( - GradientDispersionRAS<CloudType>& dm + const GradientDispersionRAS<CloudType>& dm ) : DispersionRASModel<CloudType>(dm), diff --git a/src/lagrangian/Turbulence/submodels/Kinematic/DispersionModel/GradientDispersionRAS/GradientDispersionRAS.H b/src/lagrangian/Turbulence/submodels/Kinematic/DispersionModel/GradientDispersionRAS/GradientDispersionRAS.H index b9ccfac5190d37435eb9f229a571dfc433502113..829c8fcfd3ddeb8a9040783bf03a1e2a158c33d5 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<CloudType>& dm); + GradientDispersionRAS(const GradientDispersionRAS<CloudType>& dm); //- Construct and return a clone - virtual autoPtr<DispersionModel<CloudType> > clone() + virtual autoPtr<DispersionModel<CloudType> > clone() const { return autoPtr<DispersionModel<CloudType> > ( diff --git a/src/lagrangian/Turbulence/submodels/Kinematic/DispersionModel/StochasticDispersionRAS/StochasticDispersionRAS.C b/src/lagrangian/Turbulence/submodels/Kinematic/DispersionModel/StochasticDispersionRAS/StochasticDispersionRAS.C index badebbc110d84baa28e94692ba73a2b1cbcc9e5f..e5586285053d40c3865d6691e79b4c6cf0b6ffd5 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<CloudType>::StochasticDispersionRAS template<class CloudType> Foam::StochasticDispersionRAS<CloudType>::StochasticDispersionRAS ( - StochasticDispersionRAS<CloudType>& dm + const StochasticDispersionRAS<CloudType>& dm ) : DispersionRASModel<CloudType>(dm) diff --git a/src/lagrangian/Turbulence/submodels/Kinematic/DispersionModel/StochasticDispersionRAS/StochasticDispersionRAS.H b/src/lagrangian/Turbulence/submodels/Kinematic/DispersionModel/StochasticDispersionRAS/StochasticDispersionRAS.H index d1c87d0485a659593643bdb742ac1c01f1d6cc50..fe6acc7ae00f897161a990a1390bcd8c75c4d95c 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<CloudType>& dm); + StochasticDispersionRAS(const StochasticDispersionRAS<CloudType>& dm); //- Construct and return a clone - virtual autoPtr<DispersionModel<CloudType> > clone() + virtual autoPtr<DispersionModel<CloudType> > clone() const { return autoPtr<DispersionModel<CloudType> > ( diff --git a/src/lagrangian/distributionModels/distributionModel/distributionModel.C b/src/lagrangian/distributionModels/distributionModel/distributionModel.C index 83772fc77bda3ae7268ea0e184343d838e85b120..c04856d3aed77b5520ee51dc34ed74fd19ba2c4a 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 efc7f2b1add643c4f083ef087360e847a5df9d89..fe5e876544984ceed14a32e2605f79f619ccd8a7 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<distributionModel> clone() const - { - return autoPtr<distributionModel>(new distributionModel(*this)); - } + virtual autoPtr<distributionModel> 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 1fa257a56f4a29a54f5df94966ba17ddb658a003..50d05a2ee3157d10a3faeb1dff95ecff941e3430 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<Type>::~IntegrationScheme() {} -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -template<class Type> -typename Foam::IntegrationScheme<Type>::integrationResult -Foam::IntegrationScheme<Type>::integrate -( - const Type& phi, - const scalar dt, - const Type& alphaBeta, - const scalar beta -) const -{ - notImplemented - ( - "Foam::IntegrationScheme<Type>::integrationResult" - "Foam::IntegrationScheme<Type>::integrate" - "(" - "const Type&, " - "const scalar, " - "const Type&, " - "const scalar" - ") const" - ); - - typename IntegrationScheme<Type>::integrationResult retValue; - retValue.average() = pTraits<Type>::zero; - retValue.value() = pTraits<Type>::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 068f7e8c861ae3d3aebcff5eb0d31ff6811cf4f2..836371dcddaf13527b4add90c9093b9ce819da08 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<IntegrationScheme<Type> > clone() const - { - return autoPtr<IntegrationScheme<Type> > - ( - new IntegrationScheme<Type>(*this) - ); - } + virtual autoPtr<IntegrationScheme<Type> > 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 865f359cf43003e1fe4bcb1d8067cd1eb4805578..1294e352358ec918b14aae750463bf5f7c123746 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<CloudType>::CollisionModel template<class CloudType> -Foam::CollisionModel<CloudType>::CollisionModel(CollisionModel<CloudType>& cm) +Foam::CollisionModel<CloudType>::CollisionModel +( + const CollisionModel<CloudType>& cm +) : CloudSubModelBase<CloudType>(cm) {} @@ -60,36 +63,6 @@ Foam::CollisionModel<CloudType>::~CollisionModel() {} -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -template<class CloudType> -Foam::label Foam::CollisionModel<CloudType>::nSubCycles() const -{ - notImplemented - ( - "Foam::label Foam::CollisionModel<CloudType>::nSubCycles() const" - ); - return 0; -} - - -template<class CloudType> -bool Foam::CollisionModel<CloudType>::controlsWallInteraction() const -{ - notImplemented - ( - "bool Foam::CollisionModel<CloudType>::controlsWallInteraction()" - ); - return false; -} - -template<class CloudType> -void Foam::CollisionModel<CloudType>::collide() -{ - notImplemented("void Foam::CollisionModel<CloudType>::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 ff92ce44c873a39b3ccee61342779638c2c0ee32..9134745f62c004f092d0e7ba3bb4cd2111ed98f9 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<CloudType>& cm); + CollisionModel(const CollisionModel<CloudType>& cm); //- Construct and return a clone - virtual autoPtr<CollisionModel<CloudType> > clone() - { - return autoPtr<CollisionModel<CloudType> > - ( - new CollisionModel<CloudType>(*this) - ); - } + virtual autoPtr<CollisionModel<CloudType> > 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 48f213e005267f67fcdd7f8369f7a298bbc69a6b..98ba1969572f7e9dba6de999feae87e2a15df979 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<CloudType>::NoCollision template<class CloudType> Foam::NoCollision<CloudType>::NoCollision ( - NoCollision<CloudType>& cm + const NoCollision<CloudType>& cm ) : CollisionModel<CloudType>(cm) diff --git a/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/NoCollision/NoCollision.H b/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/NoCollision/NoCollision.H index b31c4b9f6065df5fc58279e870afb36f260a3162..95b029f6d8e73b8f104e58a3cf6eeb722b29a67e 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<CloudType>& cm); + NoCollision(const NoCollision<CloudType>& cm); //- Construct and return a clone - virtual autoPtr<CollisionModel<CloudType> > clone() + virtual autoPtr<CollisionModel<CloudType> > clone() const { return autoPtr<CollisionModel<CloudType> > ( diff --git a/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/PairCollision/PairCollision.C b/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/PairCollision/PairCollision.C index 47c952db9e48d9eaa0886cf13c42e06dca560550..9a5e1994166083f1a22fc4f5b8d16c26aa1011cb 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<CloudType>::PairCollision template<class CloudType> -Foam::PairCollision<CloudType>::PairCollision(PairCollision<CloudType>& cm) +Foam::PairCollision<CloudType>::PairCollision +( + const PairCollision<CloudType>& cm +) : CollisionModel<CloudType>(cm), pairModel_(NULL), wallModel_(NULL), il_(cm.owner().mesh()) { + // Need to clone to PairModel and WallModel notImplemented ( "Foam::PairCollision<CloudType>::PairCollision" diff --git a/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/PairCollision/PairCollision.H b/src/lagrangian/intermediate/submodels/Kinematic/CollisionModel/PairCollision/PairCollision.H index 638619c58af413ee9a55d8b75732fee5e1774c53..d17e0af9c71f4859ae64eed0fe9e6e6bfdc07130 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<CloudType>& cm); + PairCollision(const PairCollision<CloudType>& cm); //- Construct and return a clone - virtual autoPtr<CollisionModel<CloudType> > clone() + virtual autoPtr<CollisionModel<CloudType> > clone() const { return autoPtr<CollisionModel<CloudType> > ( diff --git a/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/DispersionModel/DispersionModel.C b/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/DispersionModel/DispersionModel.C index 3f6288aa18622b03af75b1bd607ba3e9df5e450d..64508504a26fa3287ee13e9719445544f83e6839 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<CloudType>::DispersionModel template<class CloudType> Foam::DispersionModel<CloudType>::DispersionModel ( - DispersionModel<CloudType>& dm + const DispersionModel<CloudType>& dm ) : CloudSubModelBase<CloudType>(dm) @@ -63,36 +63,6 @@ Foam::DispersionModel<CloudType>::~DispersionModel() {} -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -template<class CloudType> -Foam::vector Foam::DispersionModel<CloudType>::update -( - const scalar, - const label, - const vector&, - const vector& Uc, - vector&, - scalar& -) -{ - notImplemented - ( - "Foam::vector Foam::DispersionModel<CloudType>::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 7e85e0eb26e28979ba3a85017ec61c0da308e16e..1af0caeb511bbfe7f463b01eba9b09f64356a593 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<CloudType>& dm); + DispersionModel(const DispersionModel<CloudType>& dm); //- Construct and return a clone - virtual autoPtr<DispersionModel<CloudType> > clone() - { - return autoPtr<DispersionModel<CloudType> > - ( - new DispersionModel<CloudType>(*this) - ); - } + virtual autoPtr<DispersionModel<CloudType> > 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 49e4ab25fcdc513ef727e140f216b134e56ca5e4..eec313925fb99c033e2eaced3fb73f188e71f300 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<CloudType>::NoDispersion(const dictionary&, CloudType& owner) template<class CloudType> -Foam::NoDispersion<CloudType>::NoDispersion(NoDispersion<CloudType>& dm) +Foam::NoDispersion<CloudType>::NoDispersion(const NoDispersion<CloudType>& dm) : DispersionModel<CloudType>(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 bb879e1afecf71d3885fb9e9f7b06a3eebaf83f5..887c1b02f9640850399ae7098c3e0b1186d0fe5a 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<CloudType>& dm); + NoDispersion(const NoDispersion<CloudType>& dm); //- Construct and return a clone - virtual autoPtr<DispersionModel<CloudType> > clone() + virtual autoPtr<DispersionModel<CloudType> > clone() const { return autoPtr<DispersionModel<CloudType> > ( diff --git a/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectionModel/InjectionModel.C b/src/lagrangian/intermediate/submodels/Kinematic/InjectionModel/InjectionModel/InjectionModel.C index ef82846c8b17fdae133162c0685e0b222d1266f6..5be9e15ebfd371e3615b6467f61c00d40df4f45b 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<class CloudType> -bool Foam::InjectionModel<CloudType>::validInjection(const label parcelI) -{ - notImplemented - ( - "bool Foam::InjectionModel<CloudType>::validInjection(const label)" - ); - - return false; -} - - template<class CloudType> bool Foam::InjectionModel<CloudType>::prepareForNextTimeStep ( @@ -419,58 +407,6 @@ void Foam::InjectionModel<CloudType>::updateMesh() } -template<class CloudType> -Foam::scalar Foam::InjectionModel<CloudType>::timeEnd() const -{ - notImplemented - ( - "Foam::scalar Foam::InjectionModel<CloudType>::timeEnd() const" - ); - - return 0.0; -} - - -template<class CloudType> -Foam::label Foam::InjectionModel<CloudType>::parcelsToInject -( - const scalar time0, - const scalar time1 -) -{ - notImplemented - ( - "Foam::label Foam::InjectionModel<CloudType>::parcelsToInject" - "(" - "const scalar, " - "const scalar" - ")" - ); - - return 0; -} - - -template<class CloudType> -Foam::scalar Foam::InjectionModel<CloudType>::volumeToInject -( - const scalar time0, - const scalar time1 -) -{ - notImplemented - ( - "Foam::scalar Foam::InjectionModel<CloudType>::volumeToInject" - "(" - "const scalar, " - "const scalar" - ")" - ); - - return 0.0; -} - - template<class CloudType> Foam::scalar Foam::InjectionModel<CloudType>::averageParcelMass() { @@ -710,68 +646,6 @@ void Foam::InjectionModel<CloudType>::injectSteadyState } -template<class CloudType> -void Foam::InjectionModel<CloudType>::setPositionAndCell -( - const label parcelI, - const label nParcels, - const scalar time, - vector& position, - label& cellOwner, - label& tetFaceI, - label& tetPtI -) -{ - notImplemented - ( - "void Foam::InjectionModel<CloudType>::setPositionAndCell" - "(" - "const label, " - "const label, " - "const scalar, " - "vector&, " - "label&, " - "label&, " - "label&" - ")" - ); -} - - -template<class CloudType> -void Foam::InjectionModel<CloudType>::setProperties -( - const label parcelI, - const label nParcels, - const scalar time, - typename CloudType::parcelType& parcel -) -{ - notImplemented - ( - "void Foam::InjectionModel<CloudType>::setProperties" - "(" - "const label, " - "const label, " - "const scalar, " - "typename CloudType::parcelType&" - ")" - ); -} - - -template<class CloudType> -bool Foam::InjectionModel<CloudType>::fullyDescribed() const -{ - notImplemented - ( - "bool Foam::InjectionModel<CloudType>::fullyDescribed() const" - ); - - return false; -} - - template<class CloudType> void Foam::InjectionModel<CloudType>::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 b44039633c5e08cabfb70803e3e038473e805bf3..b570a6bf4ab5080201b4fe68fef246df7a9c555e 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<CloudType>& im); //- Construct and return a clone - virtual autoPtr<InjectionModel<CloudType> > clone() const - { - return autoPtr<InjectionModel<CloudType> > - ( - new InjectionModel<CloudType>(*this) - ); - } + virtual autoPtr<InjectionModel<CloudType> > 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 977d6e24e80601cc7cfd9f0a9585c9b65c5b70fc..ee76e3b806a2ad0b0273a4b86046b128dcb0f80f 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(); - // I-O - - // Friend Operators + // Friend Operators - friend bool operator== - ( - const kinematicParcelInjectionData& a, - const kinematicParcelInjectionData& b - ) - { - notImplemented - ( - "operator==" - "(" - "const kinematicParcelInjectionData&, " - "const kinematicParcelInjectionData&" - ")" - ); - - return false; - } - - friend bool operator!= + friend bool operator== + ( + const kinematicParcelInjectionData& a, + const kinematicParcelInjectionData& b + ) + { + notImplemented ( - const kinematicParcelInjectionData& a, - const kinematicParcelInjectionData& b - ) - { - notImplemented - ( - "operator==" - "(" - "const kinematicParcelInjectionData&, " - "const kinematicParcelInjectionData&" - ")" - ); - - return false; - } - - //- Ostream operator - friend Ostream& operator<< - ( - Ostream& os, - const kinematicParcelInjectionData& data + "operator==" + "(" + "const kinematicParcelInjectionData&, " + "const kinematicParcelInjectionData&" + ")" ); - //- Istream operator - friend Istream& operator>> + return false; + } + + friend bool operator!= + ( + const kinematicParcelInjectionData& a, + const kinematicParcelInjectionData& b + ) + { + notImplemented ( - Istream& is, - kinematicParcelInjectionData& data + "operator==" + "(" + "const kinematicParcelInjectionData&, " + "const kinematicParcelInjectionData&" + ")" ); + + return false; + } + + + // I-O + + //- Ostream operator + friend Ostream& operator<< + ( + Ostream& os, + const 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 550e12121937ca17c0ef59bf48c071052dfd8783..0ed36fac1bb34672774e8722cac056e7e46a6ea1 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<class CloudType> -void Foam::StochasticCollisionModel<CloudType>::collide(const scalar dt) -{ - notImplemented - ( - "void Foam::NoStochasticCollision<CloudType>::collide(const scalar)" - ); -} - - // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // template<class CloudType> diff --git a/src/lagrangian/intermediate/submodels/Kinematic/StochasticCollision/StochasticCollisionModel/StochasticCollisionModel.H b/src/lagrangian/intermediate/submodels/Kinematic/StochasticCollision/StochasticCollisionModel/StochasticCollisionModel.H index 823a458aee77ae7f5c8b9dcb15750d9bd3fd7939..140c9d310d26fc80491202edcd337c0db0eb842d 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<CloudType>& cm); //- Construct and return a clone - virtual autoPtr<StochasticCollisionModel<CloudType> > clone() const - { - return autoPtr<StochasticCollisionModel<CloudType> > - ( - new StochasticCollisionModel<CloudType>(*this) - ); - } + virtual autoPtr<StochasticCollisionModel<CloudType> > 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 51272f3560ed8d25a0899d74885e6818e7ba7c17..d2dbb92d6c5a401956d6f49affb97d0b3a9f0135 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<CloudType>::~SurfaceFilmModel() // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -template<class CloudType> -bool Foam::SurfaceFilmModel<CloudType>::transferParcel -( - parcelType& p, - const polyPatch& pp, - bool& keepParticle -) -{ - notImplemented - ( - "bool Foam::SurfaceFilmModel<CloudType>::transferParcel" - "(" - "parcelType&, " - "const polyPatch&, " - "bool&" - ")" - ); - - return false; -} - - template<class CloudType> template<class TrackData> void Foam::SurfaceFilmModel<CloudType>::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 65a2506928401bf963591f219dd7a119459b5105..4f93dde5274a0b8c6a982b3df31632636ce41989 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<CloudType>& sfm); //- Construct and return a clone - virtual autoPtr<SurfaceFilmModel<CloudType> > clone() const - { - return autoPtr<SurfaceFilmModel<CloudType> > - ( - new SurfaceFilmModel<CloudType>(*this) - ); - } + virtual autoPtr<SurfaceFilmModel<CloudType> > clone() const = 0; //- Destructor @@ -215,7 +209,7 @@ public: parcelType& p, const polyPatch& pp, bool& keepParticle - ); + ) = 0; //- Inject parcels into the cloud template<class TrackData> diff --git a/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/CompositionModel/CompositionModel.C b/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/CompositionModel/CompositionModel.C index f18ad8bb5a5c40b9644f31e6f735c63c17f028dc..7cb6e81bf68daef0f08b96abb4244735266e7a1c 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<CloudType>::X } -template<class CloudType> -const Foam::scalarField& Foam::CompositionModel<CloudType>::YMixture0() const -{ - notImplemented - ( - "const scalarField& Foam::CompositionModel<CloudType>::YMixture0() " - "const" - ); - - return scalarField::null(); -} - - -template<class CloudType> -Foam::label Foam::CompositionModel<CloudType>::idGas() const -{ - notImplemented - ( - "Foam::label Foam::CompositionModel<CloudType>::idGas() const" - ); - - return -1; -} - - -template<class CloudType> -Foam::label Foam::CompositionModel<CloudType>::idLiquid() const -{ - notImplemented - ( - "Foam::label Foam::CompositionModel<CloudType>::idLiquid() const" - ); - - return -1; -} - - -template<class CloudType> -Foam::label Foam::CompositionModel<CloudType>::idSolid() const -{ - notImplemented - ( - "Foam::label Foam::CompositionModel<CloudType>::idSolid() const" - ); - - return -1; -} - - template<class CloudType> Foam::scalar Foam::CompositionModel<CloudType>::H ( diff --git a/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/CompositionModel/CompositionModel.H b/src/lagrangian/intermediate/submodels/Reacting/CompositionModel/CompositionModel/CompositionModel.H index 7938b702c4df6fec9ac515a885084e3b306808bb..b57da79fde10eb441b90fa5160882b48ba820d53 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<CloudType>& cm); //- Construct and return a clone - virtual autoPtr<CompositionModel<CloudType> > clone() const - { - return autoPtr<CompositionModel<CloudType> > - ( - new CompositionModel<CloudType>(*this) - ); - } + virtual autoPtr<CompositionModel<CloudType> > 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 5327feacd0a47c1a9dfb940d24a40c348ca19352..e80a061c6c70ecc48a40cf58245d815ebaa24a84 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<CloudType>::~NoComposition() {} -// ************************************************************************* // +// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // + +template<class CloudType> +const Foam::scalarField& Foam::NoComposition<CloudType>::YMixture0() const +{ + return scalarField::null(); +} + + +template<class CloudType> +Foam::label Foam::NoComposition<CloudType>::idGas() const +{ + return -1; +} + +template<class CloudType> +Foam::label Foam::NoComposition<CloudType>::idLiquid() const +{ + return -1; +} + + +template<class CloudType> +Foam::label Foam::NoComposition<CloudType>::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 3ee6b1b0ae0751d54c2bf886df27d8fa3eb6342e..716352dc74f5e213f6f635dc3e4e407e56c059f5 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 e30594c305971132495e66661e3a849bd56d4304..3209c04fa51b76a25d270d0535654d7da2916769 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<CloudType>::~SingleMixtureFraction() // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -template<class CloudType> -const Foam::scalarField& -Foam::SingleMixtureFraction<CloudType>::YGas0() const -{ - return this->phaseProps()[idGas_].Y(); -} - - -template<class CloudType> -const Foam::scalarField& -Foam::SingleMixtureFraction<CloudType>::YLiquid0() const -{ - return this->phaseProps()[idLiquid_].Y(); -} - - -template<class CloudType> -const Foam::scalarField& -Foam::SingleMixtureFraction<CloudType>::YSolid0() const -{ - return this->phaseProps()[idSolid_].Y(); -} - - template<class CloudType> const Foam::scalarField& Foam::SingleMixtureFraction<CloudType>::YMixture0() const @@ -212,4 +188,3 @@ Foam::label Foam::SingleMixtureFraction<CloudType>::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 1bdc130ab7ec794e1d5cdbf24df64aa0bf1da6cb..1f2e1f8104d41d75dba2984cfe1aa188de5c3ca5 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 d80de18e590582cede56ba743bccd9cec23fc7b5..1fe61169cb838aba40925c71477dbf4710c97978 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<CloudType>::~SinglePhaseMixture() // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -template<class CloudType> -const Foam::scalarField& -Foam::SinglePhaseMixture<CloudType>::YGas0() const -{ - notImplemented - ( - "const Foam::scalarField& " - "Foam::SinglePhaseMixture<CloudType>::YGas0() const" - ); - return this->phaseProps()[0].Y(); -} - - -template<class CloudType> -const Foam::scalarField& -Foam::SinglePhaseMixture<CloudType>::YLiquid0() const -{ - notImplemented - ( - "const Foam::scalarField& " - "Foam::SinglePhaseMixture<CloudType>::YLiquid0() const" - ); - return this->phaseProps()[0].Y(); -} - - -template<class CloudType> -const Foam::scalarField& -Foam::SinglePhaseMixture<CloudType>::YSolid0() const -{ - notImplemented - ( - "const Foam::scalarField& " - "Foam::SinglePhaseMixture<CloudType>::YSolid0() const" - ); - return this->phaseProps()[0].Y(); -} - - template<class CloudType> const Foam::scalarField& Foam::SinglePhaseMixture<CloudType>::YMixture0() const @@ -182,4 +143,3 @@ Foam::label Foam::SinglePhaseMixture<CloudType>::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 ed9b78f6d6f71d417c684395d2cb5ee9b7aee942..239384cfb2a948f9f63814bb878e2023e914a252 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 c1174a4e8f61af2bf596a217a8fc4b5feceed3a7..af582909dca96444ce474f1b1083eb1903b048e4 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 - - 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 - ); + //- Ostream operator + friend Ostream& operator<< + ( + Ostream& os, + const 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 3ea746b88493705c67ca1ff72ce6c1ee119e9e05..7d388ce119c40ecef0b878e5c702b047d1bc743f 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<CloudType>::~DevolatilisationModel() // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -template<class CloudType> -void Foam::DevolatilisationModel<CloudType>::calculate -( - const scalar, - const scalar, - const scalar, - const scalar, - const scalar, - const scalarField&, - const scalarField&, - const scalarField&, - label&, - scalarField& -) const -{ - notImplemented - ( - "void Foam::DevolatilisationModel<CloudType>::calculate" - "(" - "const scalar, " - "const scalar, " - "const scalar, " - "const scalar, " - "const scalar, " - "const scalarField&, " - "const scalarField&, " - "const scalarField&, " - "label&, " - "scalarField&" - ") const" - ); -} - - template<class CloudType> void Foam::DevolatilisationModel<CloudType>::addToDevolatilisationMass ( diff --git a/src/lagrangian/intermediate/submodels/ReactingMultiphase/DevolatilisationModel/DevolatilisationModel/DevolatilisationModel.H b/src/lagrangian/intermediate/submodels/ReactingMultiphase/DevolatilisationModel/DevolatilisationModel/DevolatilisationModel.H index 41d0403cdd70028db92178dff1a550f1cfba9cc8..334d757b92a9358e4d1ff63a785abb8eeeef47bb 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<CloudType>& dm); //- Construct and return a clone - virtual autoPtr<DevolatilisationModel<CloudType> > clone() const - { - return autoPtr<DevolatilisationModel<CloudType> > - ( - new DevolatilisationModel<CloudType>(*this) - ); - } + virtual autoPtr<DevolatilisationModel<CloudType> > 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 238cb4a02ed59e253ac3ba433327b5d55b5fa576..1665c224c88610f9fdae99388833ce59c02fec69 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<CloudType>::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 b3a617ba86850aaec06e90381104ab5a5f2d8f55..dab9b47dab16c65885196d50d76fc35ab5d5b90b 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 4875a68d1f6f322e28534d8a1118dad8bdeac045..43c7eacf466ad43cdb1a64ad86bb346a0e216593 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 - - 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 - ); + //- Ostream operator + friend Ostream& operator<< + ( + Ostream& os, + const 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 3beee0747fdf3afea1c175f2aa186baeb46c38c1..5a890c7b63802a4ed5ff753f58e2afe6d646f4f4 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<CloudType>::~SurfaceReactionModel() // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -template<class CloudType> -Foam::scalar Foam::SurfaceReactionModel<CloudType>::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<CloudType>::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<class CloudType> void Foam::SurfaceReactionModel<CloudType>::addToSurfaceReactionMass ( @@ -152,4 +102,3 @@ void Foam::SurfaceReactionModel<CloudType>::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 54892c4ba7d2192bbd3bfb2462213864dbf573cd..a490a243238301a57183859011ad82406d9b4625 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<CloudType>& srm); //- Construct and return a clone - virtual autoPtr<SurfaceReactionModel<CloudType> > clone() const - { - return autoPtr<SurfaceReactionModel<CloudType> > - ( - new SurfaceReactionModel<CloudType>(*this) - ); - } + virtual autoPtr<SurfaceReactionModel<CloudType> > 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 2f7dfbc0e0c9a57c82f6f871ba66f6f0c8d90b09..a3119cb266b28ed757a34d41d296aaa15527adeb 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<CloudType>::BirdCorrection() const } -template<class CloudType> -Foam::scalar Foam::HeatTransferModel<CloudType>::Nu -( - const scalar Re, - const scalar Pr -) const -{ - notImplemented - ( - "Foam::scalar Foam::HeatTransferModel<CloudType>::Nu" - "(" - "const scalar, " - "const scalar" - ") const" - ); - - return 0.0; -} - - template<class CloudType> Foam::scalar Foam::HeatTransferModel<CloudType>::htc ( @@ -126,6 +106,4 @@ Foam::scalar Foam::HeatTransferModel<CloudType>::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 70500e7e58ded0ff94ed8ff1d6c27a98a377ab21..b2dc21c5282b2440bff6582d56c492ca67d9d9c4 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<CloudType>& htm); //- Construct and return a clone - virtual autoPtr<HeatTransferModel<CloudType> > clone() const - { - return autoPtr<HeatTransferModel<CloudType> > - ( - new HeatTransferModel<CloudType>(*this) - ); - } + virtual autoPtr<HeatTransferModel<CloudType> > 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 98f8170beccce854091fa1e1a7807f318e445972..84df957be466afb5107a694c5f2cc2cb8cc7161c 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 - - 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 - ); + //- Ostream operator + friend Ostream& operator<< + ( + Ostream& os, + const 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 7b0bd547d6d3dc84fe8255bd8ec39ee1599e0c73..dd434f1b36e92e95060e3f310d001f00bc286404 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<CloudType>& sfm); //- Construct and return a clone using supplied owner cloud - virtual autoPtr<SurfaceFilmModel<CloudType> > clone() + virtual autoPtr<SurfaceFilmModel<CloudType> > clone() const { return autoPtr<SurfaceFilmModel<CloudType> > ( diff --git a/src/lagrangian/spray/submodels/AtomizationModel/AtomizationModel/AtomizationModel.C b/src/lagrangian/spray/submodels/AtomizationModel/AtomizationModel/AtomizationModel.C index d406b6bd29d0dc1520b60135f48b29af7f66b0ee..36ebedd639c43d19b0ee44533b5eb9acb7302607 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<CloudType>::~AtomizationModel() // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -template<class CloudType> -Foam::scalar Foam::AtomizationModel<CloudType>::initLiquidCore() const -{ - notImplemented - ( - "Foam::scalar " - "Foam::AtomizationModel<CloudType>::initLiquidCore() const" - ); - - return 0.0; -} - - template<class CloudType> Foam::scalar Foam::AtomizationModel<CloudType>::Taverage ( @@ -92,62 +79,8 @@ Foam::scalar Foam::AtomizationModel<CloudType>::Taverage } -template<class CloudType> -bool Foam::AtomizationModel<CloudType>::calcChi() const -{ - notImplemented("bool Foam::AtomizationModel<CloudType>::calcChi()"); - - return false; -} - - -template<class CloudType> -void Foam::AtomizationModel<CloudType>::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<CloudType>::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 c344b2b59024c944e6ee9493ca5683f040f1e602..d0e8ecacbfd3d174320776cbe650941faa170547 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<CloudType>& am); //- Construct and return a clone - virtual autoPtr<AtomizationModel<CloudType> > clone() const - { - return autoPtr<AtomizationModel<CloudType> > - ( - new AtomizationModel<CloudType>(*this) - ); - } + virtual autoPtr<AtomizationModel<CloudType> > 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 60047fd32fd0963a8d088b38fd1ead39216312b8..ff89670dc6178296631a8d42d09fb8e0e35c8fa6 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<CloudType>::~BreakupModel() {} -// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // - -template<class CloudType> -bool Foam::BreakupModel<CloudType>::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<CloudType>::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 d0f57e7d56e72b85ece773217faf8fe793c5c15e..6300a8fcfa5424d49dc618f6107d7824e7ec7874 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<CloudType>& bum); //- Construct and return a clone - virtual autoPtr<BreakupModel<CloudType> > clone() const - { - return autoPtr<BreakupModel<CloudType> > - ( - new BreakupModel<CloudType>(*this) - ); - } + virtual autoPtr<BreakupModel<CloudType> > 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 cb314e5af977735ba968358ac3494a482000438f..e34759e3ed1689abcf91cc6b957801bf29a2dd7e 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<CloudType>::DispersionRASModel template<class CloudType> Foam::DispersionRASModel<CloudType>::DispersionRASModel ( - DispersionRASModel<CloudType>& dm + const DispersionRASModel<CloudType>& dm ) : DispersionModel<CloudType>(dm), diff --git a/src/lagrangian/turbulence/submodels/Kinematic/DispersionModel/DispersionRASModel/DispersionRASModel.H b/src/lagrangian/turbulence/submodels/Kinematic/DispersionModel/DispersionRASModel/DispersionRASModel.H index c105035c21a556924d2f716c0f69ac52fd8505d2..278192e5062c0990c4774e07b58d1b7fd23a2c12 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<CloudType>& dm); + DispersionRASModel(const DispersionRASModel<CloudType>& dm); //- Construct and return a clone - virtual autoPtr<DispersionModel<CloudType> > clone() - { - return autoPtr<DispersionModel<CloudType> > - ( - new DispersionRASModel<CloudType>(*this) - ); - } + virtual autoPtr<DispersionModel<CloudType> > 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 06fa810ac998e4a023a584533c0a4e304e152237..1b7b3c19511934b6032684e2d466e64ffca7d00a 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<CloudType>::GradientDispersionRAS template<class CloudType> Foam::GradientDispersionRAS<CloudType>::GradientDispersionRAS ( - GradientDispersionRAS<CloudType>& dm + const GradientDispersionRAS<CloudType>& dm ) : DispersionRASModel<CloudType>(dm), diff --git a/src/lagrangian/turbulence/submodels/Kinematic/DispersionModel/GradientDispersionRAS/GradientDispersionRAS.H b/src/lagrangian/turbulence/submodels/Kinematic/DispersionModel/GradientDispersionRAS/GradientDispersionRAS.H index c00db907c92caf76ce5a0229eaa0006906f2bbdf..c48025d41b7059fe0836d787365ef337361002cf 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<CloudType>& dm); + GradientDispersionRAS(const GradientDispersionRAS<CloudType>& dm); //- Construct and return a clone - virtual autoPtr<DispersionModel<CloudType> > clone() + virtual autoPtr<DispersionModel<CloudType> > clone() const { return autoPtr<DispersionModel<CloudType> > ( diff --git a/src/lagrangian/turbulence/submodels/Kinematic/DispersionModel/StochasticDispersionRAS/StochasticDispersionRAS.C b/src/lagrangian/turbulence/submodels/Kinematic/DispersionModel/StochasticDispersionRAS/StochasticDispersionRAS.C index d3c6c5b739b4ca85bb6f8a7682159e6e37a08033..e5586285053d40c3865d6691e79b4c6cf0b6ffd5 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<CloudType>::StochasticDispersionRAS template<class CloudType> Foam::StochasticDispersionRAS<CloudType>::StochasticDispersionRAS ( - StochasticDispersionRAS<CloudType>& dm + const StochasticDispersionRAS<CloudType>& dm ) : DispersionRASModel<CloudType>(dm) diff --git a/src/lagrangian/turbulence/submodels/Kinematic/DispersionModel/StochasticDispersionRAS/StochasticDispersionRAS.H b/src/lagrangian/turbulence/submodels/Kinematic/DispersionModel/StochasticDispersionRAS/StochasticDispersionRAS.H index 5707690233c616d3265c702e0ffd6412005a8e04..fe6acc7ae00f897161a990a1390bcd8c75c4d95c 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<CloudType>& dm); + StochasticDispersionRAS(const StochasticDispersionRAS<CloudType>& dm); //- Construct and return a clone - virtual autoPtr<DispersionModel<CloudType> > clone() + virtual autoPtr<DispersionModel<CloudType> > clone() const { return autoPtr<DispersionModel<CloudType> > (