diff --git a/src/scheme/DiscreteFunctionP0.hpp b/src/scheme/DiscreteFunctionP0.hpp
index d41d98db99a0fa74bbe8e05496d5324f33db0634..a6ffc4cdd1f352699b713f214e0341b5ef5ab588 100644
--- a/src/scheme/DiscreteFunctionP0.hpp
+++ b/src/scheme/DiscreteFunctionP0.hpp
@@ -50,6 +50,14 @@ class DiscreteFunctionP0 : public IDiscreteFunction
     return m_discrete_function_descriptor;
   }
 
+  PUGS_INLINE
+  void
+  fill(const DataType& data) const noexcept
+  {
+    static_assert(not std::is_const_v<DataType>, "Cannot modify ItemValue of const");
+    m_cell_values.fill(data);
+  }
+
   PUGS_FORCEINLINE
   DataType&
   operator[](const CellId cell_id) const noexcept(NO_ASSERT)