diff --git a/dune/fem-dg/examples/advdiff/algorithmcreator.hh b/dune/fem-dg/examples/advdiff/algorithmcreator.hh
index c1f30ed34ce1a2cd3691235a30a130668f69b90a..709cd27b5396d89e9a53440093efd00c16090389 100644
--- a/dune/fem-dg/examples/advdiff/algorithmcreator.hh
+++ b/dune/fem-dg/examples/advdiff/algorithmcreator.hh
@@ -60,9 +60,10 @@ namespace Fem
                                      AdvectionLimiter::Enum::unlimited,
                                      Matrix::Enum::matrixfree,
                                      AdvectionFlux::Enum::upwind,
-                                     PrimalDiffusionFlux::Enum::cdg2,
-                                     DualDiffusionFlux::Enum::average,
-                                     Formulation::Enum::dual > AC;
+                                     PrimalDiffusionFlux::Enum::cdg2 > AC;
+      // Local DG approach
+      //                             LocalDiffusionFlux::Enum::general,
+      //                             Formulation::Enum::local > AC;
 
       typedef typename AC::GridType                         GridType;
       typedef typename AC::GridParts                        HostGridPartType;
diff --git a/dune/fem-dg/examples/advdiff/test/parameter_cmake b/dune/fem-dg/examples/advdiff/test/parameter_cmake
index a27a41f80de2f6e91ab3a6d2e2ac8c5e0f1c9832..07e1ac6f94eb32ba614356ea77cf751a3dbc0aff 100644
--- a/dune/fem-dg/examples/advdiff/test/parameter_cmake
+++ b/dune/fem-dg/examples/advdiff/test/parameter_cmake
@@ -45,5 +45,6 @@ fem.io.macroGridFile_3d: ../../grids/unitcube3.dgf
 # SOLVER
 #-------
 dgdiffusionflux.upwind: -1 -0.001
+dgdiffusionflux.method: LDG
 femdg.stepper.maxtimestep: 0.5
 paramfile: ../../parameter/paramSolver
diff --git a/dune/fem-dg/misc/algorithmcreatorselector.hh b/dune/fem-dg/misc/algorithmcreatorselector.hh
index 40f26eeff7e3f5e620773165b9c2f79eeef94013..4101304086b79d46d901dbd934c15503c4df0d73 100644
--- a/dune/fem-dg/misc/algorithmcreatorselector.hh
+++ b/dune/fem-dg/misc/algorithmcreatorselector.hh
@@ -215,7 +215,7 @@ namespace Fem
     enum class Enum
     {
       primal,
-      dual
+      local
     };
   }
 
@@ -321,7 +321,7 @@ namespace Fem
   };
 
   template< class OperatorTraits >
-  class AdvectionDiffusionOperatorSelector< OperatorTraits, Formulation::Enum::dual, AdvectionLimiter::Enum::unlimited >
+  class AdvectionDiffusionOperatorSelector< OperatorTraits, Formulation::Enum::local, AdvectionLimiter::Enum::unlimited >
   {
     static const int advection = OperatorTraits::ModelType::hasAdvection;
     static const int diffusion = OperatorTraits::ModelType::hasDiffusion;
@@ -338,7 +338,7 @@ namespace Fem
   };
 
   template< class OperatorTraits >
-  class AdvectionDiffusionOperatorSelector< OperatorTraits, Formulation::Enum::dual, AdvectionLimiter::Enum::limited >
+  class AdvectionDiffusionOperatorSelector< OperatorTraits, Formulation::Enum::local, AdvectionLimiter::Enum::limited >
   {
     static const int advection = OperatorTraits::ModelType::hasAdvection;
     static const int diffusion = OperatorTraits::ModelType::hasDiffusion;
@@ -573,19 +573,19 @@ namespace Fem
   };
 
   template< class ModelImp, class DiscreteFunctionSpaceImp,
-            PrimalDiffusionFlux::Enum diffFluxId, DualDiffusionFlux::Enum dualDiffFluxId, Formulation::Enum form >
+            PrimalDiffusionFlux::Enum diffFluxId, LocalDiffusionFlux::Enum localDiffFluxId, Formulation::Enum form >
   struct DiffusionFluxSelector;
 
-  template< class ModelImp, class DiscreteFunctionSpaceImp, PrimalDiffusionFlux::Enum diffFluxId, DualDiffusionFlux::Enum dualDiffFluxId >
-  struct DiffusionFluxSelector< ModelImp, DiscreteFunctionSpaceImp, diffFluxId, dualDiffFluxId, Formulation::Enum::primal >
+  template< class ModelImp, class DiscreteFunctionSpaceImp, PrimalDiffusionFlux::Enum diffFluxId, LocalDiffusionFlux::Enum localDiffFluxId >
+  struct DiffusionFluxSelector< ModelImp, DiscreteFunctionSpaceImp, diffFluxId, localDiffFluxId, Formulation::Enum::primal >
   {
     typedef DGPrimalDiffusionFlux< DiscreteFunctionSpaceImp, ModelImp, diffFluxId > type;
   };
 
