From 4d0661ccd0085b66fc2b3d86376b6677a8b17108 Mon Sep 17 00:00:00 2001 From: Will Bainbridge Date: Fri, 26 Jun 2020 12:00:52 +0100 Subject: [PATCH] alphatWallBoilingWallFunction: Added missing mapping and cloning functionality --- ...haseChangeWallFunctionFvPatchScalarField.C | 28 ++++ ...haseChangeWallFunctionFvPatchScalarField.H | 12 +- ...allBoilingWallFunctionFvPatchScalarField.C | 154 ++++++++---------- ...allBoilingWallFunctionFvPatchScalarField.H | 11 ++ ...ocamustafaogullariIshiiDepartureDiameter.C | 12 ++ ...ocamustafaogullariIshiiDepartureDiameter.H | 15 ++ .../TolubinskiKostanchuk.C | 13 ++ .../TolubinskiKostanchuk.H | 12 ++ .../departureDiameterModel.C | 7 + .../departureDiameterModel.H | 7 +- .../departureFrequencyModels/Cole/Cole.C | 7 + .../departureFrequencyModels/Cole/Cole.H | 9 + ...camustafaogullariIshiiDepartureFrequency.C | 12 ++ ...camustafaogullariIshiiDepartureFrequency.H | 15 ++ .../departureFrequencyModel.C | 7 + .../departureFrequencyModel.H | 7 +- .../KocamustafaogullariIshiiNucleationSite.C | 11 ++ .../KocamustafaogullariIshiiNucleationSite.H | 15 ++ .../LemmertChawla/LemmertChawla.C | 12 ++ .../LemmertChawla/LemmertChawla.H | 9 + .../nucleationSiteModel/nucleationSiteModel.C | 7 + .../nucleationSiteModel/nucleationSiteModel.H | 7 +- .../Lavieville/Lavieville.C | 8 + .../Lavieville/Lavieville.H | 9 + .../partitioningModels/cosine/cosine.C | 9 + .../partitioningModels/cosine/cosine.H | 9 + .../partitioningModels/linear/linear.C | 9 + .../partitioningModels/linear/linear.H | 9 + .../partitioningModel/partitioningModel.C | 7 + .../partitioningModel/partitioningModel.H | 7 +- .../phaseFraction/phaseFraction.C | 7 + .../phaseFraction/phaseFraction.H | 9 + 32 files changed, 376 insertions(+), 96 deletions(-) diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/alphatPhaseChangeWallFunction/alphatPhaseChangeWallFunctionFvPatchScalarField.C b/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/alphatPhaseChangeWallFunction/alphatPhaseChangeWallFunctionFvPatchScalarField.C index ae17d7fc80..817859f2ab 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/alphatPhaseChangeWallFunction/alphatPhaseChangeWallFunctionFvPatchScalarField.C +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/alphatPhaseChangeWallFunction/alphatPhaseChangeWallFunctionFvPatchScalarField.C @@ -205,6 +205,34 @@ dmdtLf(const phasePairKey& phasePair) const } +void alphatPhaseChangeWallFunctionFvPatchScalarField::autoMap +( + const fvPatchFieldMapper& m +) +{ + alphatPhaseJayatillekeWallFunctionFvPatchScalarField::autoMap(m); + + m(dmdtf_, dmdtf_); + m(dmdtLf_, dmdtLf_); +} + + +void alphatPhaseChangeWallFunctionFvPatchScalarField::rmap +( + const fvPatchScalarField& ptf, + const labelList& addr +) +{ + alphatPhaseJayatillekeWallFunctionFvPatchScalarField::rmap(ptf, addr); + + const alphatPhaseChangeWallFunctionFvPatchScalarField& tiptf = + refCast(ptf); + + dmdtf_.rmap(tiptf.dmdtf_, addr); + dmdtLf_.rmap(tiptf.dmdtLf_, addr); +} + + void alphatPhaseChangeWallFunctionFvPatchScalarField::write(Ostream& os) const { alphatPhaseJayatillekeWallFunctionFvPatchScalarField::write(os); diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/alphatPhaseChangeWallFunction/alphatPhaseChangeWallFunctionFvPatchScalarField.H b/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/alphatPhaseChangeWallFunction/alphatPhaseChangeWallFunctionFvPatchScalarField.H index 8bc6540493..e228943bac 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/alphatPhaseChangeWallFunction/alphatPhaseChangeWallFunctionFvPatchScalarField.H +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/alphatPhaseChangeWallFunction/alphatPhaseChangeWallFunctionFvPatchScalarField.H @@ -123,7 +123,6 @@ public: // Member Functions - //- Is there phase change mass transfer for this phasePair bool activePhasePair(const phasePairKey&) const; @@ -140,6 +139,17 @@ public: const scalarField& dmdtLf(const phasePairKey&) const; + // Mapping functions + + //- Map (and resize as needed) from self given a mapping object + // Used to update fields following mesh topology change + virtual void autoMap(const fvPatchFieldMapper&); + + //- Reverse map the given fvPatchField onto this fvPatchField + // Used to reconstruct fields + virtual void rmap(const fvPatchScalarField&, const labelList&); + + // Evaluation functions //- Update the coefficients associated with the patch field diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/alphatWallBoilingWallFunction/alphatWallBoilingWallFunctionFvPatchScalarField.C b/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/alphatWallBoilingWallFunction/alphatWallBoilingWallFunctionFvPatchScalarField.C index 942bfc90ef..436cafdbf6 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/alphatWallBoilingWallFunction/alphatWallBoilingWallFunctionFvPatchScalarField.C +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/alphatWallBoilingWallFunction/alphatWallBoilingWallFunctionFvPatchScalarField.C @@ -208,14 +208,14 @@ alphatWallBoilingWallFunctionFvPatchScalarField mapper ), phaseType_(psf.phaseType_), - AbyV_(psf.AbyV_), + AbyV_(mapper(psf.AbyV_)), alphatConv_(mapper(psf.alphatConv_)), dDep_(mapper(psf.dDep_)), qq_(mapper(psf.qq_)), - partitioningModel_(psf.partitioningModel_), - nucleationSiteModel_(psf.nucleationSiteModel_), - departureDiamModel_(psf.departureDiamModel_), - departureFreqModel_(psf.departureFreqModel_) + partitioningModel_(psf.partitioningModel_, false), + nucleationSiteModel_(psf.nucleationSiteModel_, false), + departureDiamModel_(psf.departureDiamModel_, false), + departureFreqModel_(psf.departureFreqModel_, false) {} @@ -231,10 +231,10 @@ alphatWallBoilingWallFunctionFvPatchScalarField alphatConv_(psf.alphatConv_), dDep_(psf.dDep_), qq_(psf.qq_), - partitioningModel_(psf.partitioningModel_), - nucleationSiteModel_(psf.nucleationSiteModel_), - departureDiamModel_(psf.departureDiamModel_), - departureFreqModel_(psf.departureFreqModel_) + partitioningModel_(psf.partitioningModel_, false), + nucleationSiteModel_(psf.nucleationSiteModel_, false), + departureDiamModel_(psf.departureDiamModel_, false), + departureFreqModel_(psf.departureFreqModel_, false) {} @@ -251,15 +251,47 @@ alphatWallBoilingWallFunctionFvPatchScalarField alphatConv_(psf.alphatConv_), dDep_(psf.dDep_), qq_(psf.qq_), - partitioningModel_(psf.partitioningModel_), - nucleationSiteModel_(psf.nucleationSiteModel_), - departureDiamModel_(psf.departureDiamModel_), - departureFreqModel_(psf.departureFreqModel_) + partitioningModel_(psf.partitioningModel_, false), + nucleationSiteModel_(psf.nucleationSiteModel_, false), + departureDiamModel_(psf.departureDiamModel_, false), + departureFreqModel_(psf.departureFreqModel_, false) {} // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // +void alphatWallBoilingWallFunctionFvPatchScalarField::autoMap +( + const fvPatchFieldMapper& m +) +{ + alphatPhaseChangeWallFunctionFvPatchScalarField::autoMap(m); + + m(AbyV_, AbyV_); + m(alphatConv_, alphatConv_); + m(dDep_, dDep_); + m(qq_, qq_); +} + + +void alphatWallBoilingWallFunctionFvPatchScalarField::rmap +( + const fvPatchScalarField& ptf, + const labelList& addr +) +{ + alphatPhaseChangeWallFunctionFvPatchScalarField::rmap(ptf, addr); + + const alphatWallBoilingWallFunctionFvPatchScalarField& tiptf = + refCast(ptf); + + AbyV_.rmap(tiptf.AbyV_, addr); + alphatConv_.rmap(tiptf.alphatConv_, addr); + dDep_.rmap(tiptf.dDep_, addr); + qq_.rmap(tiptf.qq_, addr); +} + + void alphatWallBoilingWallFunctionFvPatchScalarField::updateCoeffs() { if (updated()) @@ -267,14 +299,6 @@ void alphatWallBoilingWallFunctionFvPatchScalarField::updateCoeffs() return; } - // Check that partitioningModel has been constructed - if (!partitioningModel_.valid()) - { - FatalErrorInFunction - << "partitioningModel has not been constructed!" - << abort(FatalError); - } - // Lookup the fluid model const phaseSystem& fluid = db().lookupObject("phaseProperties"); @@ -287,20 +311,15 @@ void alphatWallBoilingWallFunctionFvPatchScalarField::updateCoeffs() { case vaporPhase: { - const phaseModel& vapor - ( - fluid.phases()[internalField().group()] - ); + const phaseModel& vapor = fluid.phases()[internalField().group()]; - // Vapor Liquid phase fraction at the wall - const scalarField vaporw(vapor.boundaryField()[patchi]); + // Vapor phase fraction at the wall + const scalarField& vaporw = vapor.boundaryField()[patchi]; + // Partitioning // NOTE! Assumes 1-thisPhase for liquid fraction in // multiphase simulations - const scalarField fLiquid - ( - partitioningModel_->fLiquid(1-vaporw) - ); + const scalarField fLiquid(partitioningModel_->fLiquid(1 - vaporw)); operator== ( @@ -310,47 +329,16 @@ void alphatWallBoilingWallFunctionFvPatchScalarField::updateCoeffs() } case liquidPhase: { + const phaseModel& liquid = fluid.phases()[internalField().group()]; + const phaseModel& vapor = fluid.phases()[otherPhaseName_]; - // Check that nucleationSiteModel has been constructed - if (!nucleationSiteModel_.valid()) - { - FatalErrorInFunction - << "nucleationSiteModel has not been constructed!" - << abort(FatalError); - } - - // Check that departureDiameterModel has been constructed - if (!departureDiamModel_.valid()) - { - FatalErrorInFunction - << "departureDiameterModel has not been constructed!" - << abort(FatalError); - } - - // Check that nucleationSiteModel has been constructed - if (!departureFreqModel_.valid()) - { - FatalErrorInFunction - << "departureFrequencyModel has not been constructed!" - << abort(FatalError); - } - - const phaseModel& liquid - ( - fluid.phases()[internalField().group()] - ); - - const phaseModel& vapor(fluid.phases()[otherPhaseName_]); + const phasePair pair(vapor, liquid); if ( db().foundObject ( - IOobject::groupName - ( - "saturationModel", - phasePair(vapor,liquid).name() - ) + IOobject::groupName("saturationModel", pair.name()) ) ) { @@ -387,8 +375,7 @@ void alphatWallBoilingWallFunctionFvPatchScalarField::updateCoeffs() const rhoThermo& lThermo = liquid.thermo(); const rhoThermo& vThermo = vapor.thermo(); - const tmp talphaw = lThermo.alpha(patchi); - const scalarField& alphaw = talphaw(); + const scalarField& alphaw = lThermo.alpha(patchi); const tmp tk = turbModel.k(); const volScalarField& k = tk(); @@ -405,6 +392,12 @@ void alphatWallBoilingWallFunctionFvPatchScalarField::updateCoeffs() const fvPatchScalarField& rhoVaporw = vaporTurbModel.rho().boundaryField()[patchi]; + const fvPatchScalarField& hew = + lThermo.he().boundaryField()[patchi]; + + const fvPatchScalarField& pw = + lThermo.p().boundaryField()[patchi]; + const fvPatchScalarField& Tw = lThermo.T().boundaryField()[patchi]; @@ -430,26 +423,13 @@ void alphatWallBoilingWallFunctionFvPatchScalarField::updateCoeffs() const saturationModel& satModel = db().lookupObject ( - IOobject::groupName - ( - "saturationModel", - phasePair(vapor,liquid).name() - ) + IOobject::groupName("saturationModel", pair.name()) ); - - const tmp tTsat = - satModel.Tsat(lThermo.p()); - + const tmp tTsat = satModel.Tsat(lThermo.p()); const volScalarField& Tsat = tTsat(); const fvPatchScalarField& Tsatw(Tsat.boundaryField()[patchi]); - const scalarField Tsatc(Tsatw.patchInternalField()); - - const fvPatchScalarField& pw = - lThermo.p().boundaryField()[patchi]; - - const fvPatchScalarField& hew = - lThermo.he().boundaryField()[patchi]; + // Latent heat scalarField liquidHaw(lThermo.ha(Tc, patchi)); scalarField vaporHaw(vThermo.ha(Tsatw, patchi)); @@ -487,6 +467,7 @@ void alphatWallBoilingWallFunctionFvPatchScalarField::updateCoeffs() // Liquid phase fraction at the wall const scalarField liquidw(liquid.boundaryField()[patchi]); + // Partitioning const scalarField fLiquid(partitioningModel_->fLiquid(liquidw)); // Convective thermal diffusivity @@ -569,7 +550,7 @@ void alphatWallBoilingWallFunctionFvPatchScalarField::updateCoeffs() const scalarField Al ( - fLiquid*4.8*exp( min(-Ja/80, log(vGreat))) + fLiquid*4.8*exp(min(-Ja/80, log(vGreat))) ); scalarField A2(min(pi*sqr(dDep_)*N*Al/4, scalar(1))); @@ -694,8 +675,7 @@ void alphatWallBoilingWallFunctionFvPatchScalarField::updateCoeffs() } else { - Info<< "Saturation model for phase pair " - << phasePair(vapor,liquid).name() + Info<< "Saturation model for phase pair " << pair.name() << " not found. Wall boiling disabled." << endl; operator== (alphatConv_); diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/alphatWallBoilingWallFunction/alphatWallBoilingWallFunctionFvPatchScalarField.H b/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/alphatWallBoilingWallFunction/alphatWallBoilingWallFunctionFvPatchScalarField.H index 7c051b669b..6880df755c 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/alphatWallBoilingWallFunction/alphatWallBoilingWallFunctionFvPatchScalarField.H +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/alphatWallBoilingWallFunction/alphatWallBoilingWallFunctionFvPatchScalarField.H @@ -295,6 +295,17 @@ public: } + // Mapping functions + + //- Map (and resize as needed) from self given a mapping object + // Used to update fields following mesh topology change + virtual void autoMap(const fvPatchFieldMapper&); + + //- Reverse map the given fvPatchField onto this fvPatchField + // Used to reconstruct fields + virtual void rmap(const fvPatchScalarField&, const labelList&); + + // Evaluation functions //- Update the coefficients associated with the patch field diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/departureDiameterModels/KocamustafaogullariIshiiDepartureDiameter/KocamustafaogullariIshiiDepartureDiameter.C b/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/departureDiameterModels/KocamustafaogullariIshiiDepartureDiameter/KocamustafaogullariIshiiDepartureDiameter.C index 0701532098..6f0b008448 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/departureDiameterModels/KocamustafaogullariIshiiDepartureDiameter/KocamustafaogullariIshiiDepartureDiameter.C +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/departureDiameterModels/KocamustafaogullariIshiiDepartureDiameter/KocamustafaogullariIshiiDepartureDiameter.C @@ -64,6 +64,18 @@ KocamustafaogullariIshiiDepartureDiameter {} +Foam::wallBoilingModels::departureDiameterModels:: +KocamustafaogullariIshiiDepartureDiameter:: +KocamustafaogullariIshiiDepartureDiameter +( + const KocamustafaogullariIshiiDepartureDiameter& model +) +: + departureDiameterModel(), + phi_(model.phi_) +{} + + // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // Foam::wallBoilingModels::departureDiameterModels:: diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/departureDiameterModels/KocamustafaogullariIshiiDepartureDiameter/KocamustafaogullariIshiiDepartureDiameter.H b/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/departureDiameterModels/KocamustafaogullariIshiiDepartureDiameter/KocamustafaogullariIshiiDepartureDiameter.H index 495b0f14e6..fd95786de6 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/departureDiameterModels/KocamustafaogullariIshiiDepartureDiameter/KocamustafaogullariIshiiDepartureDiameter.H +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/departureDiameterModels/KocamustafaogullariIshiiDepartureDiameter/KocamustafaogullariIshiiDepartureDiameter.H @@ -80,6 +80,21 @@ public: //- Construct from a dictionary KocamustafaogullariIshiiDepartureDiameter(const dictionary& dict); + //- Copy construct + KocamustafaogullariIshiiDepartureDiameter + ( + const KocamustafaogullariIshiiDepartureDiameter& model + ); + + //- Construct and return a clone + virtual autoPtr clone() const + { + return autoPtr + ( + new KocamustafaogullariIshiiDepartureDiameter(*this) + ); + } + //- Destructor virtual ~KocamustafaogullariIshiiDepartureDiameter(); diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/departureDiameterModels/TolubinskiKostanchuk/TolubinskiKostanchuk.C b/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/departureDiameterModels/TolubinskiKostanchuk/TolubinskiKostanchuk.C index 638467b59e..52e10ef0d0 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/departureDiameterModels/TolubinskiKostanchuk/TolubinskiKostanchuk.C +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/departureDiameterModels/TolubinskiKostanchuk/TolubinskiKostanchuk.C @@ -61,6 +61,19 @@ TolubinskiKostanchuk::TolubinskiKostanchuk {} +Foam::wallBoilingModels::departureDiameterModels:: +TolubinskiKostanchuk::TolubinskiKostanchuk +( + const TolubinskiKostanchuk& model +) +: + departureDiameterModel(), + dRef_(model.dRef_), + dMax_(model.dMax_), + dMin_(model.dMin_) +{} + + // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // Foam::wallBoilingModels::departureDiameterModels:: diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/departureDiameterModels/TolubinskiKostanchuk/TolubinskiKostanchuk.H b/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/departureDiameterModels/TolubinskiKostanchuk/TolubinskiKostanchuk.H index 2e10577b96..d37c08cab5 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/departureDiameterModels/TolubinskiKostanchuk/TolubinskiKostanchuk.H +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/departureDiameterModels/TolubinskiKostanchuk/TolubinskiKostanchuk.H @@ -85,6 +85,18 @@ public: //- Construct from a dictionary TolubinskiKostanchuk(const dictionary& dict); + //- Copy construct + TolubinskiKostanchuk(const TolubinskiKostanchuk& model); + + //- Construct and return a clone + virtual autoPtr clone() const + { + return autoPtr + ( + new TolubinskiKostanchuk(*this) + ); + } + //- Destructor virtual ~TolubinskiKostanchuk(); diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/departureDiameterModels/departureDiameterModel/departureDiameterModel.C b/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/departureDiameterModels/departureDiameterModel/departureDiameterModel.C index feec74937a..703600d760 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/departureDiameterModels/departureDiameterModel/departureDiameterModel.C +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/departureDiameterModels/departureDiameterModel/departureDiameterModel.C @@ -43,6 +43,13 @@ Foam::wallBoilingModels::departureDiameterModel::departureDiameterModel() {} +Foam::wallBoilingModels::departureDiameterModel::departureDiameterModel +( + const departureDiameterModel& +) +{} + + // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // Foam::wallBoilingModels::departureDiameterModel::~departureDiameterModel() diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/departureDiameterModels/departureDiameterModel/departureDiameterModel.H b/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/departureDiameterModels/departureDiameterModel/departureDiameterModel.H index 4330944f2d..e045a953d4 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/departureDiameterModels/departureDiameterModel/departureDiameterModel.H +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/departureDiameterModels/departureDiameterModel/departureDiameterModel.H @@ -79,8 +79,11 @@ public: //- Construct null departureDiameterModel(); - //- Disallow default bitwise copy construction - departureDiameterModel(const departureDiameterModel&) = delete; + //- Copy constructor + departureDiameterModel(const departureDiameterModel&); + + //- Construct and return a clone + virtual autoPtr clone() const = 0; // Selectors diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/departureFrequencyModels/Cole/Cole.C b/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/departureFrequencyModels/Cole/Cole.C index d239e0804c..7035a77ecb 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/departureFrequencyModels/Cole/Cole.C +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/departureFrequencyModels/Cole/Cole.C @@ -58,6 +58,13 @@ Cole::Cole(const dictionary& dict) {} +Foam::wallBoilingModels::departureFrequencyModels:: +Cole::Cole(const Cole& model) +: + departureFrequencyModel(model) +{} + + // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // Foam::wallBoilingModels::departureFrequencyModels:: diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/departureFrequencyModels/Cole/Cole.H b/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/departureFrequencyModels/Cole/Cole.H index b3b99ea69b..ab2257e258 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/departureFrequencyModels/Cole/Cole.H +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/departureFrequencyModels/Cole/Cole.H @@ -73,6 +73,15 @@ public: //- Construct from a dictionary Cole(const dictionary& dict); + //- Copy construct + Cole(const Cole& model); + + //- Construct and return a clone + virtual autoPtr clone() const + { + return autoPtr(new Cole(*this)); + } + //- Destructor virtual ~Cole(); diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/departureFrequencyModels/KocamustafaogullariIshiiDepartureFrequency/KocamustafaogullariIshiiDepartureFrequency.C b/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/departureFrequencyModels/KocamustafaogullariIshiiDepartureFrequency/KocamustafaogullariIshiiDepartureFrequency.C index 4595a4350a..9ee254d6a0 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/departureFrequencyModels/KocamustafaogullariIshiiDepartureFrequency/KocamustafaogullariIshiiDepartureFrequency.C +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/departureFrequencyModels/KocamustafaogullariIshiiDepartureFrequency/KocamustafaogullariIshiiDepartureFrequency.C @@ -61,6 +61,18 @@ KocamustafaogullariIshiiDepartureFrequency(const dictionary& dict) {} +Foam::wallBoilingModels::departureFrequencyModels:: +KocamustafaogullariIshiiDepartureFrequency:: +KocamustafaogullariIshiiDepartureFrequency +( + const KocamustafaogullariIshiiDepartureFrequency& model +) +: + departureFrequencyModel(model), + Cf_(model.Cf_) +{} + + // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // Foam::wallBoilingModels::departureFrequencyModels:: diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/departureFrequencyModels/KocamustafaogullariIshiiDepartureFrequency/KocamustafaogullariIshiiDepartureFrequency.H b/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/departureFrequencyModels/KocamustafaogullariIshiiDepartureFrequency/KocamustafaogullariIshiiDepartureFrequency.H index 97a4bfe147..85c455c1ac 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/departureFrequencyModels/KocamustafaogullariIshiiDepartureFrequency/KocamustafaogullariIshiiDepartureFrequency.H +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/departureFrequencyModels/KocamustafaogullariIshiiDepartureFrequency/KocamustafaogullariIshiiDepartureFrequency.H @@ -80,6 +80,21 @@ public: //- Construct from a dictionary KocamustafaogullariIshiiDepartureFrequency(const dictionary& dict); + //- Copy construct + KocamustafaogullariIshiiDepartureFrequency + ( + const KocamustafaogullariIshiiDepartureFrequency& model + ); + + //- Construct and return a clone + virtual autoPtr clone() const + { + return autoPtr + ( + new KocamustafaogullariIshiiDepartureFrequency(*this) + ); + } + //- Destructor virtual ~KocamustafaogullariIshiiDepartureFrequency(); diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/departureFrequencyModels/departureFrequencyModel/departureFrequencyModel.C b/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/departureFrequencyModels/departureFrequencyModel/departureFrequencyModel.C index 57346a13fc..e445a281c6 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/departureFrequencyModels/departureFrequencyModel/departureFrequencyModel.C +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/departureFrequencyModels/departureFrequencyModel/departureFrequencyModel.C @@ -43,6 +43,13 @@ Foam::wallBoilingModels::departureFrequencyModel::departureFrequencyModel() {} +Foam::wallBoilingModels::departureFrequencyModel::departureFrequencyModel +( + const departureFrequencyModel& model +) +{} + + // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // Foam::wallBoilingModels::departureFrequencyModel::~departureFrequencyModel() diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/departureFrequencyModels/departureFrequencyModel/departureFrequencyModel.H b/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/departureFrequencyModels/departureFrequencyModel/departureFrequencyModel.H index 157dc0dedd..3b6678f9da 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/departureFrequencyModels/departureFrequencyModel/departureFrequencyModel.H +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/departureFrequencyModels/departureFrequencyModel/departureFrequencyModel.H @@ -79,8 +79,11 @@ public: //- Construct null departureFrequencyModel(); - //- Disallow default bitwise copy construction - departureFrequencyModel(const departureFrequencyModel&) = delete; + //- Copy construct + departureFrequencyModel(const departureFrequencyModel& model); + + //- Construct and return a clone + virtual autoPtr clone() const = 0; // Selectors diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/nucleationSiteModels/KocamustafaogullariIshiiNucleationSite/KocamustafaogullariIshiiNucleationSite.C b/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/nucleationSiteModels/KocamustafaogullariIshiiNucleationSite/KocamustafaogullariIshiiNucleationSite.C index 79c0d183fe..1e689742d3 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/nucleationSiteModels/KocamustafaogullariIshiiNucleationSite/KocamustafaogullariIshiiNucleationSite.C +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/nucleationSiteModels/KocamustafaogullariIshiiNucleationSite/KocamustafaogullariIshiiNucleationSite.C @@ -60,6 +60,17 @@ KocamustafaogullariIshiiNucleationSite::KocamustafaogullariIshiiNucleationSite {} +Foam::wallBoilingModels::nucleationSiteModels:: +KocamustafaogullariIshiiNucleationSite::KocamustafaogullariIshiiNucleationSite +( + const KocamustafaogullariIshiiNucleationSite& model +) +: + nucleationSiteModel(), + Cn_(model.Cn_) +{} + + // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // Foam::wallBoilingModels::nucleationSiteModels:: diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/nucleationSiteModels/KocamustafaogullariIshiiNucleationSite/KocamustafaogullariIshiiNucleationSite.H b/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/nucleationSiteModels/KocamustafaogullariIshiiNucleationSite/KocamustafaogullariIshiiNucleationSite.H index 2eadf053f1..41ca54aa6f 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/nucleationSiteModels/KocamustafaogullariIshiiNucleationSite/KocamustafaogullariIshiiNucleationSite.H +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/nucleationSiteModels/KocamustafaogullariIshiiNucleationSite/KocamustafaogullariIshiiNucleationSite.H @@ -78,6 +78,21 @@ public: //- Construct from a dictionary KocamustafaogullariIshiiNucleationSite(const dictionary& dict); + //- Copy construct + KocamustafaogullariIshiiNucleationSite + ( + const KocamustafaogullariIshiiNucleationSite& model + ); + + //- Construct and return a clone + virtual autoPtr clone() const + { + return autoPtr + ( + new KocamustafaogullariIshiiNucleationSite(*this) + ); + } + //- Destructor virtual ~KocamustafaogullariIshiiNucleationSite(); diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/nucleationSiteModels/LemmertChawla/LemmertChawla.C b/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/nucleationSiteModels/LemmertChawla/LemmertChawla.C index 8d0565ccd3..2384d98f48 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/nucleationSiteModels/LemmertChawla/LemmertChawla.C +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/nucleationSiteModels/LemmertChawla/LemmertChawla.C @@ -60,6 +60,18 @@ Foam::wallBoilingModels::nucleationSiteModels::LemmertChawla::LemmertChawla {} +Foam::wallBoilingModels::nucleationSiteModels::LemmertChawla::LemmertChawla +( + const LemmertChawla& model +) +: + nucleationSiteModel(), + Cn_(model.Cn_), + NRef_(model.NRef_), + deltaTRef_(model.deltaTRef_) +{} + + // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // Foam::wallBoilingModels::nucleationSiteModels::LemmertChawla::~LemmertChawla() diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/nucleationSiteModels/LemmertChawla/LemmertChawla.H b/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/nucleationSiteModels/LemmertChawla/LemmertChawla.H index 6c93673604..22a589dd89 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/nucleationSiteModels/LemmertChawla/LemmertChawla.H +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/nucleationSiteModels/LemmertChawla/LemmertChawla.H @@ -89,6 +89,15 @@ public: //- Construct from a dictionary LemmertChawla(const dictionary& dict); + //- Copy construct + LemmertChawla(const LemmertChawla& model); + + //- Construct and return a clone + virtual autoPtr clone() const + { + return autoPtr(new LemmertChawla(*this)); + } + //- Destructor virtual ~LemmertChawla(); diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/nucleationSiteModels/nucleationSiteModel/nucleationSiteModel.C b/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/nucleationSiteModels/nucleationSiteModel/nucleationSiteModel.C index 013da316dc..b693dbcb92 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/nucleationSiteModels/nucleationSiteModel/nucleationSiteModel.C +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/nucleationSiteModels/nucleationSiteModel/nucleationSiteModel.C @@ -43,6 +43,13 @@ Foam::wallBoilingModels::nucleationSiteModel::nucleationSiteModel() {} +Foam::wallBoilingModels::nucleationSiteModel::nucleationSiteModel +( + const nucleationSiteModel& model +) +{} + + // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // Foam::wallBoilingModels::nucleationSiteModel::~nucleationSiteModel() diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/nucleationSiteModels/nucleationSiteModel/nucleationSiteModel.H b/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/nucleationSiteModels/nucleationSiteModel/nucleationSiteModel.H index b7c353dc6e..ed7fba56b6 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/nucleationSiteModels/nucleationSiteModel/nucleationSiteModel.H +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/nucleationSiteModels/nucleationSiteModel/nucleationSiteModel.H @@ -79,8 +79,11 @@ public: //- Construct null nucleationSiteModel(); - //- Disallow default bitwise copy construction - nucleationSiteModel(const nucleationSiteModel&) = delete; + //- Copy construct + nucleationSiteModel(const nucleationSiteModel& model); + + //- Construct and return a clone + virtual autoPtr clone() const = 0; // Selectors diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/partitioningModels/Lavieville/Lavieville.C b/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/partitioningModels/Lavieville/Lavieville.C index 8c902cb042..e7bfed141c 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/partitioningModels/Lavieville/Lavieville.C +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/partitioningModels/Lavieville/Lavieville.C @@ -56,6 +56,14 @@ Lavieville::Lavieville(const dictionary& dict) {} +Foam::wallBoilingModels::partitioningModels:: +Lavieville::Lavieville(const Lavieville& model) +: + partitioningModel(model), + alphaCrit_(model.alphaCrit_) +{} + + // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // Foam::wallBoilingModels::partitioningModels:: diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/partitioningModels/Lavieville/Lavieville.H b/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/partitioningModels/Lavieville/Lavieville.H index 8cf5a8e505..e42521525c 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/partitioningModels/Lavieville/Lavieville.H +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/partitioningModels/Lavieville/Lavieville.H @@ -82,6 +82,15 @@ public: //- Construct from a dictionary Lavieville(const dictionary& dict); + //- Copy construct + Lavieville(const Lavieville& model); + + //- Construct and return a clone + virtual autoPtr clone() const + { + return autoPtr(new Lavieville(*this)); + } + //- Destructor virtual ~Lavieville(); diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/partitioningModels/cosine/cosine.C b/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/partitioningModels/cosine/cosine.C index a4eddbf4c2..8f3cf8aad0 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/partitioningModels/cosine/cosine.C +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/partitioningModels/cosine/cosine.C @@ -57,6 +57,15 @@ cosine::cosine(const dictionary& dict) {} +Foam::wallBoilingModels::partitioningModels:: +cosine::cosine(const cosine& model) +: + partitioningModel(model), + alphaLiquid1_(model.alphaLiquid1_), + alphaLiquid0_(model.alphaLiquid0_) +{} + + // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // Foam::wallBoilingModels::partitioningModels:: diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/partitioningModels/cosine/cosine.H b/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/partitioningModels/cosine/cosine.H index 45736d2a9e..f632351bfa 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/partitioningModels/cosine/cosine.H +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/partitioningModels/cosine/cosine.H @@ -84,6 +84,15 @@ public: //- Construct from a dictionary cosine(const dictionary& dict); + //- Copy construct + cosine(const cosine& model); + + //- Construct and return a clone + virtual autoPtr clone() const + { + return autoPtr(new cosine(*this)); + } + //- Destructor virtual ~cosine(); diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/partitioningModels/linear/linear.C b/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/partitioningModels/linear/linear.C index 6443b52cbd..2dc6c14664 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/partitioningModels/linear/linear.C +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/partitioningModels/linear/linear.C @@ -57,6 +57,15 @@ linear::linear(const dictionary& dict) {} +Foam::wallBoilingModels::partitioningModels:: +linear::linear(const linear& model) +: + partitioningModel(model), + alphaLiquid1_(model.alphaLiquid1_), + alphaLiquid0_(model.alphaLiquid0_) +{} + + // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // Foam::wallBoilingModels::partitioningModels:: diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/partitioningModels/linear/linear.H b/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/partitioningModels/linear/linear.H index 0a4de5a67a..b9d64a585f 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/partitioningModels/linear/linear.H +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/partitioningModels/linear/linear.H @@ -85,6 +85,15 @@ public: //- Construct from a dictionary linear(const dictionary& dict); + //- Copy construct + linear(const linear& model); + + //- Construct and return a clone + virtual autoPtr clone() const + { + return autoPtr(new linear(*this)); + } + //- Destructor virtual ~linear(); diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/partitioningModels/partitioningModel/partitioningModel.C b/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/partitioningModels/partitioningModel/partitioningModel.C index 283233c689..148096464b 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/partitioningModels/partitioningModel/partitioningModel.C +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/partitioningModels/partitioningModel/partitioningModel.C @@ -43,6 +43,13 @@ Foam::wallBoilingModels::partitioningModel::partitioningModel() {} +Foam::wallBoilingModels::partitioningModel::partitioningModel +( + const partitioningModel& model +) +{} + + // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // Foam::wallBoilingModels::partitioningModel::~partitioningModel() diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/partitioningModels/partitioningModel/partitioningModel.H b/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/partitioningModels/partitioningModel/partitioningModel.H index 44e5682b4c..b4af5f7a20 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/partitioningModels/partitioningModel/partitioningModel.H +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/partitioningModels/partitioningModel/partitioningModel.H @@ -77,8 +77,11 @@ public: //- Construct null partitioningModel(); - //- Disallow default bitwise copy construction - partitioningModel(const partitioningModel&) = delete; + //- Copy construct + partitioningModel(const partitioningModel&); + + //- Construct and return a clone + virtual autoPtr clone() const = 0; // Selectors diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/partitioningModels/phaseFraction/phaseFraction.C b/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/partitioningModels/phaseFraction/phaseFraction.C index 3d2bb6d892..e888089c3a 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/partitioningModels/phaseFraction/phaseFraction.C +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/partitioningModels/phaseFraction/phaseFraction.C @@ -55,6 +55,13 @@ phaseFraction::phaseFraction(const dictionary& dict) {} +Foam::wallBoilingModels::partitioningModels:: +phaseFraction::phaseFraction(const phaseFraction& model) +: + partitioningModel(model) +{} + + // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // Foam::wallBoilingModels::partitioningModels:: diff --git a/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/partitioningModels/phaseFraction/phaseFraction.H b/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/partitioningModels/phaseFraction/phaseFraction.H index 442fe440af..322d2eb392 100644 --- a/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/partitioningModels/phaseFraction/phaseFraction.H +++ b/applications/solvers/multiphase/reactingEulerFoam/phaseCompressibleMomentumTransportModels/derivedFvPatchFields/wallBoilingSubModels/partitioningModels/phaseFraction/phaseFraction.H @@ -66,6 +66,15 @@ public: //- Construct from a dictionary phaseFraction(const dictionary& dict); + //- Copy construct + phaseFraction(const phaseFraction& model); + + //- Construct and return a clone + virtual autoPtr clone() const + { + return autoPtr(new phaseFraction(*this)); + } + //- Destructor virtual ~phaseFraction();