diff --git a/dumux/common/properties.hh b/dumux/common/properties.hh index 5b79cae1e2e6bbd18de694e8887539754146c77a..cb03e8348de6ba7a5988adbebbd6b9a33283ba84 100644 --- a/dumux/common/properties.hh +++ b/dumux/common/properties.hh @@ -157,5 +157,23 @@ NEW_PROP_TAG(EvaluatePermeabilityAtScvfIP); NEW_PROP_TAG(Chemistry); //!< The chemistry class with which solves equlibrium reactions NEW_PROP_TAG(NumMajorComponents); //!< Number of major fluid components which are considered in the calculation of the phase density NEW_PROP_TAG(SetMoleFractionsForWettingPhase); //!< Set the mole fraction in the wetting or non-wetting phase + +///////////////////////////////////////////////////////////// +// Properties used by the staggered-grid discretization method +///////////////////////////////////////////////////////////// +NEW_PROP_TAG(NumEqCellCenter); //! The number of equations for cell-centered dofs +NEW_PROP_TAG(NumEqFace); //! The number of equations for face dofs +NEW_PROP_TAG(CellCenterSolutionVector); //! The solution vector type for cell-centered dofs +NEW_PROP_TAG(FaceSolutionVector); //! The solution vector type for face dofs +NEW_PROP_TAG(GlobalFaceVars); //! Class containing face-related data +NEW_PROP_TAG(CellCenterPrimaryVariables); //! The primary variables container type for cell-centered dofs +NEW_PROP_TAG(FacePrimaryVariables); //! The primary variables container type for face dofs +NEW_PROP_TAG(IntersectionMapper); //! Specifies the intersection mapper +NEW_PROP_TAG(DofTypeIndices); //! Specifies index types for accessing the multi type block vectors/matrices +NEW_PROP_TAG(StaggeredGeometryHelper); //! Specifies a helper class for the staggered grid geometry +NEW_PROP_TAG(StaggeredPrimaryVariables); //! The hybrid primary variables container type +NEW_PROP_TAG(BaseEpsilon); //! A base epsilon for numerical differentiation, can contain multiple values +NEW_PROP_TAG(FaceVariables); //! Class containing local face-related data +NEW_PROP_TAG(BoundaryValues); //! Class containing local boundary data } } diff --git a/dumux/discretization/staggered/properties.hh b/dumux/discretization/staggered/properties.hh index 079b85b8daa83677cff822b0ef8e07bb011298b8..31cfc7c12c65583e5bb46e82f27a9cecbc9e34a3 100644 --- a/dumux/discretization/staggered/properties.hh +++ b/dumux/discretization/staggered/properties.hh @@ -51,6 +51,8 @@ #include <dune/istl/multitypeblockvector.hh> #include <dune/istl/multitypeblockmatrix.hh> +#include <dumux/linear/linearsolverproperties.hh> + namespace Dumux { @@ -67,7 +69,7 @@ NEW_PROP_TAG(ElementFaceVariables); NEW_PROP_TAG(EnableGlobalFaceVariablesCache); //! Type tag for the box scheme. -NEW_TYPE_TAG(StaggeredModel, INHERITS_FROM(FiniteVolumeModel, NumericModel)); +NEW_TYPE_TAG(StaggeredModel, INHERITS_FROM(FiniteVolumeModel, NumericModel, LinearSolverTypeTag)); //! Set the corresponding discretization method property SET_PROP(StaggeredModel, DiscretizationMethod) diff --git a/dumux/freeflow/staggered/properties.hh b/dumux/freeflow/staggered/properties.hh index d7b51e269cb6bb10d79d4fb7486265a142392cf1..df88601308d6a5ece4e2b3e51a0ad74da00a7f21 100644 --- a/dumux/freeflow/staggered/properties.hh +++ b/dumux/freeflow/staggered/properties.hh @@ -28,7 +28,6 @@ #define DUMUX_NAVIERSTOKES_PROPERTIES_HH #include <dumux/common/basicproperties.hh> -#include <dumux/linear/linearsolverproperties.hh> #include <dumux/freeflow/properties.hh> #include <dumux/freeflow/staggeredni/properties.hh> @@ -65,7 +64,7 @@ namespace Properties { ////////////////////////////////////////////////////////////////// //! The type tags for the implicit single-phase problems -NEW_TYPE_TAG(NavierStokes, INHERITS_FROM(FreeFlow, LinearSolverTypeTag)); +NEW_TYPE_TAG(NavierStokes, INHERITS_FROM(FreeFlow)); //! The type tags for the corresponding non-isothermal problems NEW_TYPE_TAG(NavierStokesNI, INHERITS_FROM(NavierStokes, NavierStokesNonIsothermal)); diff --git a/dumux/implicit/staggered/newtoncontroller.hh b/dumux/implicit/staggered/newtoncontroller.hh index 2cf09627ea847e10b084877725306592ee47b905..520e4632d6d6a04631b31d8b011835527f53a5ba 100644 --- a/dumux/implicit/staggered/newtoncontroller.hh +++ b/dumux/implicit/staggered/newtoncontroller.hh @@ -37,16 +37,6 @@ namespace Dumux { -// namespace Properties -// { -// SET_PROP(StaggeredModel, LinearSolverBlockSize) -// { -// // LinearSolverAcceptsMultiTypeMatrix<T>::value -// // TODO: make somehow dependend? or only relevant for direct solvers? -// public: -// static constexpr auto value = 1; -// }; -// }TODO: why not possible here? /*! * \ingroup PNMModel * \brief A PNM specific controller for the newton solver.