diff --git a/src/language/modules/SchemeModule.cpp b/src/language/modules/SchemeModule.cpp
index ef5e703fd93c589f0f99d5d7882786564e79dc6d..b0dc16e29b899377a46b6add90aeab475bcc1504 100644
--- a/src/language/modules/SchemeModule.cpp
+++ b/src/language/modules/SchemeModule.cpp
@@ -52,6 +52,8 @@
 #include <scheme/RusanovEulerianCompositeSolver_o2.hpp>
 #include <scheme/RusanovEulerianCompositeSolver_v2.hpp>
 #include <scheme/RusanovEulerianCompositeSolver_v2_o2.hpp>
+#include <scheme/RusanovEulerianCompositeSolver_v2_order_n.hpp>
+
 #include <scheme/SymmetryBoundaryConditionDescriptor.hpp>
 #include <scheme/VariableBCDescriptor.hpp>
 #include <scheme/WallBoundaryConditionDescriptor.hpp>
@@ -538,13 +540,13 @@ SchemeModule::SchemeModule()
                                  const std::shared_ptr<const DiscreteFunctionVariant>& u,
                                  const std::shared_ptr<const DiscreteFunctionVariant>& E, const double& gamma,
                                  const std::shared_ptr<const DiscreteFunctionVariant>& c,
