diff --git a/pystencils/simp/assignment_collection.py b/pystencils/simp/assignment_collection.py
index 1e9a4c47e64e5a5683076a6fa912bd7298aa6c69..82df31fb8ab77e07b25cd1a1098477471e318787 100644
--- a/pystencils/simp/assignment_collection.py
+++ b/pystencils/simp/assignment_collection.py
@@ -111,6 +111,15 @@ class AssignmentCollection:
             "Not in SSA form - same symbol assigned multiple times"
         return bound_symbols_set
 
+    def free_fields(self):
+        """All fields accessed in the assignment collection, which do not occur as left hand sides in any assignment."""
+        return {s.field for s in self.free_symbols if hasattr(s, 'field')}
+
+    @property
+    def bound_fields(self):
+        """All field accessed on the left hand side of a main assignment or a subexpression."""
+        return {s.field for s in self.bound_symbols if hasattr(s, 'field')}
+
     @property
     def defined_symbols(self) -> Set[sp.Symbol]:
         """All symbols which occur as left-hand-sides of one of the main equations"""