diff --git a/src/OpenFOAM/fields/pointPatchFields/basic/fixedValue/fixedValuePointPatchField.H b/src/OpenFOAM/fields/pointPatchFields/basic/fixedValue/fixedValuePointPatchField.H
index e8f269edbba41ccdc1fcc5859f773707a2dd2d56..1e30f2a63d5333f852bdd5794e79f2082da8f7b8 100644
--- a/src/OpenFOAM/fields/pointPatchFields/basic/fixedValue/fixedValuePointPatchField.H
+++ b/src/OpenFOAM/fields/pointPatchFields/basic/fixedValue/fixedValuePointPatchField.H
@@ -141,6 +141,9 @@ public:
         //- True: this patch field fixes a value.
         virtual bool fixesValue() const { return true; }
 
+        //- False: this patch field is not altered by assignment.
+        virtual bool assignable() const { return false; }
+
 
     // Member Operators
 
diff --git a/src/OpenFOAM/fields/pointPatchFields/basic/value/valuePointPatchField.H b/src/OpenFOAM/fields/pointPatchFields/basic/value/valuePointPatchField.H
index 4a71dd3766559a0e08458d18b273f6587a257037..bcbb710f85cfde2dc2fb809a0dbf3ff853f09170 100644
--- a/src/OpenFOAM/fields/pointPatchFields/basic/value/valuePointPatchField.H
+++ b/src/OpenFOAM/fields/pointPatchFields/basic/value/valuePointPatchField.H
@@ -167,6 +167,15 @@ public:
 
     // Member Functions
 
+        // Attributes
+
+            //- True: this patch field is altered by assignment by default.
+            virtual bool assignable() const
+            {
+                return true;
+            }
+
+
         // Access
 
             //- Return size
diff --git a/src/OpenFOAM/fields/pointPatchFields/pointPatchField/pointPatchField.H b/src/OpenFOAM/fields/pointPatchFields/pointPatchField/pointPatchField.H
index c2a47ce4125a60a539b0ff2a271cc38d706863a5..fa064ba77e8df5cec2a8c117bf8689077295de19 100644
--- a/src/OpenFOAM/fields/pointPatchFields/pointPatchField/pointPatchField.H
+++ b/src/OpenFOAM/fields/pointPatchFields/pointPatchField/pointPatchField.H
@@ -165,6 +165,12 @@ public:
 
     // Attributes
 
+        //- True if the value of the patch field is altered by assignment
+        virtual bool assignable() const
+        {
+            return false;
+        }
+
         //- True if the patch field fixes a value
         virtual bool fixesValue() const
         {
diff --git a/src/finiteVolume/fields/fvsPatchFields/basic/fixedValue/fixedValueFvsPatchField.H b/src/finiteVolume/fields/fvsPatchFields/basic/fixedValue/fixedValueFvsPatchField.H
index 600abc3ba6ca726673e8189458e3b8fe48ade93d..300caa3b112a612ee1c4f6621f5a2048b2fa737e 100644
--- a/src/finiteVolume/fields/fvsPatchFields/basic/fixedValue/fixedValueFvsPatchField.H
+++ b/src/finiteVolume/fields/fvsPatchFields/basic/fixedValue/fixedValueFvsPatchField.H
@@ -147,6 +147,9 @@ public:
         //- True: this patch field fixes a value.
         virtual bool fixesValue() const { return true; }
 
+        //- False: this patch field is not altered by assignment.
+        virtual bool assignable() const { return false; }
+
         //- Write includes "value" entry
         virtual void write(Ostream&) const;
 
diff --git a/src/finiteVolume/fields/fvsPatchFields/basic/sliced/slicedFvsPatchField.H b/src/finiteVolume/fields/fvsPatchFields/basic/sliced/slicedFvsPatchField.H
index 809d4e0db3313cb7e45eab919e2d10e49a937a0f..5354a8f8c29675c32de705164f418480c63951ab 100644
--- a/src/finiteVolume/fields/fvsPatchFields/basic/sliced/slicedFvsPatchField.H
+++ b/src/finiteVolume/fields/fvsPatchFields/basic/sliced/slicedFvsPatchField.H
@@ -143,6 +143,9 @@ public:
         //- True: this patch field fixes a value.
         virtual bool fixesValue() const { return true; }
 
+        //- False: this patch field is not altered by assignment.
+        virtual bool assignable() const { return false; }
+
         //- Write includes "value" entry
         virtual void write(Ostream&) const;
 
diff --git a/src/finiteVolume/fields/fvsPatchFields/fvsPatchField/fvsPatchField.H b/src/finiteVolume/fields/fvsPatchFields/fvsPatchField/fvsPatchField.H
index 63cc9f794c920fe1d4be8b988355cb9142f6575c..65f170e7d5dd5ec6a7f24bfc5b9034c1d0d12c01 100644
--- a/src/finiteVolume/fields/fvsPatchFields/fvsPatchField/fvsPatchField.H
+++ b/src/finiteVolume/fields/fvsPatchFields/fvsPatchField/fvsPatchField.H
@@ -145,6 +145,12 @@ public:
 
     // Attributes
 
+        //- True if the value of the patch field is altered by assignment
+        virtual bool assignable() const
+        {
+            return true;
+        }
+
         //- True if the patch field fixes a value.
         //  Needed to check if a level has to be specified while solving
         //  Poissons equations.