-                                 const std::shared_ptr<const DiscreteFunctionVariant>& p, const size_t& degree,
+                                 const std::shared_ptr<const DiscreteFunctionVariant>& p,   // const size_t& degree,
                                  const std::vector<std::shared_ptr<const IBoundaryConditionDescriptor>>&
                                    bc_descriptor_list,
                                  const double& dt) -> std::tuple<std::shared_ptr<const DiscreteFunctionVariant>,
                                                                  std::shared_ptr<const DiscreteFunctionVariant>,
                                                                  std::shared_ptr<const DiscreteFunctionVariant>> {
-                                return rusanovEulerianCompositeSolver(rho, u, E, gamma, c, p, degree,
+                                return rusanovEulerianCompositeSolver(rho, u, E, gamma, c, p,   // degree,
                                                                       bc_descriptor_list, dt);
                               }
 
@@ -557,13 +559,13 @@ SchemeModule::SchemeModule()
                                  const std::shared_ptr<const DiscreteFunctionVariant>& u,
                                  const std::shared_ptr<const DiscreteFunctionVariant>& E, const double& gamma,
                                  const std::shared_ptr<const DiscreteFunctionVariant>& c,
-                                 const std::shared_ptr<const DiscreteFunctionVariant>& p, const size_t& degree,
+                                 const std::shared_ptr<const DiscreteFunctionVariant>& p,   // const size_t& degree,
                                  const std::vector<std::shared_ptr<const IBoundaryConditionDescriptor>>&
                                    bc_descriptor_list,
                                  const double& dt) -> std::tuple<std::shared_ptr<const DiscreteFunctionVariant>,
                                                                  std::shared_ptr<const DiscreteFunctionVariant>,
                                                                  std::shared_ptr<const DiscreteFunctionVariant>> {
-                                return rusanovEulerianCompositeSolver(rho, u, E, gamma, c, p, degree,
+                                return rusanovEulerianCompositeSolver(rho, u, E, gamma, c, p,   // degree,
                                                                       bc_descriptor_list, dt, true);
                               }
 
@@ -576,13 +578,13 @@ SchemeModule::SchemeModule()
                                  const std::shared_ptr<const DiscreteFunctionVariant>& u,
                                  const std::shared_ptr<const DiscreteFunctionVariant>& E, const double& gamma,
                                  const std::shared_ptr<const DiscreteFunctionVariant>& c,
-                                 const std::shared_ptr<const DiscreteFunctionVariant>& p, const size_t& degree,
+                                 const std::shared_ptr<const DiscreteFunctionVariant>& p,   // const size_t& degree,
                                  const std::vector<std::shared_ptr<const IBoundaryConditionDescriptor>>&
                                    bc_descriptor_list,
                                  const double& dt) -> std::tuple<std::shared_ptr<const DiscreteFunctionVariant>,
                                                                  std::shared_ptr<const DiscreteFunctionVariant>,
                                                                  std::shared_ptr<const DiscreteFunctionVariant>> {
-                                return rusanovEulerianCompositeSolver_o2(rho, u, E, gamma, c, p, degree,
+                                return rusanovEulerianCompositeSolver_o2(rho, u, E, gamma, c, p,   // degree,
                                                                          bc_descriptor_list, dt);
                               }
 
@@ -595,13 +597,13 @@ SchemeModule::SchemeModule()
                                  const std::shared_ptr<const DiscreteFunctionVariant>& u,
                                  const std::shared_ptr<const DiscreteFunctionVariant>& E, const double& gamma,
                                  const std::shared_ptr<const DiscreteFunctionVariant>& c,
-                                 const std::shared_ptr<const DiscreteFunctionVariant>& p, const size_t& degree,
+                                 const std::shared_ptr<const DiscreteFunctionVariant>& p,   // const size_t& degree,
                                  const std::vector<std::shared_ptr<const IBoundaryConditionDescriptor>>&
                                    bc_descriptor_list,
                                  const double& dt) -> std::tuple<std::shared_ptr<const DiscreteFunctionVariant>,
                                                                  std::shared_ptr<const DiscreteFunctionVariant>,
                                                                  std::shared_ptr<const DiscreteFunctionVariant>> {
-                                return rusanovEulerianCompositeSolver_o2(rho, u, E, gamma, c, p, degree,
+                                return rusanovEulerianCompositeSolver_o2(rho, u, E, gamma, c, p,   // degree,
                                                                          bc_descriptor_list, dt, true);
                               }
 
@@ -613,13 +615,13 @@ SchemeModule::SchemeModule()
                                  const std::shared_ptr<const DiscreteFunctionVariant>& u,
                                  const std::shared_ptr<const DiscreteFunctionVariant>& E, const double& gamma,
                                  const std::shared_ptr<const DiscreteFunctionVariant>& c,
-                                 const std::shared_ptr<const DiscreteFunctionVariant>& p, const size_t& degree,
+                                 const std::shared_ptr<const DiscreteFunctionVariant>& p,   // const size_t& degree,
                                  const std::vector<std::shared_ptr<const IBoundaryConditionDescriptor>>&
                                    bc_descriptor_list,
                                  const double& dt) -> std::tuple<std::shared_ptr<const DiscreteFunctionVariant>,
                                                                  std::shared_ptr<const DiscreteFunctionVariant>,
                                                                  std::shared_ptr<const DiscreteFunctionVariant>> {
-                                return rusanovEulerianCompositeSolver_v2(rho, u, E, gamma, c, p, degree,
+                                return rusanovEulerianCompositeSolver_v2(rho, u, E, gamma, c, p,   // degree,
                                                                          bc_descriptor_list, dt);
                               }
 
@@ -631,13 +633,13 @@ SchemeModule::SchemeModule()
                                  const std::shared_ptr<const DiscreteFunctionVariant>& u,
                                  const std::shared_ptr<const DiscreteFunctionVariant>& E, const double& gamma,
                                  const std::shared_ptr<const DiscreteFunctionVariant>& c,
-                                 const std::shared_ptr<const DiscreteFunctionVariant>& p, const size_t& degree,
+                                 const std::shared_ptr<const DiscreteFunctionVariant>& p,   // const size_t& degree,
                                  const std::vector<std::shared_ptr<const IBoundaryConditionDescriptor>>&
                                    bc_descriptor_list,
                                  const double& dt) -> std::tuple<std::shared_ptr<const DiscreteFunctionVariant>,
                                                                  std::shared_ptr<const DiscreteFunctionVariant>,
                                                                  std::shared_ptr<const DiscreteFunctionVariant>> {
-                                return rusanovEulerianCompositeSolver_v2(rho, u, E, gamma, c, p, degree,
+                                return rusanovEulerianCompositeSolver_v2(rho, u, E, gamma, c, p,   // degree,
                                                                          bc_descriptor_list, dt, true);
                               }));
   this->_addBuiltinFunction("roe_viscosityform_eulerian_composite_solver_version2",
@@ -646,13 +648,13 @@ SchemeModule::SchemeModule()
                                  const std::shared_ptr<const DiscreteFunctionVariant>& u,
                                  const std::shared_ptr<const DiscreteFunctionVariant>& E, const double& gamma,
                                  const std::shared_ptr<const DiscreteFunctionVariant>& c,
-                                 const std::shared_ptr<const DiscreteFunctionVariant>& p, const size_t& degree,
+                                 const std::shared_ptr<const DiscreteFunctionVariant>& p,   // const size_t& degree,
                                  const std::vector<std::shared_ptr<const IBoundaryConditionDescriptor>>&
                                    bc_descriptor_list,
                                  const double& dt) -> std::tuple<std::shared_ptr<const DiscreteFunctionVariant>,
                                                                  std::shared_ptr<const DiscreteFunctionVariant>,
                                                                  std::shared_ptr<const DiscreteFunctionVariant>> {
-                                return roeViscousFormEulerianCompositeSolver_v2(rho, u, E, gamma, c, p, degree,
+                                return roeViscousFormEulerianCompositeSolver_v2(rho, u, E, gamma, c, p,   // degree,
                                                                                 bc_descriptor_list, dt);
                               }
 
@@ -664,13 +666,13 @@ SchemeModule::SchemeModule()
                                  const std::shared_ptr<const DiscreteFunctionVariant>& u,
                                  const std::shared_ptr<const DiscreteFunctionVariant>& E, const double& gamma,
                                  const std::shared_ptr<const DiscreteFunctionVariant>& c,
-                                 const std::shared_ptr<const DiscreteFunctionVariant>& p, const size_t& degree,
+                                 const std::shared_ptr<const DiscreteFunctionVariant>& p,   // const size_t& degree,
                                  const std::vector<std::shared_ptr<const IBoundaryConditionDescriptor>>&
                                    bc_descriptor_list,
                                  const double& dt) -> std::tuple<std::shared_ptr<const DiscreteFunctionVariant>,
                                                                  std::shared_ptr<const DiscreteFunctionVariant>,
                                                                  std::shared_ptr<const DiscreteFunctionVariant>> {
-                                return roeViscousFormEulerianCompositeSolver_v2(rho, u, E, gamma, c, p, degree,
+                                return roeViscousFormEulerianCompositeSolver_v2(rho, u, E, gamma, c, p,   // degree,
                                                                                 bc_descriptor_list, dt, true);
                               }
 
@@ -682,19 +684,19 @@ SchemeModule::SchemeModule()
                                  const std::shared_ptr<const DiscreteFunctionVariant>& u,
                                  const std::shared_ptr<const DiscreteFunctionVariant>& E, const double& gamma,
                                  const std::shared_ptr<const DiscreteFunctionVariant>& c,
-                                 const std::shared_ptr<const DiscreteFunctionVariant>& p, const size_t& degree,
+                                 const std::shared_ptr<const DiscreteFunctionVariant>& p,   // const size_t& degree,
                                  const std::vector<std::shared_ptr<const IBoundaryConditionDescriptor>>&
                                    bc_descriptor_list,
                                  const double& dt) -> std::tuple<std::shared_ptr<const DiscreteFunctionVariant>,
                                                                  std::shared_ptr<const DiscreteFunctionVariant>,
                                                                  std::shared_ptr<const DiscreteFunctionVariant>> {
-                                return rusanovEulerianCompositeSolver_v2_o2(rho, u, E, gamma, c, p, degree,
+                                return rusanovEulerianCompositeSolver_v2_o2(rho, u, E, gamma, c, p,   // degree,
                                                                             bc_descriptor_list, dt);
                               }
 
                               ));
 
