diff --git a/src/OpenFOAM/fields/pointPatchFields/basic/basicSymmetry/basicSymmetryPointPatchField.C b/src/OpenFOAM/fields/pointPatchFields/basic/basicSymmetry/basicSymmetryPointPatchField.C index 3a47b78cac..925719ebcc 100644 --- a/src/OpenFOAM/fields/pointPatchFields/basic/basicSymmetry/basicSymmetryPointPatchField.C +++ b/src/OpenFOAM/fields/pointPatchFields/basic/basicSymmetry/basicSymmetryPointPatchField.C @@ -59,10 +59,10 @@ Foam::basicSymmetryPointPatchField::basicSymmetryPointPatchField const basicSymmetryPointPatchField& ptf, const pointPatch& p, const DimensionedField& iF, - const pointPatchFieldMapper& + const pointPatchFieldMapper& mapper ) : - pointPatchField(p, iF) + pointPatchField(ptf, p, iF, mapper) {} diff --git a/src/OpenFOAM/fields/pointPatchFields/basic/calculated/calculatedPointPatchField.C b/src/OpenFOAM/fields/pointPatchFields/basic/calculated/calculatedPointPatchField.C index a80e1421bb..05b0c876d2 100644 --- a/src/OpenFOAM/fields/pointPatchFields/basic/calculated/calculatedPointPatchField.C +++ b/src/OpenFOAM/fields/pointPatchFields/basic/calculated/calculatedPointPatchField.C @@ -68,10 +68,10 @@ calculatedPointPatchField::calculatedPointPatchField const calculatedPointPatchField& ptf, const pointPatch& p, const DimensionedField& iF, - const pointPatchFieldMapper& + const pointPatchFieldMapper& mapper ) : - pointPatchField(p, iF) + pointPatchField(ptf, p, iF, mapper) {} diff --git a/src/OpenFOAM/fields/pointPatchFields/basic/coupled/coupledPointPatchField.C b/src/OpenFOAM/fields/pointPatchFields/basic/coupled/coupledPointPatchField.C index dfae5f7d28..3ad9e51a79 100644 --- a/src/OpenFOAM/fields/pointPatchFields/basic/coupled/coupledPointPatchField.C +++ b/src/OpenFOAM/fields/pointPatchFields/basic/coupled/coupledPointPatchField.C @@ -61,10 +61,10 @@ coupledPointPatchField::coupledPointPatchField const coupledPointPatchField& ptf, const pointPatch& p, const DimensionedField& iF, - const pointPatchFieldMapper& + const pointPatchFieldMapper& mapper ) : - pointPatchField(p, iF) + pointPatchField(ptf, p, iF, mapper) {} diff --git a/src/OpenFOAM/fields/pointPatchFields/basic/value/valuePointPatchField.C b/src/OpenFOAM/fields/pointPatchFields/basic/value/valuePointPatchField.C index d09bedf76b..d8fc9c43a3 100644 --- a/src/OpenFOAM/fields/pointPatchFields/basic/value/valuePointPatchField.C +++ b/src/OpenFOAM/fields/pointPatchFields/basic/value/valuePointPatchField.C @@ -108,7 +108,7 @@ Foam::valuePointPatchField::valuePointPatchField const pointPatchFieldMapper& mapper ) : - pointPatchField(p, iF), + pointPatchField(ptf, p, iF, mapper), Field(ptf, mapper) {} diff --git a/src/OpenFOAM/fields/pointPatchFields/basic/zeroGradient/zeroGradientPointPatchField.C b/src/OpenFOAM/fields/pointPatchFields/basic/zeroGradient/zeroGradientPointPatchField.C index a10d879179..d6ce1e4cf1 100644 --- a/src/OpenFOAM/fields/pointPatchFields/basic/zeroGradient/zeroGradientPointPatchField.C +++ b/src/OpenFOAM/fields/pointPatchFields/basic/zeroGradient/zeroGradientPointPatchField.C @@ -61,10 +61,10 @@ zeroGradientPointPatchField::zeroGradientPointPatchField const zeroGradientPointPatchField& ptf, const pointPatch& p, const DimensionedField& iF, - const pointPatchFieldMapper& + const pointPatchFieldMapper& mapper ) : - pointPatchField(p, iF) + pointPatchField(ptf, p, iF, mapper) {} diff --git a/src/OpenFOAM/fields/pointPatchFields/constraint/empty/emptyPointPatchField.C b/src/OpenFOAM/fields/pointPatchFields/constraint/empty/emptyPointPatchField.C index 8fd4b5bc0b..8838f0fff5 100644 --- a/src/OpenFOAM/fields/pointPatchFields/constraint/empty/emptyPointPatchField.C +++ b/src/OpenFOAM/fields/pointPatchFields/constraint/empty/emptyPointPatchField.C @@ -77,10 +77,10 @@ emptyPointPatchField::emptyPointPatchField const emptyPointPatchField& ptf, const pointPatch& p, const DimensionedField& iF, - const pointPatchFieldMapper& + const pointPatchFieldMapper& mapper ) : - pointPatchField(p, iF) + pointPatchField(ptf, p, iF, mapper) { if (!isType(this->patch())) { diff --git a/src/OpenFOAM/fields/pointPatchFields/constraint/wedge/wedgePointPatchField.C b/src/OpenFOAM/fields/pointPatchFields/constraint/wedge/wedgePointPatchField.C index eac29f3251..6e8fa53184 100644 --- a/src/OpenFOAM/fields/pointPatchFields/constraint/wedge/wedgePointPatchField.C +++ b/src/OpenFOAM/fields/pointPatchFields/constraint/wedge/wedgePointPatchField.C @@ -74,10 +74,10 @@ Foam::wedgePointPatchField::wedgePointPatchField const wedgePointPatchField& ptf, const pointPatch& p, const DimensionedField& iF, - const pointPatchFieldMapper& + const pointPatchFieldMapper& mapper ) : - pointPatchField(p, iF) + pointPatchField(ptf, p, iF, mapper) { if (!isType(this->patch())) { diff --git a/src/OpenFOAM/fields/pointPatchFields/pointPatchField/pointPatchField.C b/src/OpenFOAM/fields/pointPatchFields/pointPatchField/pointPatchField.C index 3e62d6a202..63eb039565 100644 --- a/src/OpenFOAM/fields/pointPatchFields/pointPatchField/pointPatchField.C +++ b/src/OpenFOAM/fields/pointPatchFields/pointPatchField/pointPatchField.C @@ -63,6 +63,22 @@ pointPatchField::pointPatchField {} +template +Foam::pointPatchField::pointPatchField +( + const pointPatchField& ptf, + const pointPatch& p, + const DimensionedField& iF, + const pointPatchFieldMapper& +) +: + patch_(p), + internalField_(iF), + updated_(false), + patchType_(ptf.patchType_) +{} + + template pointPatchField::pointPatchField ( diff --git a/src/OpenFOAM/fields/pointPatchFields/pointPatchField/pointPatchField.H b/src/OpenFOAM/fields/pointPatchFields/pointPatchField/pointPatchField.H index 439966188b..88e6bfecfe 100644 --- a/src/OpenFOAM/fields/pointPatchFields/pointPatchField/pointPatchField.H +++ b/src/OpenFOAM/fields/pointPatchFields/pointPatchField/pointPatchField.H @@ -167,6 +167,15 @@ public: const dictionary& ); + //- Construct by mapping given patchField onto a new patch + pointPatchField + ( + const pointPatchField&, + const pointPatch&, + const DimensionedField&, + const pointPatchFieldMapper& + ); + //- Construct as copy pointPatchField(const pointPatchField&);