-  template< class ModelImp, class DiscreteFunctionSpaceImp, PrimalDiffusionFlux::Enum diffFluxId, DualDiffusionFlux::Enum dualDiffFluxId >
-  struct DiffusionFluxSelector< ModelImp, DiscreteFunctionSpaceImp, diffFluxId, dualDiffFluxId, Formulation::Enum::dual >
+  template< class ModelImp, class DiscreteFunctionSpaceImp, PrimalDiffusionFlux::Enum diffFluxId, LocalDiffusionFlux::Enum localDiffFluxId >
+  struct DiffusionFluxSelector< ModelImp, DiscreteFunctionSpaceImp, diffFluxId, localDiffFluxId, Formulation::Enum::local >
   {
-    typedef DGDualDiffusionFlux< DiscreteFunctionSpaceImp, ModelImp, dualDiffFluxId > type;
+    typedef DGLocalDiffusionFlux< DiscreteFunctionSpaceImp, ModelImp, localDiffFluxId > type;
   };
 
 }
diff --git a/dune/fem-dg/misc/configurator.hh b/dune/fem-dg/misc/configurator.hh
index 54383096a6bf7e075d71d0f313413e530cdfb6c1..de3ec9b9b52c6310a71a48380ab9e191d4e939e5 100644
--- a/dune/fem-dg/misc/configurator.hh
+++ b/dune/fem-dg/misc/configurator.hh
@@ -37,7 +37,7 @@ namespace Fem
             Matrix::Enum matrixId,
             AdvectionFlux::Enum advFluxId,
             PrimalDiffusionFlux::Enum diffFluxId,