-  this->_addBuiltinFunction("rusanov_eulerian_composite_solver_version2_o2_with_checks",
+  this->_addBuiltinFunction("rusanov_eulerian_composite_solver_version2_order_n",
                             std::function(
                               [](const std::shared_ptr<const DiscreteFunctionVariant>& rho,
                                  const std::shared_ptr<const DiscreteFunctionVariant>& u,
@@ -706,7 +708,25 @@ SchemeModule::SchemeModule()
                                  const double& dt) -> std::tuple<std::shared_ptr<const DiscreteFunctionVariant>,
                                                                  std::shared_ptr<const DiscreteFunctionVariant>,
                                                                  std::shared_ptr<const DiscreteFunctionVariant>> {
-                                return rusanovEulerianCompositeSolver_v2_o2(rho, u, E, gamma, c, p, degree,
+                                return rusanovEulerianCompositeSolver_v2_order_n(rho, u, E, gamma, c, p, degree,
+                                                                                 bc_descriptor_list, dt);
+                              }
+
+                              ));
+
+  this->_addBuiltinFunction("rusanov_eulerian_composite_solver_version2_o2_with_checks",
+                            std::function(
+                              [](const std::shared_ptr<const DiscreteFunctionVariant>& rho,
+                                 const std::shared_ptr<const DiscreteFunctionVariant>& u,
+                                 const std::shared_ptr<const DiscreteFunctionVariant>& E, const double& gamma,
+                                 const std::shared_ptr<const DiscreteFunctionVariant>& c,
+                                 const std::shared_ptr<const DiscreteFunctionVariant>& p,   // const size_t& degree,
+                                 const std::vector<std::shared_ptr<const IBoundaryConditionDescriptor>>&
+                                   bc_descriptor_list,
+                                 const double& dt) -> std::tuple<std::shared_ptr<const DiscreteFunctionVariant>,
+                                                                 std::shared_ptr<const DiscreteFunctionVariant>,
+                                                                 std::shared_ptr<const DiscreteFunctionVariant>> {
+                                return rusanovEulerianCompositeSolver_v2_o2(rho, u, E, gamma, c, p,   // degree,
                                                                             bc_descriptor_list, dt, true);
                               }));
 
@@ -716,13 +736,13 @@ SchemeModule::SchemeModule()
                                  const std::shared_ptr<const DiscreteFunctionVariant>& u,
                                  const std::shared_ptr<const DiscreteFunctionVariant>& E, const double& gamma,
                                  const std::shared_ptr<const DiscreteFunctionVariant>& c,
-                                 const std::shared_ptr<const DiscreteFunctionVariant>& p, const size_t& degree,
+                                 const std::shared_ptr<const DiscreteFunctionVariant>& p,   // const size_t& degree,
                                  const std::vector<std::shared_ptr<const IBoundaryConditionDescriptor>>&
                                    bc_descriptor_list,
                                  const double& dt) -> std::tuple<std::shared_ptr<const DiscreteFunctionVariant>,
                                                                  std::shared_ptr<const DiscreteFunctionVariant>,
                                                                  std::shared_ptr<const DiscreteFunctionVariant>> {
-                                return roeViscousFormEulerianCompositeSolver_v2_o2(rho, u, E, gamma, c, p, degree,
+                                return roeViscousFormEulerianCompositeSolver_v2_o2(rho, u, E, gamma, c, p,   // degree,
                                                                                    bc_descriptor_list, dt);
                               }
 
@@ -734,13 +754,13 @@ SchemeModule::SchemeModule()
                                  const std::shared_ptr<const DiscreteFunctionVariant>& u,
                                  const std::shared_ptr<const DiscreteFunctionVariant>& E, const double& gamma,
                                  const std::shared_ptr<const DiscreteFunctionVariant>& c,
-                                 const std::shared_ptr<const DiscreteFunctionVariant>& p, const size_t& degree,
+                                 const std::shared_ptr<const DiscreteFunctionVariant>& p,   // const size_t& degree,
                                  const std::vector<std::shared_ptr<const IBoundaryConditionDescriptor>>&
                                    bc_descriptor_list,
                                  const double& dt) -> std::tuple<std::shared_ptr<const DiscreteFunctionVariant>,
                                                                  std::shared_ptr<const DiscreteFunctionVariant>,
                                                                  std::shared_ptr<const DiscreteFunctionVariant>> {
-                                return roeViscousFormEulerianCompositeSolver_v2_o2(rho, u, E, gamma, c, p, degree,
+                                return roeViscousFormEulerianCompositeSolver_v2_o2(rho, u, E, gamma, c, p,   // degree,
                                                                                    bc_descriptor_list, dt, true);
                               }
 
diff --git a/src/scheme/RoeViscousFormEulerianCompositeSolver_v2.cpp b/src/scheme/RoeViscousFormEulerianCompositeSolver_v2.cpp
index 427be791263bb4f7afb8610cee79a38da04ea3ff..b6d8be8b0a5ddd73e569d63277211108dade575a 100644
--- a/src/scheme/RoeViscousFormEulerianCompositeSolver_v2.cpp
+++ b/src/scheme/RoeViscousFormEulerianCompositeSolver_v2.cpp
@@ -1114,7 +1114,7 @@ class RoeViscousFormEulerianCompositeSolver_v2
         const double& gamma,
         const DiscreteFunctionP0<const double>& c_n,
         const DiscreteFunctionP0<const double>& p_n,
-        const size_t& degree,
+        // const size_t& degree,
         const std::vector<std::shared_ptr<const IBoundaryConditionDescriptor>>& bc_descriptor_list,
         const double& dt,
         const bool checkLocalConservation) const
@@ -2442,7 +2442,7 @@ roeViscousFormEulerianCompositeSolver_v2(
   const double& gamma,
   const std::shared_ptr<const DiscreteFunctionVariant>& c_v,
   const std::shared_ptr<const DiscreteFunctionVariant>& p_v,
-  const size_t& degree,
+  //  const size_t& degree,
   const std::vector<std::shared_ptr<const IBoundaryConditionDescriptor>>& bc_descriptor_list,
   const double& dt,
   const bool check)
@@ -2471,7 +2471,8 @@ roeViscousFormEulerianCompositeSolver_v2(
             return RoeViscousFormEulerianCompositeSolver_v2<MeshType>{}
               .solve(p_mesh, rho_v->get<DiscreteFunctionP0<const double>>(), u_v->get<DiscreteFunctionP0<const Rd>>(),
                      E_v->get<DiscreteFunctionP0<const double>>(), gamma, c_v->get<DiscreteFunctionP0<const double>>(),
-                     p_v->get<DiscreteFunctionP0<const double>>(), degree, bc_descriptor_list, dt, check);
+                     p_v->get<DiscreteFunctionP0<const double>>(),   // degree,
+                     bc_descriptor_list, dt, check);
           } else {
             throw NormalError("RoeViscousFormEulerianCompositeSolver v2 is only defined on polygonal meshes");
           }
