diff --git a/dumux/experimental/assembly/cclocalassembler.hh b/dumux/experimental/assembly/cclocalassembler.hh index 80a1b79bf04a1558d1957a6c76e16cabe31337c1..ea58dfcf7dbaa24bbccfd59195c9c39e6023e837 100644 --- a/dumux/experimental/assembly/cclocalassembler.hh +++ b/dumux/experimental/assembly/cclocalassembler.hh @@ -29,6 +29,7 @@ #include <dumux/discretization/fluxstencil.hh> #include <dumux/discretization/cellcentered/elementsolution.hh> +#include <dumux/experimental/common/typetraits/typetraits.hh> #include <dumux/experimental/assembly/fvlocalassemblerbase.hh> namespace Dumux::Experimental { @@ -36,12 +37,6 @@ namespace Dumux::Experimental { #ifndef DOXYGEN namespace Detail::CC { -struct NoOperator -{ - template<class... Args> - constexpr void operator()(Args&&...) const {} -}; - template<class X, class Y> using Impl = std::conditional_t<!std::is_same_v<X, void>, X, Y>; @@ -75,12 +70,12 @@ public: using ParentType::ParentType; - template <class ResidualVector, class StageParams, class PartialReassembler = DefaultPartialReassembler, class CouplingFunction = Detail::CC::NoOperator> + template <class ResidualVector, class StageParams, class PartialReassembler = DefaultPartialReassembler, class CouplingFunction = Noop> void assembleJacobianAndResidual(JacobianMatrix& jac, ResidualVector& res, GridVariables& gridVariables, const StageParams& stageParams, ResidualVector& temporal, ResidualVector& spatial, ResidualVector& constrainedDofs, const PartialReassembler* partialReassembler = nullptr, - const CouplingFunction& maybeAssembleCouplingBlocks = {}) + const CouplingFunction& maybeAssembleCouplingBlocks = noop) { this->asImp_().bindLocalViews(); const auto globalI = this->fvGeometry().gridGeometry().elementMapper().index(this->element()); diff --git a/dumux/experimental/assembly/cvfelocalassembler.hh b/dumux/experimental/assembly/cvfelocalassembler.hh index 7c58d0115af9d3e30d4d852e841802dc1925820e..bec9d86816b9f43bfb3d2b2a012ec31a9078cc19 100644 --- a/dumux/experimental/assembly/cvfelocalassembler.hh +++ b/dumux/experimental/assembly/cvfelocalassembler.hh @@ -26,6 +26,7 @@ #include <dumux/assembly/numericepsilon.hh> #include <dumux/assembly/diffmethod.hh> +#include <dumux/experimental/common/typetraits/typetraits.hh> #include <dumux/experimental/assembly/fvlocalassemblerbase.hh> #include <dumux/assembly/partialreassembler.hh> #include <dumux/assembly/entitycolor.hh> @@ -39,12 +40,6 @@ namespace Dumux::Experimental { #ifndef DOXYGEN namespace Detail::CVFE { -struct NoOperator -{ - template<class... Args> - constexpr void operator()(Args&&...) const {} -}; - template<class X, class Y> using Impl = std::conditional_t<!std::is_same_v<X, void>, X, Y>; @@ -90,12 +85,12 @@ public: * \brief Computes the derivatives with respect to the given element and adds them * to the global matrix. The element residual is written into the right hand side. */ - template <class ResidualVector, class StageParams, class PartialReassembler = DefaultPartialReassembler, class CouplingFunction = Detail::CVFE::NoOperator> + template <class ResidualVector, class StageParams, class PartialReassembler = DefaultPartialReassembler, class CouplingFunction = Noop> void assembleJacobianAndResidual(JacobianMatrix& jac, ResidualVector& res, GridVariables& gridVariables, const StageParams& stageParams, ResidualVector& temporal, ResidualVector& spatial, ResidualVector& constrainedDofs, const PartialReassembler* partialReassembler = nullptr, - const CouplingFunction& maybeAssembleCouplingBlocks = {}) + const CouplingFunction& maybeAssembleCouplingBlocks = noop) { this->asImp_().bindLocalViews(); const auto eIdxGlobal = this->asImp_().problem().gridGeometry().elementMapper().index(this->element());