-            DualDiffusionFlux::Enum dualDiffFluxId = DualDiffusionFlux::Enum::average,
+            LocalDiffusionFlux::Enum localDiffFluxId = LocalDiffusionFlux::Enum::general,
             Formulation::Enum formId = Formulation::Enum::primal >
   class AlgorithmConfigurator
   {
@@ -66,7 +66,7 @@ namespace Fem
     template< class ModelImp, AdvectionFlux::Enum id = advFluxId >
     using AdvectionFluxes = DGAdvectionFlux< ModelImp, id >;
 
-    template< class ModelImp, class DFSpace, PrimalDiffusionFlux::Enum id = diffFluxId, DualDiffusionFlux::Enum did = dualDiffFluxId >
+    template< class ModelImp, class DFSpace, PrimalDiffusionFlux::Enum id = diffFluxId, LocalDiffusionFlux::Enum did = localDiffFluxId >
     using DiffusionFluxes = typename DiffusionFluxSelector< ModelImp, DFSpace, id, did, formId >::type;
 
     template< class DomainDFSpace,
@@ -75,12 +75,12 @@ namespace Fem
               class AnalyticalTraitsImp,
               AdvectionFlux::Enum advId = advFluxId,
               PrimalDiffusionFlux::Enum diffId = diffFluxId,
-              DualDiffusionFlux::Enum dualDiffId = dualDiffFluxId >
+              LocalDiffusionFlux::Enum localDiffId = localDiffFluxId >
     using DefaultAssembTraits = DefaultAssemblerTraits< polOrd,
                                                         AnalyticalTraitsImp,
                                                         typename SolverSelector< solverId, false, DomainDFSpace, RangeDFSpace >::LinearOperatorType,
                                                         AdvectionFluxes< typename AnalyticalTraitsImp::ModelType, advId >,
-                                                        DiffusionFluxes< typename AnalyticalTraitsImp::ModelType, DomainDFSpace, diffId, dualDiffId >,
+                                                        DiffusionFluxes< typename AnalyticalTraitsImp::ModelType, DomainDFSpace, diffId, localDiffId >,
                                                         DiscreteFunctions< DomainDFSpace >,
                                                         DiscreteFunctions< RangeDFSpace > >;
     template< class DomainDFSpace,
@@ -90,12 +90,12 @@ namespace Fem
               class AdaptationIndicatorFunctionSpaceImp = typename DomainDFSpace::FunctionSpaceType,
               AdvectionFlux::Enum advId = advFluxId,
               PrimalDiffusionFlux::Enum diffId = diffFluxId,
-              DualDiffusionFlux::Enum dualDiffId = dualDiffFluxId >
+              LocalDiffusionFlux::Enum localDiffId = localDiffFluxId >
     using DefaultOpTraits = DefaultOperatorTraits< polOrd,
                                                    AnalyticalTraitsImp,
                                                    DiscreteFunctions< DomainDFSpace >,
                                                    AdvectionFluxes< typename AnalyticalTraitsImp::ModelType, advId >,
-                                                   DiffusionFluxes< typename AnalyticalTraitsImp::ModelType, DomainDFSpace, diffId, dualDiffId >,
+                                                   DiffusionFluxes< typename AnalyticalTraitsImp::ModelType, DomainDFSpace, diffId, localDiffId >,
                                                    ExtraParameterTupleImp,
                                                    AdaptationIndicatorFunctionSpaceImp >;
 
diff --git a/dune/fem-dg/operator/fluxes/diffusion/fluxes.hh b/dune/fem-dg/operator/fluxes/diffusion/fluxes.hh
index 3a4494e5ef16124ef371349368adab1283ebbf98..5f348f518194b5af51e5c6ed9e0e34b0e1db6fed 100644
--- a/dune/fem-dg/operator/fluxes/diffusion/fluxes.hh
+++ b/dune/fem-dg/operator/fluxes/diffusion/fluxes.hh
@@ -220,15 +220,15 @@ namespace Fem
 
   template <class DiscreteFunctionSpaceImp,
             class Model,
-            DualDiffusionFlux::Enum id >
-  class DGDualDiffusionFlux;
+            LocalDiffusionFlux::Enum id >
+  class DGLocalDiffusionFlux;
 
   template <class DiscreteFunctionSpaceImp,
             class Model>
-  class DGDualDiffusionFlux<  DiscreteFunctionSpaceImp, Model, DualDiffusionFlux::Enum::average >
-    : public LDGDiffusionFluxImpl< DiscreteFunctionSpaceImp, Model, DGDualDiffusionFluxParameters >
+  class DGLocalDiffusionFlux<  DiscreteFunctionSpaceImp, Model, LocalDiffusionFlux::Enum::br1 >
+    : public LDGDiffusionFluxImpl< DiscreteFunctionSpaceImp, Model, DGLocalDiffusionFluxParameters >
   {
-    typedef LDGDiffusionFluxImpl< DiscreteFunctionSpaceImp, Model, DGDualDiffusionFluxParameters >
+    typedef LDGDiffusionFluxImpl< DiscreteFunctionSpaceImp, Model, DGLocalDiffusionFluxParameters >
       BaseType;
 
   public:
@@ -239,20 +239,20 @@ namespace Fem
     /**
       * \brief constructor reading parameters
       */
-    DGDualDiffusionFlux( GridPartType& gridPart,
+    DGLocalDiffusionFlux( GridPartType& gridPart,
                            const Model& model,
                            const ParameterType& parameters = ParameterType() )
-      : BaseType( gridPart, model, parameters, DualDiffusionFlux::Enum::average )
+      : BaseType( gridPart, model, parameters, LocalDiffusionFlux::Enum::br1 )
     {
     }
   };
 
   template <class DiscreteFunctionSpaceImp,
             class Model>
-  class DGDualDiffusionFlux<  DiscreteFunctionSpaceImp, Model, DualDiffusionFlux::Enum::ldg >
-    : public LDGDiffusionFluxImpl< DiscreteFunctionSpaceImp, Model, DGDualDiffusionFluxParameters >
+  class DGLocalDiffusionFlux<  DiscreteFunctionSpaceImp, Model, LocalDiffusionFlux::Enum::ldg >
+    : public LDGDiffusionFluxImpl< DiscreteFunctionSpaceImp, Model, DGLocalDiffusionFluxParameters >
   {
-    typedef LDGDiffusionFluxImpl< DiscreteFunctionSpaceImp, Model, DGDualDiffusionFluxParameters >
+    typedef LDGDiffusionFluxImpl< DiscreteFunctionSpaceImp, Model, DGLocalDiffusionFluxParameters >
       BaseType;
 
   public:
@@ -263,20 +263,20 @@ namespace Fem
     /**
       * \brief constructor reading parameters
       */
-    DGDualDiffusionFlux( GridPartType& gridPart,
+    DGLocalDiffusionFlux( GridPartType& gridPart,
                          const Model& model,
                          const ParameterType& parameters = ParameterType() )
-      : BaseType( gridPart, model, parameters, DualDiffusionFlux::Enum::ldg )
+      : BaseType( gridPart, model, parameters, LocalDiffusionFlux::Enum::ldg )
     {
     }
   };
 
   template <class DiscreteFunctionSpaceImp,
             class Model>
-  class DGDualDiffusionFlux<  DiscreteFunctionSpaceImp, Model, DualDiffusionFlux::Enum::general >
-    : public LDGDiffusionFluxImpl< DiscreteFunctionSpaceImp, Model, DGDualDiffusionFluxParameters >
+  class DGLocalDiffusionFlux<  DiscreteFunctionSpaceImp, Model, LocalDiffusionFlux::Enum::general >
+    : public LDGDiffusionFluxImpl< DiscreteFunctionSpaceImp, Model, DGLocalDiffusionFluxParameters >
   {
-    typedef LDGDiffusionFluxImpl< DiscreteFunctionSpaceImp, Model, DGDualDiffusionFluxParameters >
+    typedef LDGDiffusionFluxImpl< DiscreteFunctionSpaceImp, Model, DGLocalDiffusionFluxParameters >
       BaseType;
 
   public:
@@ -287,10 +287,10 @@ namespace Fem
     /**
       * \brief constructor reading parameters
       */
-    DGDualDiffusionFlux( GridPartType& gridPart,
+    DGLocalDiffusionFlux( GridPartType& gridPart,
                          const Model& model,
                          const ParameterType& parameters = ParameterType() )
-      : BaseType( gridPart, model, parameters, DualDiffusionFlux::Enum::general )
+      : BaseType( gridPart, model, parameters, LocalDiffusionFlux::Enum::general )
     {
     }
   };
diff --git a/dune/fem-dg/operator/fluxes/diffusion/parameters.hh b/dune/fem-dg/operator/fluxes/diffusion/parameters.hh
index 6605282a08aa91b9e97f03d199ebb3c41ee9514c..b2b53abd47a798607f6fa45d49275886e2754e7e 100644
--- a/dune/fem-dg/operator/fluxes/diffusion/parameters.hh
+++ b/dune/fem-dg/operator/fluxes/diffusion/parameters.hh
@@ -47,7 +47,7 @@ namespace Fem
 
   }
 
-  namespace DualDiffusionFlux
+  namespace LocalDiffusionFlux
   {
     /**
      * \brief Enum of all known local DG diffusion flux implementations.
@@ -57,15 +57,15 @@ namespace Fem
     enum class Enum
     {
       //! Bassi-Rebay flux.
-      average,
+      br1,
       //! Local DG flux.
       ldg,
       //! general flux: Parameter selection is done via parameter file!
-      general,
+      general
     };
 
     //! Contains all known enums for dual diffusion fluxes which can be chosen via parameter file.
-    const Enum        _enums[] = { Enum::average, Enum::ldg };
+    const Enum        _enums[] = { Enum::br1, Enum::ldg };
     //! Contains all known names of dual diffusion fluxes which can be chosen via parameter file.
     const std::string _strings[] = { "BR1", "LDG" };
     //! Number of known primal diffusion fluxes which can be chosen via parameter file.
@@ -210,18 +210,18 @@ namespace Fem
    *
    * \ingroup ParameterClass
    */
-  class DGDualDiffusionFluxParameters
-    : public Fem::LocalParameter< DGDualDiffusionFluxParameters, DGDualDiffusionFluxParameters >
+  class DGLocalDiffusionFluxParameters
+    : public Fem::LocalParameter< DGLocalDiffusionFluxParameters, DGLocalDiffusionFluxParameters >
   {
   public:
-    typedef DualDiffusionFlux::Enum           IdEnum;
+    typedef LocalDiffusionFlux::Enum           IdEnum;
 
     /**
      * \brief Constructor
      *
      * \param[in] keyPrefix key prefix for parameter file.
      */
-    DGDualDiffusionFluxParameters( const std::string keyPrefix = "dgdiffusionflux." )
+    DGLocalDiffusionFluxParameters( const std::string keyPrefix = "dgdiffusionflux." )
       : keyPrefix_( keyPrefix )
     {}
 
@@ -233,9 +233,9 @@ namespace Fem
      */
     static std::string methodNames( const IdEnum& mthd )
     {
-      for( int i = 0; i < DualDiffusionFlux::_size; i++)
-        if( DualDiffusionFlux::_enums[i] == mthd )
-          return DualDiffusionFlux::_strings[i];
+      for( int i = 0; i < LocalDiffusionFlux::_size; i++)
+        if( LocalDiffusionFlux::_enums[i] == mthd )
+          return LocalDiffusionFlux::_strings[i];
       assert( false );
       return "invalid diffusion flux";
     }
@@ -245,8 +245,8 @@ namespace Fem
      */
     virtual IdEnum getMethod() const
     {
-      const int i = Fem::Parameter::getEnum( keyPrefix_ + "method", DualDiffusionFlux::_strings );
-      return DualDiffusionFlux::_enums[i];
+      const int i = Fem::Parameter::getEnum( keyPrefix_ + "method", LocalDiffusionFlux::_strings );
+      return LocalDiffusionFlux::_enums[i];
     }
 
     //! todo please doc me