diff --git a/src/scheme/RoeViscousFormEulerianCompositeSolver_v2.hpp b/src/scheme/RoeViscousFormEulerianCompositeSolver_v2.hpp
index 359b8cc9da340b74770b2440b3acffe5993d75a6..eada60f805cb7e2ca97dcfce32535546eb0b626c 100644
--- a/src/scheme/RoeViscousFormEulerianCompositeSolver_v2.hpp
+++ b/src/scheme/RoeViscousFormEulerianCompositeSolver_v2.hpp
@@ -22,7 +22,7 @@ roeViscousFormEulerianCompositeSolver_v2(
   const double& gamma,
   const std::shared_ptr<const DiscreteFunctionVariant>& c,
   const std::shared_ptr<const DiscreteFunctionVariant>& p,
-  const size_t& degree,
+  // const size_t& degree,
   const std::vector<std::shared_ptr<const IBoundaryConditionDescriptor>>& bc_descriptor_list,
   const double& dt,
   const bool check = false);
diff --git a/src/scheme/RoeViscousFormEulerianCompositeSolver_v2_o2.cpp b/src/scheme/RoeViscousFormEulerianCompositeSolver_v2_o2.cpp
index 8e9f257b688a343e65ea7dfb2aa6b46c046e6f63..76251d822d80e812cd70ad89923f48e243190267 100644
--- a/src/scheme/RoeViscousFormEulerianCompositeSolver_v2_o2.cpp
+++ b/src/scheme/RoeViscousFormEulerianCompositeSolver_v2_o2.cpp
@@ -1122,7 +1122,7 @@ class RoeViscousFormEulerianCompositeSolver_v2_o2
         const double& gamma,
         const DiscreteFunctionP0<const double>& c_n,
         const DiscreteFunctionP0<const double>& p_n,
