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