COMP: missing clone methods for some derived boundary conditions

This commit is contained in:
Mark Olesen
2020-05-01 16:25:11 +02:00
parent a1ccd1b716
commit 0c163e40e5
4 changed files with 59 additions and 11 deletions

View File

@ -6,7 +6,7 @@
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2011-2016, 2019 OpenFOAM Foundation Copyright (C) 2011-2016, 2019 OpenFOAM Foundation
Copyright (C) 2019 OpenCFD Ltd. Copyright (C) 2019-2020 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -177,6 +177,8 @@ public:
const DimensionedField<scalar, volMesh>& const DimensionedField<scalar, volMesh>&
); );
// No clone methods - abstract class
// Member Functions // Member Functions

View File

@ -61,7 +61,7 @@ class alphatPhaseChangeWallFunctionFvPatchScalarField
{ {
protected: protected:
// Protected data // Protected Data
//- Rate of phase-change //- Rate of phase-change
scalarField dmdt_; scalarField dmdt_;
@ -117,8 +117,10 @@ public:
const DimensionedField<scalar, volMesh>& const DimensionedField<scalar, volMesh>&
); );
// No clone methods - abstract class
// Member functions
// Member Functions
//- Return the rate of phase-change //- Return the rate of phase-change
virtual const scalarField& dmdt() const virtual const scalarField& dmdt() const
@ -162,9 +164,10 @@ public:
return mDotL_; return mDotL_;
} }
// Evaluation functions
//- Update the coefficients associated with the patch field // Evaluation Functions
//- Update the coefficients associated with the patch field
virtual void updateCoeffs() = 0; virtual void updateCoeffs() = 0;

View File

@ -6,6 +6,7 @@
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
Copyright (C) 2015-2018 OpenFOAM Foundation Copyright (C) 2015-2018 OpenFOAM Foundation
Copyright (C) 2020 OpenCFD Ltd.
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
This file is part of OpenFOAM. This file is part of OpenFOAM.
@ -57,7 +58,7 @@ class copiedFixedValueFvPatchScalarField
{ {
protected: protected:
// Protected data // Protected Data
word sourceFieldName_; word sourceFieldName_;
@ -101,6 +102,15 @@ public:
const copiedFixedValueFvPatchScalarField& const copiedFixedValueFvPatchScalarField&
); );
//- Construct and return a clone
virtual tmp<fvPatchScalarField> clone() const
{
return tmp<fvPatchScalarField>
(
new copiedFixedValueFvPatchScalarField(*this)
);
}
//- Construct as copy setting internal field reference //- Construct as copy setting internal field reference
copiedFixedValueFvPatchScalarField copiedFixedValueFvPatchScalarField
( (
@ -108,10 +118,22 @@ public:
const DimensionedField<scalar, volMesh>& const DimensionedField<scalar, volMesh>&
); );
//- Construct and return a clone setting internal field reference
virtual tmp<fvPatchScalarField> clone
(
const DimensionedField<scalar, volMesh>& iF
) const
{
return tmp<fvPatchScalarField>
(
new copiedFixedValueFvPatchScalarField(*this, iF)
);
}
// Member functions
// Evaluation functions // Member Functions
// Evaluation Functions
//- Update the coefficients associated with the patch field //- Update the coefficients associated with the patch field
virtual void updateCoeffs(); virtual void updateCoeffs();

View File

@ -61,7 +61,7 @@ class fixedMultiPhaseHeatFluxFvPatchScalarField
: :
public fixedValueFvPatchScalarField public fixedValueFvPatchScalarField
{ {
// Private data // Private Data
//- Heat power [W] or flux [W/m2] //- Heat power [W] or flux [W/m2]
scalarField q_; scalarField q_;
@ -113,6 +113,15 @@ public:
const fixedMultiPhaseHeatFluxFvPatchScalarField& const fixedMultiPhaseHeatFluxFvPatchScalarField&
); );
//- Construct and return a clone
virtual tmp<fvPatchScalarField> clone() const
{
return tmp<fvPatchScalarField>
(
new fixedMultiPhaseHeatFluxFvPatchScalarField(*this)
);
}
//- Construct as copy setting internal field reference //- Construct as copy setting internal field reference
fixedMultiPhaseHeatFluxFvPatchScalarField fixedMultiPhaseHeatFluxFvPatchScalarField
( (
@ -120,10 +129,22 @@ public:
const DimensionedField<scalar, volMesh>& const DimensionedField<scalar, volMesh>&
); );
//- Construct and return a clone setting internal field reference
virtual tmp<fvPatchScalarField> clone
(
const DimensionedField<scalar, volMesh>& iF
) const
{
return tmp<fvPatchScalarField>
(
new fixedMultiPhaseHeatFluxFvPatchScalarField(*this, iF)
);
}
// Member functions
// Evaluation functions // Member Functions
// Evaluation Functions
//- Update the coefficients associated with the patch field //- Update the coefficients associated with the patch field
virtual void updateCoeffs(); virtual void updateCoeffs();