-        const size_t& degree,
+        //        const size_t& degree,
         const std::vector<std::shared_ptr<const IBoundaryConditionDescriptor>>& bc_descriptor_list,
         const double& dt,
         const bool checkLocalConservation) const
@@ -2615,7 +2615,7 @@ roeViscousFormEulerianCompositeSolver_v2_o2(
   const double& gamma,
   const std::shared_ptr<const DiscreteFunctionVariant>& c_v,
   const std::shared_ptr<const DiscreteFunctionVariant>& p_v,
-  const size_t& degree,
+  //  const size_t& degree,
   const std::vector<std::shared_ptr<const IBoundaryConditionDescriptor>>& bc_descriptor_list,
   const double& dt,
   const bool check)
@@ -2644,7 +2644,8 @@ roeViscousFormEulerianCompositeSolver_v2_o2(
             return RoeViscousFormEulerianCompositeSolver_v2_o2<MeshType>{}
               .solve(p_mesh, rho_v->get<DiscreteFunctionP0<const double>>(), u_v->get<DiscreteFunctionP0<const Rd>>(),
                      E_v->get<DiscreteFunctionP0<const double>>(), gamma, c_v->get<DiscreteFunctionP0<const double>>(),
-                     p_v->get<DiscreteFunctionP0<const double>>(), degree, bc_descriptor_list, dt, check);
+                     p_v->get<DiscreteFunctionP0<const double>>(),   // degree,
+                     bc_descriptor_list, dt, check);
           } else {
             throw NormalError("RoeViscousFormEulerianCompositeSolver v2 is only defined on polygonal meshes");
           }
diff --git a/src/scheme/RoeViscousFormEulerianCompositeSolver_v2_o2.hpp b/src/scheme/RoeViscousFormEulerianCompositeSolver_v2_o2.hpp
index c7351a1ef6f2fa03d4aa915b5e27ae5a60dae05e..d2fd13b79b11c51ccffba74b278038c78dec8488 100644
--- a/src/scheme/RoeViscousFormEulerianCompositeSolver_v2_o2.hpp
+++ b/src/scheme/RoeViscousFormEulerianCompositeSolver_v2_o2.hpp
@@ -23,7 +23,7 @@ roeViscousFormEulerianCompositeSolver_v2_o2(
   const double& gamma,
   const std::shared_ptr<const DiscreteFunctionVariant>& c,
   const std::shared_ptr<const DiscreteFunctionVariant>& p,
-  const size_t& degree,
+  // const size_t& degree,
   const std::vector<std::shared_ptr<const IBoundaryConditionDescriptor>>& bc_descriptor_list,
   const double& dt,
   const bool check = false);
