From 0dbc3666a2d47ab08f039df881209062d272a31a Mon Sep 17 00:00:00 2001 From: mattijs <mattijs> Date: Thu, 3 Oct 2013 15:43:37 +0100 Subject: [PATCH] BUG: mappedField: do not keep interpolator (holds copy of field) --- .../mappedField/mappedPatchFieldBase.C | 23 +++++++------------ .../mappedField/mappedPatchFieldBase.H | 8 ------- 2 files changed, 8 insertions(+), 23 deletions(-) diff --git a/src/finiteVolume/fields/fvPatchFields/derived/mappedField/mappedPatchFieldBase.C b/src/finiteVolume/fields/fvPatchFields/derived/mappedField/mappedPatchFieldBase.C index 291fe316dce..03edc6c4802 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/mappedField/mappedPatchFieldBase.C +++ b/src/finiteVolume/fields/fvPatchFields/derived/mappedField/mappedPatchFieldBase.C @@ -165,21 +165,6 @@ mappedPatchFieldBase<Type>::sampleField() const } -template<class Type> -const interpolation<Type>& mappedPatchFieldBase<Type>::interpolator() const -{ - if (!interpolator_.valid()) - { - interpolator_ = interpolation<Type>::New - ( - interpolationScheme_, - sampleField() - ); - } - return interpolator_(); -} - - template<class Type> tmp<Field<Type> > mappedPatchFieldBase<Type>::mappedField() const { @@ -218,6 +203,14 @@ tmp<Field<Type> > mappedPatchFieldBase<Type>::mappedField() const samples ); + autoPtr<interpolation<Type> > interpolator + ( + interpolation<Type>::New + ( + interpolationScheme_, + sampleField() + ) + ); const interpolation<Type>& interp = interpolator(); newValues.setSize(samples.size(), pTraits<Type>::max); diff --git a/src/finiteVolume/fields/fvPatchFields/derived/mappedField/mappedPatchFieldBase.H b/src/finiteVolume/fields/fvPatchFields/derived/mappedField/mappedPatchFieldBase.H index 22a3872effe..b8b69fa4ee2 100644 --- a/src/finiteVolume/fields/fvPatchFields/derived/mappedField/mappedPatchFieldBase.H +++ b/src/finiteVolume/fields/fvPatchFields/derived/mappedField/mappedPatchFieldBase.H @@ -88,11 +88,6 @@ protected: //- Interpolation scheme to use for nearestcell mode word interpolationScheme_; - mutable autoPtr<interpolation<Type> > interpolator_; - - - // Protected Member Functions - public: @@ -149,9 +144,6 @@ public: //- Field to sample. Either on my or nbr mesh const GeometricField<Type, fvPatchField, volMesh>& sampleField() const; - //- Access the interpolation method - const interpolation<Type>& interpolator() const; - //- Map sampleField onto *this patch virtual tmp<Field<Type> > mappedField() const; -- GitLab