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 > (