diff --git a/src/scheme/RusanovEulerianCompositeSolver.cpp b/src/scheme/RusanovEulerianCompositeSolver.cpp
index ce0d8355ccc131dac963638f729ee8873063e13b..afd27e7dc6374dd30d603c82f856eb7b0797372d 100644
--- a/src/scheme/RusanovEulerianCompositeSolver.cpp
+++ b/src/scheme/RusanovEulerianCompositeSolver.cpp
@@ -738,7 +738,7 @@ class RusanovEulerianCompositeSolver
         const double& gamma,
         const DiscreteFunctionP0<const double>& c_n,
         const DiscreteFunctionP0<const double>& p_n,
-        const size_t& degree,
+        //        const size_t& degree,
         const std::vector<std::shared_ptr<const IBoundaryConditionDescriptor>>& bc_descriptor_list,
         const double& dt,
         const bool checkLocalConservation) const
@@ -784,7 +784,7 @@ class RusanovEulerianCompositeSolver
     // Conditions aux limites des etats conservatifs
 
     _applyInflowBoundaryCondition(bc_list, *p_mesh, StateAtNode, StateAtEdge, StateAtFace);
-    _applyOutflowBoundaryCondition(bc_list, *p_mesh, StateAtNode, StateAtEdge, StateAtFace);
+    //_applyOutflowBoundaryCondition(bc_list, *p_mesh, StateAtNode, StateAtEdge, StateAtFace);
     _applySymmetricBoundaryCondition(bc_list, *p_mesh, StateAtNode, StateAtEdge, StateAtFace);
     _applyWallBoundaryCondition(bc_list, *p_mesh, StateAtNode, StateAtEdge, StateAtFace);
 
@@ -2007,7 +2007,7 @@ rusanovEulerianCompositeSolver(
   const double& gamma,
   const std::shared_ptr<const DiscreteFunctionVariant>& c_v,
   const std::shared_ptr<const DiscreteFunctionVariant>& p_v,
-  const size_t& degree,
+  //  const size_t& degree,
   const std::vector<std::shared_ptr<const IBoundaryConditionDescriptor>>& bc_descriptor_list,
   const double& dt,
   const bool check)
@@ -2039,7 +2039,7 @@ rusanovEulerianCompositeSolver(
                                                                     E_v->get<DiscreteFunctionP0<const double>>(), gamma,
                                                                     c_v->get<DiscreteFunctionP0<const double>>(),
                                                                     p_v->get<DiscreteFunctionP0<const double>>(),
-                                                                    degree, bc_descriptor_list, dt, check);
+                                                                    bc_descriptor_list, dt, check);
           } else {
             throw NormalError("RusanovEulerianCompositeSolver is only defined on polygonal meshes");
           }
diff --git a/src/scheme/RusanovEulerianCompositeSolver.hpp b/src/scheme/RusanovEulerianCompositeSolver.hpp
index 9f1c131b3c80f1c0387678e053128214f6ba075a..dbfe8d16803014caa816e9a69791aaef56a8a713 100644
--- a/src/scheme/RusanovEulerianCompositeSolver.hpp
+++ b/src/scheme/RusanovEulerianCompositeSolver.hpp
@@ -22,7 +22,7 @@ rusanovEulerianCompositeSolver(
   const double& gamma,
   const std::shared_ptr<const DiscreteFunctionVariant>& c,
   const std::shared_ptr<const DiscreteFunctionVariant>& p,
-  const size_t& degree,
+  // const size_t& degree,
   const std::vector<std::shared_ptr<const IBoundaryConditionDescriptor>>& bc_descriptor_list,
   const double& dt,
   const bool check = false);
diff --git a/src/scheme/RusanovEulerianCompositeSolver_o2.cpp b/src/scheme/RusanovEulerianCompositeSolver_o2.cpp
index 35c5dec3637aba954251c8b4abeadb888b6946e6..a27926f9cba7176aec6d40f649f76f0f690a28f8 100644
--- a/src/scheme/RusanovEulerianCompositeSolver_o2.cpp
+++ b/src/scheme/RusanovEulerianCompositeSolver_o2.cpp
@@ -745,7 +745,7 @@ class RusanovEulerianCompositeSolver_o2
         const double& gamma,
         const DiscreteFunctionP0<const double>& c_n,
         const DiscreteFunctionP0<const double>& p_n,
