From 1fb0e48aabe790cc10fc9a4c1787125e163d7605 Mon Sep 17 00:00:00 2001
From: DennisGlaeser <dennis.glaeser@iws.uni-stuttgart.de>
Date: Thu, 25 Feb 2016 22:47:17 +0100
Subject: [PATCH] [Implicit] Set fluxVar container class and required props

---
 dumux/implicit/propertydefaults.hh | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/dumux/implicit/propertydefaults.hh b/dumux/implicit/propertydefaults.hh
index 93e67d7a40..6a605430bb 100644
--- a/dumux/implicit/propertydefaults.hh
+++ b/dumux/implicit/propertydefaults.hh
@@ -40,6 +40,7 @@
 #include "localjacobian.hh"
 #include "volumevariables.hh"
 #include "volumevariablesvector.hh"
+#include "fluxvariables"
 #include "fluxvariablesvector.hh"
 #include "fvelementgeometry.hh"
 
@@ -96,6 +97,29 @@ SET_TYPE_PROP(ImplicitBase, VolumeVariables, ImplicitVolumeVariables<TypeTag>);
 //! The global volume variables vector class
 SET_TYPE_PROP(ImplicitBase, VolumeVariablesVector, Dumux::VolumeVariablesVector<TypeTag>);
 
+//! Set darcy fluxes as the default fluxes to be considered
+SET_BOOL_PROP(ImplicitBase, DarcyFluxes, true);
+
+//! By default diffusive fluxes are switched off
+SET_BOOL_PROP(ImplicitBase, DiffusiveFluxes, false);
+
+//! By default energy fluxes are not considered
+SET_BOOL_PROP(ImplicitBase, EnergyFluxes, false);
+
+//! The class that contains the different flux variables (i.e. darcy, diffusion, energy)
+SET_PROP(ImplicitBase, FluxVariables)
+{
+private:
+  enum
+  {
+    darcy = GET_PROP_VALUE(TypeTag, DarcyFluxes),
+    diffusion = GET_PROP_VALUE(TypeTag, DiffusiveFluxes),
+    energy = GET_PROP_VALUE(TypeTag, EnergyFluxes)
+  };
+public:
+  typedef FluxVariables<TypeTag, darcy, diffusion, energy> type;
+}
+
 //! The global volume variables vector class
 SET_TYPE_PROP(ImplicitBase, FluxVariablesVector, Dumux::FluxVariablesVector<TypeTag>);
 
-- 
GitLab