diff --git a/src/scheme/FixedBoundaryConditionDescriptor.hpp b/src/scheme/FixedBoundaryConditionDescriptor.hpp
new file mode 100644
index 0000000000000000000000000000000000000000..2a635b04148a30fda0add405e992ca5ca3f21875
--- /dev/null
+++ b/src/scheme/FixedBoundaryConditionDescriptor.hpp
@@ -0,0 +1,56 @@
+#ifndef FIXED_BOUNDARY_CONDITION_DESCRIPTOR_HPP
+#define FIXED_BOUNDARY_CONDITION_DESCRIPTOR_HPP
+
+#include <language/utils/FunctionSymbolId.hpp>
+#include <scheme/IBoundaryConditionDescriptor.hpp>
+#include <scheme/IBoundaryDescriptor.hpp>
+
+#include <memory>
+
+class FixedBoundaryConditionDescriptor : public IBoundaryConditionDescriptor
+{
+ private:
+  std::ostream&
+  _write(std::ostream& os) const final
+  {
+    os << "fixed(" << m_name << ',' << *m_boundary_descriptor << ")";
+    return os;
+  }
+
+  const std::string_view m_name;
+
+  std::shared_ptr<const IBoundaryDescriptor> m_boundary_descriptor;
+
+ public:
+  std::string_view
+  name() const
+  {
+    return m_name;
+  }
+
+  const IBoundaryDescriptor&
+  boundaryDescriptor() const
+  {
+    return *m_boundary_descriptor;
+  }
+
+  Type
+  type() const final
+  {
+    return Type::fixed;
+  }
+
+  FixedBoundaryConditionDescriptor(const std::string_view name,
+                                   std::shared_ptr<const IBoundaryDescriptor> boundary_descriptor)
+    : m_name{name}, m_boundary_descriptor(boundary_descriptor)
+  {
+    ;
+  }
+
+  FixedBoundaryConditionDescriptor(const FixedBoundaryConditionDescriptor&) = delete;
+  FixedBoundaryConditionDescriptor(FixedBoundaryConditionDescriptor&&)      = delete;
+
+  ~FixedBoundaryConditionDescriptor() = default;
+};
+
+#endif   // FIXED_BOUNDARY_CONDITION_DESCRIPTOR_HPP
diff --git a/src/scheme/IBoundaryConditionDescriptor.hpp b/src/scheme/IBoundaryConditionDescriptor.hpp
index 30a25db66f1278e72eb2bea0ce7a017d8022da65..96989954cc234d5426832b4f8a60a4b3f71f0566 100644
--- a/src/scheme/IBoundaryConditionDescriptor.hpp
+++ b/src/scheme/IBoundaryConditionDescriptor.hpp
@@ -10,6 +10,7 @@ class IBoundaryConditionDescriptor
   {
     dirichlet,
     fourier,
+    fixed,
     free,
     neumann,
     symmetry