-        const size_t& degree,
+        // const size_t& degree,
         const std::vector<std::shared_ptr<const IBoundaryConditionDescriptor>>& bc_descriptor_list,
         const double& dt,
         const bool checkLocalConservation) const
@@ -2176,7 +2176,7 @@ rusanovEulerianCompositeSolver_o2(
   const double& gamma,
   const std::shared_ptr<const DiscreteFunctionVariant>& c_v,
   const std::shared_ptr<const DiscreteFunctionVariant>& p_v,
-  const size_t& degree,
+  // const size_t& degree,
   const std::vector<std::shared_ptr<const IBoundaryConditionDescriptor>>& bc_descriptor_list,
   const double& dt,
   const bool check)
@@ -2205,7 +2205,8 @@ rusanovEulerianCompositeSolver_o2(
             return RusanovEulerianCompositeSolver_o2<MeshType>{}
               .solve(p_mesh, rho_v->get<DiscreteFunctionP0<const double>>(), u_v->get<DiscreteFunctionP0<const Rd>>(),
                      E_v->get<DiscreteFunctionP0<const double>>(), gamma, c_v->get<DiscreteFunctionP0<const double>>(),
-                     p_v->get<DiscreteFunctionP0<const double>>(), degree, bc_descriptor_list, dt, check);
+                     p_v->get<DiscreteFunctionP0<const double>>(),   // degree,
+                     bc_descriptor_list, dt, check);
           } else {
             throw NormalError("RusanovEulerianCompositeSolver_o2 is only defined on polygonal meshes");
           }
diff --git a/src/scheme/RusanovEulerianCompositeSolver_o2.hpp b/src/scheme/RusanovEulerianCompositeSolver_o2.hpp
index 228d7fd45aa6790eb6d8b1e002f2388a647d5387..a02528d158a91e72e61b783d9be880785d7e349d 100644
--- a/src/scheme/RusanovEulerianCompositeSolver_o2.hpp
+++ b/src/scheme/RusanovEulerianCompositeSolver_o2.hpp
@@ -22,7 +22,7 @@ rusanovEulerianCompositeSolver_o2(
   const double& gamma,
   const std::shared_ptr<const DiscreteFunctionVariant>& c,
   const std::shared_ptr<const DiscreteFunctionVariant>& p,
-  const size_t& degree,
+  // const size_t& degree,
   const std::vector<std::shared_ptr<const IBoundaryConditionDescriptor>>& bc_descriptor_list,
   const double& dt,
   const bool check = false);
diff --git a/src/scheme/RusanovEulerianCompositeSolver_v2.cpp b/src/scheme/RusanovEulerianCompositeSolver_v2.cpp
index c78fe14ace7c48b33a7819de4582b8b3422e8329..1f6ca8f3cdbafeefc3a6d070ae0d5fe0be16b8eb 100644
--- a/src/scheme/RusanovEulerianCompositeSolver_v2.cpp
+++ b/src/scheme/RusanovEulerianCompositeSolver_v2.cpp
@@ -737,7 +737,7 @@ class RusanovEulerianCompositeSolver_v2
         const double& gamma,
         const DiscreteFunctionP0<const double>& c_n,
         const DiscreteFunctionP0<const double>& p_n,
-        const size_t degree,
+        // const size_t degree,
         const std::vector<std::shared_ptr<const IBoundaryConditionDescriptor>>& bc_descriptor_list,
         const double& dt,
         const bool checkLocalConservation) const
@@ -1923,7 +1923,7 @@ rusanovEulerianCompositeSolver_v2(
   const double& gamma,
   const std::shared_ptr<const DiscreteFunctionVariant>& c_v,
   const std::shared_ptr<const DiscreteFunctionVariant>& p_v,
-  const size_t& degree,
+  //  const size_t& degree,
   const std::vector<std::shared_ptr<const IBoundaryConditionDescriptor>>& bc_descriptor_list,
   const double& dt,
   const bool check)
@@ -1952,7 +1952,7 @@ rusanovEulerianCompositeSolver_v2(
             return RusanovEulerianCompositeSolver_v2<MeshType>{}
               .solve(p_mesh, rho_v->get<DiscreteFunctionP0<const double>>(), u_v->get<DiscreteFunctionP0<const Rd>>(),
                      E_v->get<DiscreteFunctionP0<const double>>(), gamma, c_v->get<DiscreteFunctionP0<const double>>(),
-                     p_v->get<DiscreteFunctionP0<const double>>(), degree, bc_descriptor_list, dt, check);
+                     p_v->get<DiscreteFunctionP0<const double>>(), bc_descriptor_list, dt, check);
           } else {
             throw NormalError("RusanovEulerianCompositeSolver v2 is only defined on polygonal meshes");
           }
diff --git a/src/scheme/RusanovEulerianCompositeSolver_v2.hpp b/src/scheme/RusanovEulerianCompositeSolver_v2.hpp
index 4b5864abec0792dd829b539bcc72dbed00b4126d..834fe05e45a7d29a119fc52bff376f406fa4d785 100644
--- a/src/scheme/RusanovEulerianCompositeSolver_v2.hpp
+++ b/src/scheme/RusanovEulerianCompositeSolver_v2.hpp
@@ -22,7 +22,7 @@ rusanovEulerianCompositeSolver_v2(
   const double& gamma,
   const std::shared_ptr<const DiscreteFunctionVariant>& c,
   const std::shared_ptr<const DiscreteFunctionVariant>& p,
-  const size_t& degree,
+  // const size_t& degree,
   const std::vector<std::shared_ptr<const IBoundaryConditionDescriptor>>& bc_descriptor_list,
   const double& dt,
   const bool check = false);
diff --git a/src/scheme/RusanovEulerianCompositeSolver_v2_o2.cpp b/src/scheme/RusanovEulerianCompositeSolver_v2_o2.cpp
index 0133f85d5162f24d410d9f4a56650307b9bb1d6f..b05e33c3b8c5b7e8eb45dd13ef571aeda066c616 100644
--- a/src/scheme/RusanovEulerianCompositeSolver_v2_o2.cpp
+++ b/src/scheme/RusanovEulerianCompositeSolver_v2_o2.cpp
@@ -749,7 +749,7 @@ class RusanovEulerianCompositeSolver_v2_o2
         const double& gamma,
         const DiscreteFunctionP0<const double>& c_n,
         const DiscreteFunctionP0<const double>& p_n,
-        const size_t& degree,
+        // const size_t& degree,
         const std::vector<std::shared_ptr<const IBoundaryConditionDescriptor>>& bc_descriptor_list,
         const double& dt,
         const bool checkLocalConservation) const
@@ -2087,7 +2087,7 @@ rusanovEulerianCompositeSolver_v2_o2(
   const double& gamma,
   const std::shared_ptr<const DiscreteFunctionVariant>& c_v,
   const std::shared_ptr<const DiscreteFunctionVariant>& p_v,
-  const size_t& degree,
+  // const size_t& degree,
   const std::vector<std::shared_ptr<const IBoundaryConditionDescriptor>>& bc_descriptor_list,
   const double& dt,
   const bool check)
@@ -2116,7 +2116,8 @@ rusanovEulerianCompositeSolver_v2_o2(
             return RusanovEulerianCompositeSolver_v2_o2<MeshType>{}
               .solve(p_mesh, rho_v->get<DiscreteFunctionP0<const double>>(), u_v->get<DiscreteFunctionP0<const Rd>>(),
                      E_v->get<DiscreteFunctionP0<const double>>(), gamma, c_v->get<DiscreteFunctionP0<const double>>(),
-                     p_v->get<DiscreteFunctionP0<const double>>(), degree, bc_descriptor_list, dt, check);
+                     p_v->get<DiscreteFunctionP0<const double>>(),   // degree,
+                     bc_descriptor_list, dt, check);
           } else {
             throw NormalError("RusanovEulerianCompositeSolver v2 is only defined on polygonal meshes");
           }
diff --git a/src/scheme/RusanovEulerianCompositeSolver_v2_o2.hpp b/src/scheme/RusanovEulerianCompositeSolver_v2_o2.hpp
index d47675e74de067e7ab97aa9e24436e0cd99fa93b..69275c365893a11d832e509e72cac7e66aa01aff 100644
--- a/src/scheme/RusanovEulerianCompositeSolver_v2_o2.hpp
+++ b/src/scheme/RusanovEulerianCompositeSolver_v2_o2.hpp
@@ -22,7 +22,7 @@ rusanovEulerianCompositeSolver_v2_o2(
   const double& gamma,
   const std::shared_ptr<const DiscreteFunctionVariant>& c,
   const std::shared_ptr<const DiscreteFunctionVariant>& p,
-  const size_t& degree,
+  // const size_t& degree,
   const std::vector<std::shared_ptr<const IBoundaryConditionDescriptor>>& bc_descriptor_list,
   const double& dt,
   const bool check = false);