diff --git a/dumux/discretization/cellcentered/mpfa/dualgridindexset.hh b/dumux/discretization/cellcentered/mpfa/dualgridindexset.hh index e1e537e93bf0a9b2a8d68c4a68bd3f21055b407e..64802261dc9a22e9bdfe47a4d434c71a52b47120 100644 --- a/dumux/discretization/cellcentered/mpfa/dualgridindexset.hh +++ b/dumux/discretization/cellcentered/mpfa/dualgridindexset.hh @@ -136,19 +136,24 @@ public: } //! returns the number of scvs around the node - std::size_t numScvs() const { return scvIndices_.size(); } + std::size_t numScvs() const + { return scvIndices_.size(); } //! returns the number of scvfs around the node - std::size_t numScvfs() const { return scvfIndices_.size(); } + std::size_t numScvfs() const + { return scvfIndices_.size(); } //! returns the number of boundary scvfs around the node - std::size_t numBoundaryScvfs() const { return numBoundaryScvfs_; } + std::size_t numBoundaryScvfs() const + { return numBoundaryScvfs_; } //! returns the grid scv indices connected to this dual grid node - const NodalGridStencilType& globalScvIndices() const { return scvIndices_; } + const NodalGridStencilType& globalScvIndices() const + { return scvIndices_; } //! returns the grid scvf indices connected to this dual grid node - const NodalGridScvfStencilType& globalScvfIndices() const { return scvfIndices_; } + const NodalGridScvfStencilType& globalScvfIndices() const + { return scvfIndices_; } //! returns whether or not the i-th scvf is on a domain boundary bool scvfIsOnBoundary(unsigned int i) const @@ -222,7 +227,9 @@ public: //! Constructor taking a grid view template< class GridView > - CCMpfaDualGridIndexSet(const GridView& gridView) : nodalIndexSets_(gridView.size(GridView::dimension)) {} + CCMpfaDualGridIndexSet(const GridView& gridView) + : nodalIndexSets_(gridView.size(GridView::dimension)) + {} //! Access with an scvf template< class SubControlVolumeFace > @@ -234,8 +241,11 @@ public: { return nodalIndexSets_[scvf.vertexIndex()]; } //! Access with an index - const NodalIndexSet& operator[] (GridIndexType i) const { return nodalIndexSets_[i]; } - NodalIndexSet& operator[] (GridIndexType i) { return nodalIndexSets_[i]; } + const NodalIndexSet& operator[] (GridIndexType i) const + { return nodalIndexSets_[i]; } + + NodalIndexSet& operator[] (GridIndexType i) + { return nodalIndexSets_[i]; } private: std::vector<NodalIndexSet> nodalIndexSets_; diff --git a/dumux/discretization/cellcentered/mpfa/fvgridgeometry.hh b/dumux/discretization/cellcentered/mpfa/fvgridgeometry.hh index 80a8cf99e0a0f52ae3b656da117f87274e32acc1..46e7f5df1ce7760a82df85468b98fb7289416c82 100644 --- a/dumux/discretization/cellcentered/mpfa/fvgridgeometry.hh +++ b/dumux/discretization/cellcentered/mpfa/fvgridgeometry.hh @@ -118,25 +118,32 @@ public: //! the element mapper is the dofMapper //! this is convenience to have better chance to have the same main files for box/tpfa/mpfa... - const DofMapper& dofMapper() const { return this->elementMapper(); } + const DofMapper& dofMapper() const + { return this->elementMapper(); } //! The total number of sub control volumes - std::size_t numScv() const { return scvs_.size(); } + std::size_t numScv() const + { return scvs_.size(); } //! The total number of sub control volume faces - std::size_t numScvf() const { return scvfs_.size(); } + std::size_t numScvf() const + { return scvfs_.size(); } //! The total number of boundary sub control volume faces - std::size_t numBoundaryScvf() const { return numBoundaryScvf_; } + std::size_t numBoundaryScvf() const + { return numBoundaryScvf_; } //! The total number of degrees of freedom - std::size_t numDofs() const { return this->gridView().size(0); } + std::size_t numDofs() const + { return this->gridView().size(0); } //! Get an element from a global element index - Element element(GridIndexType eIdx) const { return this->elementMap()[eIdx]; } + Element element(GridIndexType eIdx) const + { return this->elementMap()[eIdx]; } //! Get an element from a sub control volume contained in it - Element element(const SubControlVolume& scv) const { return this->elementMap()[scv.elementIndex()]; } + Element element(const SubControlVolume& scv) const + { return this->elementMap()[scv.elementIndex()]; } //! Returns true if secondary interaction volumes are used around a given vertex (index). //! This specialization is enabled if the use of secondary interaction volumes is active. @@ -343,26 +350,33 @@ public: } //! Returns instance of the mpfa helper type - MpfaHelper mpfaHelper() const { return MpfaHelper(); } + MpfaHelper mpfaHelper() const + { return MpfaHelper(); } //! Get a sub control volume with a global scv index - const SubControlVolume& scv(GridIndexType scvIdx) const { return scvs_[scvIdx]; } + const SubControlVolume& scv(GridIndexType scvIdx) const + { return scvs_[scvIdx]; } //! Get a sub control volume face with a global scvf index - const SubControlVolumeFace& scvf(GridIndexType scvfIdx) const { return scvfs_[scvfIdx]; } + const SubControlVolumeFace& scvf(GridIndexType scvfIdx) const + { return scvfs_[scvfIdx]; } //! Returns the connectivity map of which dofs //! have derivatives with respect to a given dof. - const ConnectivityMap& connectivityMap() const { return connectivityMap_; } + const ConnectivityMap& connectivityMap() const + { return connectivityMap_; } //! Returns the grid interaction volume index set class. - const GridIVIndexSets& gridInteractionVolumeIndexSets() const { return ivIndexSets_; } + const GridIVIndexSets& gridInteractionVolumeIndexSets() const + { return ivIndexSets_; } //! Get the sub control volume face indices of an scv by global index - const std::vector<GridIndexType>& scvfIndicesOfScv(GridIndexType scvIdx) const { return scvfIndicesOfScv_[scvIdx]; } + const std::vector<GridIndexType>& scvfIndicesOfScv(GridIndexType scvIdx) const + { return scvfIndicesOfScv_[scvIdx]; } //! Returns the flip scvf index set - const FlipScvfIndexSet& flipScvfIndexSet() const { return flipScvfIndices_; } + const FlipScvfIndexSet& flipScvfIndexSet() const + { return flipScvfIndices_; } //! Get the scvf on the same face but from the other side //! Note that e.g. the normals might be different in the case of surface grids @@ -467,22 +481,28 @@ public: { return this->elementMapper(); } //! Returns the total number of sub control volumes. - std::size_t numScv() const { return numScvs_; } + std::size_t numScv() const + { return numScvs_; } //! Returns the total number of sub control volume faces. - std::size_t numScvf() const { return numScvf_; } + std::size_t numScvf() const + { return numScvf_; } //! Returns the number of scvfs on the domain boundary. - std::size_t numBoundaryScvf() const { return numBoundaryScvf_; } + std::size_t numBoundaryScvf() const + { return numBoundaryScvf_; } //! Returns the total number of degrees of freedom. - std::size_t numDofs() const { return this->gridView().size(0); } + std::size_t numDofs() const + { return this->gridView().size(0); } //! Gets an element from a global element index. - Element element(GridIndexType eIdx) const { return this->elementMap()[eIdx]; } + Element element(GridIndexType eIdx) const + { return this->elementMap()[eIdx]; } //! Gets an element from a sub control volume contained in it. - Element element(const SubControlVolume& scv) const { return this->elementMap()[scv.elementIndex()]; } + Element element(const SubControlVolume& scv) const + { return this->elementMap()[scv.elementIndex()]; } //! Returns true if secondary interaction volumes are used around a given vertex (index). //! This specialization is enabled if the use of secondary interaction volumes is active. @@ -496,10 +516,12 @@ public: constexpr bool vertexUsesSecondaryInteractionVolume(GridIndexType vIdxGlobal) const { return false; } //! Returns true if a given vertex lies on a processor boundary inside a ghost element. - bool isGhostVertex(const Vertex& v) const { return isGhostVertex_[this->vertexMapper().index(v)]; } + bool isGhostVertex(const Vertex& v) const + { return isGhostVertex_[this->vertexMapper().index(v)]; } //! Returns true if the vertex (index) lies on a processor boundary inside a ghost element. - bool isGhostVertex(GridIndexType vIdxGlobal) const { return isGhostVertex_[vIdxGlobal]; } + bool isGhostVertex(GridIndexType vIdxGlobal) const + { return isGhostVertex_[vIdxGlobal]; } //! Updates all finite volume geometries of the grid. Has to be called again after grid adaption. void update() @@ -685,7 +707,8 @@ public: } //! Returns instance of the mpfa helper type - MpfaHelper mpfaHelper() const { return MpfaHelper(); } + MpfaHelper mpfaHelper() const + { return MpfaHelper(); } //! Returns the sub control volume face indices of an scv by global index. const std::vector<GridIndexType>& scvfIndicesOfScv(GridIndexType scvIdx) const @@ -701,14 +724,17 @@ public: { return flipScvfIndices_[scvfIdx][outsideScvfIdx]; } //! Returns the flip scvf index set - const FlipScvfIndexSet& flipScvfIndexSet() const { return flipScvfIndices_; } + const FlipScvfIndexSet& flipScvfIndexSet() const + { return flipScvfIndices_; } //! Returns the connectivity map of which dofs //! have derivatives with respect to a given dof. - const ConnectivityMap& connectivityMap() const { return connectivityMap_; } + const ConnectivityMap& connectivityMap() const + { return connectivityMap_; } //! Returns the grid interaction volume seeds class. - const GridIVIndexSets& gridInteractionVolumeIndexSets() const { return ivIndexSets_; } + const GridIVIndexSets& gridInteractionVolumeIndexSets() const + { return ivIndexSets_; } private: // connectivity map for efficient assembly diff --git a/dumux/discretization/cellcentered/mpfa/interactionvolumebase.hh b/dumux/discretization/cellcentered/mpfa/interactionvolumebase.hh index 81783f744575c012309b49d3ad7fc1ab55cd5277..fc14cadc8a0d00dabbdfb24a103aeae7fc61bfb8 100644 --- a/dumux/discretization/cellcentered/mpfa/interactionvolumebase.hh +++ b/dumux/discretization/cellcentered/mpfa/interactionvolumebase.hh @@ -89,16 +89,20 @@ public: { asImp().setUpLocalScope(); } //! returns the number of "primary" scvfs of this interaction volume - std::size_t numFaces() const { return asImp().numFaces(); } + std::size_t numFaces() const + { return asImp().numFaces(); } //! returns the number of intermediate unknowns within this interaction volume - std::size_t numUnknowns() const { return asImp().numUnknowns(); } + std::size_t numUnknowns() const + { return asImp().numUnknowns(); } //! returns the number of (in this context) known solution values within this interaction volume - std::size_t numKnowns() const { return asImp().numKnowns(); } + std::size_t numKnowns() const + { return asImp().numKnowns(); } //! returns the number of scvs embedded in this interaction volume - std::size_t numScvs() const { return asImp().numScvs(); } + std::size_t numScvs() const + { return asImp().numScvs(); } //! Returns a reference to the container with the local face data. The actual type of //! the container depends on the interaction volume implementation. At this point we throw @@ -107,20 +111,25 @@ public: { DUNE_THROW(Dune::NotImplemented, "Interaction volume implementation does not provide a localFaceData() funtion"); } //! returns the cell-stencil of this interaction volume - const NodalStencilType& stencil() const { return asImp().stencil(); } + const NodalStencilType& stencil() const + { return asImp().stencil(); } //! returns the local scvf entity corresponding to a given iv-local scvf idx - const LocalScvfType& localScvf(LocalIndexType ivLocalScvfIdx) const { return asImp().localScvf(ivLocalScvfIdx); } + const LocalScvfType& localScvf(LocalIndexType ivLocalScvfIdx) const + { return asImp().localScvf(ivLocalScvfIdx); } //! returns the local scv entity corresponding to a given iv-local scv idx - const LocalScvType& localScv(LocalIndexType ivLocalScvIdx) const { return asImp().localScv(ivLocalScvIdx); } + const LocalScvType& localScv(LocalIndexType ivLocalScvIdx) const + { return asImp().localScv(ivLocalScvIdx); } //! returns the element in which the scv with the given local idx is embedded in - const Element& element(LocalIndexType ivLocalScvIdx) const { return asImp().element(); } + const Element& element(LocalIndexType ivLocalScvIdx) const + { return asImp().element(); } //! returns the number of interaction volumes living around a vertex template< class NodalIndexSet > - static std::size_t numIVAtVertex(const NodalIndexSet& nodalIndexSet) { return Impl::numIVAtVertex(nodalIndexSet); } + static std::size_t numIVAtVertex(const NodalIndexSet& nodalIndexSet) + { return Impl::numIVAtVertex(nodalIndexSet); } //! adds the iv index sets living around a vertex to a given container //! and stores the the corresponding index in a map for each scvf diff --git a/dumux/discretization/cellcentered/mpfa/omethod/interactionvolume.hh b/dumux/discretization/cellcentered/mpfa/omethod/interactionvolume.hh index 7549c2447956bc675a8198a0b0bab0d990dd705d..d5fa3020cf860ae94e957638c064228520873a11 100644 --- a/dumux/discretization/cellcentered/mpfa/omethod/interactionvolume.hh +++ b/dumux/discretization/cellcentered/mpfa/omethod/interactionvolume.hh @@ -258,34 +258,44 @@ public: } //! returns the number of primary scvfs of this interaction volume - std::size_t numFaces() const { return numFaces_; } + std::size_t numFaces() const + { return numFaces_; } //! returns the number of intermediate unknowns within this interaction volume - std::size_t numUnknowns() const { return numUnknowns_; } + std::size_t numUnknowns() const + { return numUnknowns_; } //! returns the number of (in this context) known solution values within this interaction volume - std::size_t numKnowns() const { return numKnowns_; } + std::size_t numKnowns() const + { return numKnowns_; } //! returns the number of scvs embedded in this interaction volume - std::size_t numScvs() const { return scvs_.size(); } + std::size_t numScvs() const + { return scvs_.size(); } //! returns the cell-stencil of this interaction volume - const Stencil& stencil() const { return *stencil_; } + const Stencil& stencil() const + { return *stencil_; } //! returns the grid element corresponding to a given iv-local scv idx - const Element& element(LocalIndexType ivLocalScvIdx) const { return elements_[ivLocalScvIdx]; } + const Element& element(LocalIndexType ivLocalScvIdx) const + { return elements_[ivLocalScvIdx]; } //! returns the local scvf entity corresponding to a given iv-local scvf idx - const LocalScvfType& localScvf(LocalIndexType ivLocalScvfIdx) const { return scvfs_[ivLocalScvfIdx]; } + const LocalScvfType& localScvf(LocalIndexType ivLocalScvfIdx) const + { return scvfs_[ivLocalScvfIdx]; } //! returns the local scv entity corresponding to a given iv-local scv idx - const LocalScvType& localScv(LocalIndexType ivLocalScvIdx) const { return scvs_[ivLocalScvIdx]; } + const LocalScvType& localScv(LocalIndexType ivLocalScvIdx) const + { return scvs_[ivLocalScvIdx]; } //! returns a reference to the container with the local face data - const std::vector<LocalFaceData>& localFaceData() const { return localFaceData_; } + const std::vector<LocalFaceData>& localFaceData() const + { return localFaceData_; } //! returns a reference to the information container on Dirichlet BCs within this iv - const std::vector<DirichletData>& dirichletData() const { return dirichletData_; } + const std::vector<DirichletData>& dirichletData() const + { return dirichletData_; } //! returns the matrix associated with face unknowns in local equation system const AMatrix& A() const { return A_; } diff --git a/dumux/discretization/cellcentered/mpfa/omethod/interactionvolumeindexset.hh b/dumux/discretization/cellcentered/mpfa/omethod/interactionvolumeindexset.hh index 51894f6ce22f42b0c708117f76a06b45fe062243..2ab9082e1da9bf531957191ab3eab76267a16830 100644 --- a/dumux/discretization/cellcentered/mpfa/omethod/interactionvolumeindexset.hh +++ b/dumux/discretization/cellcentered/mpfa/omethod/interactionvolumeindexset.hh @@ -122,16 +122,20 @@ public: } //! returns the corresponding nodal index set - const NodalIndexSet& nodalIndexSet() const { return nodalIndexSet_; } + const NodalIndexSet& nodalIndexSet() const + { return nodalIndexSet_; } //! returns the global scv indices connected to this dual grid node - const NodalGridStencilType& globalScvIndices() const { return nodalIndexSet_.globalScvIndices(); } + const NodalGridStencilType& globalScvIndices() const + { return nodalIndexSet_.globalScvIndices(); } //! returns the number of faces in the interaction volume - std::size_t numFaces() const { return numFaces_; } + std::size_t numFaces() const + { return numFaces_; } //! returns the number of scvs in the interaction volume - std::size_t numScvs() const { return nodalIndexSet_.numScvs(); } + std::size_t numScvs() const + { return nodalIndexSet_.numScvs(); } //! returns a global scvf idx for a given iv-local scvf index GridIndexType scvfIdxGlobal(LocalIndexType ivLocalScvfIdx) const diff --git a/dumux/discretization/cellcentered/mpfa/omethod/localsubcontrolentities.hh b/dumux/discretization/cellcentered/mpfa/omethod/localsubcontrolentities.hh index 510ace43c52a0393a4acfa1003eb7d3482409b6a..bdb6c9b39b783cfcef9b65b741581b438efefcb2 100644 --- a/dumux/discretization/cellcentered/mpfa/omethod/localsubcontrolentities.hh +++ b/dumux/discretization/cellcentered/mpfa/omethod/localsubcontrolentities.hh @@ -94,13 +94,16 @@ public: } //! detX is needed for setting up the omegas in the interaction volumes - ctype detX() const { return detX_; } + ctype detX() const + { return detX_; } //! grid view-global index related to this scv - GridIndexType globalScvIndex() const { return globalScvIndex_; } + GridIndexType globalScvIndex() const + { return globalScvIndex_; } //! returns the index in the set of cell unknowns of the iv - LocalIndexType localDofIndex() const { return localDofIndex_; } + LocalIndexType localDofIndex() const + { return localDofIndex_; } //! iv-local index of the coordir's scvf in this scv LocalIndexType scvfIdxLocal(unsigned int coordDir) const diff --git a/dumux/discretization/cellcentered/mpfa/omethod/staticinteractionvolume.hh b/dumux/discretization/cellcentered/mpfa/omethod/staticinteractionvolume.hh index 7456191a3568c08f0be1eab130904c03ca59992c..dec48f6ba8af3e9cb05617c066071b5bf5cb5e16 100644 --- a/dumux/discretization/cellcentered/mpfa/omethod/staticinteractionvolume.hh +++ b/dumux/discretization/cellcentered/mpfa/omethod/staticinteractionvolume.hh @@ -216,35 +216,45 @@ public: } //! returns the number of primary scvfs of this interaction volume - static constexpr std::size_t numFaces() { return numScvf; } + static constexpr std::size_t numFaces() + { return numScvf; } //! returns the number of intermediate unknowns within this interaction volume - static constexpr std::size_t numUnknowns() { return numScvf; } + static constexpr std::size_t numUnknowns() + { return numScvf; } //! returns the number of (in this context) known solution values within this interaction volume - static constexpr std::size_t numKnowns() { return numScv; } + static constexpr std::size_t numKnowns() + { return numScv; } //! returns the number of scvs embedded in this interaction volume - static constexpr std::size_t numScvs() { return numScv; } + static constexpr std::size_t numScvs() + { return numScv; } //! returns the cell-stencil of this interaction volume - const Stencil& stencil() const { return *stencil_; } + const Stencil& stencil() const + { return *stencil_; } //! returns the grid element corresponding to a given iv-local scv idx - const Element& element(LocalIndexType ivLocalScvIdx) const { return elements_[ivLocalScvIdx]; } + const Element& element(LocalIndexType ivLocalScvIdx) const + { return elements_[ivLocalScvIdx]; } //! returns the local scvf entity corresponding to a given iv-local scvf idx - const LocalScvfType& localScvf(LocalIndexType ivLocalScvfIdx) const { return scvfs_[ivLocalScvfIdx]; } + const LocalScvfType& localScvf(LocalIndexType ivLocalScvfIdx) const + { return scvfs_[ivLocalScvfIdx]; } //! returns the local scv entity corresponding to a given iv-local scv idx - const LocalScvType& localScv(LocalIndexType ivLocalScvIdx) const { return scvs_[ivLocalScvIdx]; } + const LocalScvType& localScv(LocalIndexType ivLocalScvIdx) const + { return scvs_[ivLocalScvIdx]; } //! returns a reference to the container with the local face data - const std::array<LocalFaceData, numScvf*2>& localFaceData() const { return localFaceData_; } + const std::array<LocalFaceData, numScvf*2>& localFaceData() const + { return localFaceData_; } //! Returns a reference to the information container on Dirichlet BCs within this iv. //! Here, we return an empty container as this implementation cannot be used on boundaries. - const std::array<DirichletData, 0>& dirichletData() const { return dirichletData_; } + const std::array<DirichletData, 0>& dirichletData() const + { return dirichletData_; } //! returns the matrix associated with face unknowns in local equation system const AMatrix& A() const { return A_; } @@ -264,7 +274,8 @@ public: //! returns the number of interaction volumes living around a vertex template< class NI > - static constexpr std::size_t numIVAtVertex(const NI& nodalIndexSet) { return 1; } + static constexpr std::size_t numIVAtVertex(const NI& nodalIndexSet) + { return 1; } //! adds the iv index sets living around a vertex to a given container //! and stores the the corresponding index in a map for each scvf diff --git a/dumux/discretization/cellcentered/mpfa/subcontrolvolumeface.hh b/dumux/discretization/cellcentered/mpfa/subcontrolvolumeface.hh index 54c820ce87bcb9ff5802e59697d733b140b3d9ef..3184110614845361f0f45639d1aa784e745943a0 100644 --- a/dumux/discretization/cellcentered/mpfa/subcontrolvolumeface.hh +++ b/dumux/discretization/cellcentered/mpfa/subcontrolvolumeface.hh @@ -149,35 +149,45 @@ public: } //! The area of the sub control volume face - Scalar area() const { return area_; } + Scalar area() const + { return area_; } //! returns bolean if the sub control volume face is on the domain boundary - bool boundary() const { return boundary_; } + bool boundary() const + { return boundary_; } //! The global index of this sub control volume face - GridIndexType index() const { return scvfIndex_; } + GridIndexType index() const + { return scvfIndex_; } //! Returns the index of the vertex the scvf is connected to - GridIndexType vertexIndex() const { return vertexIndex_; } + GridIndexType vertexIndex() const + { return vertexIndex_; } //! Returns the element-local vertex index the scvf is connected to - unsigned int vertexIndexInElement() const { return vIdxInElement_; } + unsigned int vertexIndexInElement() const + { return vIdxInElement_; } //! index of the inside sub control volume - GridIndexType insideScvIdx() const { return insideScvIdx_; } + GridIndexType insideScvIdx() const + { return insideScvIdx_; } //! The number of outside scvs connection via this scv face - std::size_t numOutsideScvs() const { return outsideScvIndices_.size(); } + std::size_t numOutsideScvs() const + { return outsideScvIndices_.size(); } //! index of the outside sub control volume or boundary scv index //! returns undefined behaviour if index exceeds numOutsideScvs - GridIndexType outsideScvIdx(int i = 0) const { return outsideScvIndices_[i]; } + GridIndexType outsideScvIdx(int i = 0) const + { return outsideScvIndices_[i]; } //! returns the outside scv indices (can be more than one index for dim < dimWorld) - const OutsideGridIndexStorage& outsideScvIndices() const { return outsideScvIndices_; } + const OutsideGridIndexStorage& outsideScvIndices() const + { return outsideScvIndices_; } //! Returns the number of corners - std::size_t corners() const { return corners_.size(); } + std::size_t corners() const + { return corners_.size(); } //! Returns the corner for a given local index const GlobalPosition& corner(unsigned int localIdx) const @@ -187,22 +197,28 @@ public: } //! Returns the global position of the vertex the scvf is connected to - const GlobalPosition& vertexCorner() const { return corners_.back(); } + const GlobalPosition& vertexCorner() const + { return corners_.back(); } //! Returns the global position of the center of the element facet this scvf is embedded in - const GlobalPosition& facetCorner() const { return corner(0); } + const GlobalPosition& facetCorner() const + { return corner(0); } //! The center of the sub control volume face - const GlobalPosition& center() const { return center_; } + const GlobalPosition& center() const + { return center_; } //! The integration point for flux evaluations in global coordinates - const GlobalPosition& ipGlobal() const { return ipGlobal_; } + const GlobalPosition& ipGlobal() const + { return ipGlobal_; } //! returns the unit outer normal vector (assumes non-curved geometries) - const GlobalPosition& unitOuterNormal() const { return unitOuterNormal_; } + const GlobalPosition& unitOuterNormal() const + { return unitOuterNormal_; } //! The geometry of the sub control volume face - Geometry geometry() const { return Geometry(Dune::GeometryTypes::cube(Geometry::mydimension), corners_); } + Geometry geometry() const + { return Geometry(Dune::GeometryTypes::cube(Geometry::mydimension), corners_); } private: bool boundary_; diff --git a/dumux/geomechanics/elastic/indices.hh b/dumux/geomechanics/elastic/indices.hh index 782d06c20e525474e1505d8b4c3619c3069f5723..11dec5082a6e11d165ff06f1c56e7f06bbb9105f 100644 --- a/dumux/geomechanics/elastic/indices.hh +++ b/dumux/geomechanics/elastic/indices.hh @@ -20,13 +20,12 @@ * \file * \ingroup Geomechanics * \ingroup Elastic - * \brief Defines the indices for the elastic model + * \brief Defines the indices for the elastic model */ #ifndef DUMUX_ELASTIC_INDICES_HH #define DUMUX_ELASTIC_INDICES_HH namespace Dumux { -// \{ /*! * \ingroup Geomechanics @@ -52,7 +51,6 @@ struct ElasticIndices static constexpr int uzIdx = 2; }; -// \} -} // end namespace +} // end namespace Dumux #endif diff --git a/dumux/geomechanics/elastic/localresidual.hh b/dumux/geomechanics/elastic/localresidual.hh index d69577d8195136afcf410a1083f9a44684269d24..7f8d9060680686e3df44ac49ef3d0100c2150dad 100644 --- a/dumux/geomechanics/elastic/localresidual.hh +++ b/dumux/geomechanics/elastic/localresidual.hh @@ -37,7 +37,7 @@ namespace Dumux { * using the elastic model considering linear elasticity. */ template<class TypeTag> -class ElasticLocalResidual: public GET_PROP_TYPE(TypeTag, BaseLocalResidual) +class ElasticLocalResidual : public GET_PROP_TYPE(TypeTag, BaseLocalResidual) { using ParentType = typename GET_PROP_TYPE(TypeTag, BaseLocalResidual); diff --git a/dumux/geomechanics/elastic/volumevariables.hh b/dumux/geomechanics/elastic/volumevariables.hh index c355f2f1a15f7c1cf3a25c89008f515239f8a357..34d98f5bcc00f3442e75dfadc3a962cf29a086fe 100644 --- a/dumux/geomechanics/elastic/volumevariables.hh +++ b/dumux/geomechanics/elastic/volumevariables.hh @@ -82,15 +82,24 @@ public: }; //! Return the average porosity \f$\mathrm{[-]}\f$ within the control volume. - Scalar solidDensity() const { return solidState_.density(); } + Scalar solidDensity() const + { return solidState_.density(); } + //! Returns the permeability within the control volume in \f$[m^2]\f$. - Scalar displacement(unsigned int dir) const { return priVars_[ Indices::momentum(dir) ]; } + Scalar displacement(unsigned int dir) const + { return priVars_[ Indices::momentum(dir) ]; } + //! Return a component of primary variable vector for a given index - Scalar priVar(const int pvIdx) const { return priVars_[pvIdx]; } + Scalar priVar(const int pvIdx) const + { return priVars_[pvIdx]; } + //! Return the vector of primary variables - const PrimaryVariables& priVars() const { return priVars_; } + const PrimaryVariables& priVars() const + { return priVars_; } + //! TODO We don't know yet how to interpret extrusion for mechanics - static constexpr Scalar extrusionFactor() { return 1.0; } + static constexpr Scalar extrusionFactor() + { return 1.0; } private: //! sets the temperature in the solid state for non-isothermal models @@ -111,6 +120,6 @@ private: SolidState solidState_; }; -} +} // end namespace Dumux #endif diff --git a/dumux/geomechanics/lameparams.hh b/dumux/geomechanics/lameparams.hh index 04b9fea971c11a3c4810891ce4a68d52d42a64d5..148d6e87546c581b949efd7bfbf47e45e6cfce93 100644 --- a/dumux/geomechanics/lameparams.hh +++ b/dumux/geomechanics/lameparams.hh @@ -36,18 +36,27 @@ struct LameParams { //! Default constructor LameParams() = default; + //! Constructor taking lambda and mu directly - LameParams(Scalar lambda, Scalar mu) : lambda_(lambda), mu_(mu) {} + LameParams(Scalar lambda, Scalar mu) + : lambda_(lambda) , mu_(mu) + {} //! Return the first lame parameter - Scalar lambda() const { return lambda_; } + Scalar lambda() const + { return lambda_; } + //! Return the second lame parameter - Scalar mu() const { return mu_; } + Scalar mu() const + { return mu_; } //! set the first lame parameter - void setLambda(Scalar lambda) { lambda_ = lambda; } + void setLambda(Scalar lambda) + { lambda_ = lambda; } + //! set the second lame parameter - void setMu(Scalar mu) { mu_ = mu; } + void setMu(Scalar mu) + { mu_ = mu; } private: Scalar lambda_; diff --git a/dumux/geomechanics/poroelastic/volumevariables.hh b/dumux/geomechanics/poroelastic/volumevariables.hh index e3177de21ef0478f78ea3b548992d99e0d59665e..b7d4050b60b585600356b9a79d9baa3967ad5efc 100644 --- a/dumux/geomechanics/poroelastic/volumevariables.hh +++ b/dumux/geomechanics/poroelastic/volumevariables.hh @@ -87,21 +87,36 @@ public: }; //! Return the average porosity \f$\mathrm{[-]}\f$ within the scv. - Scalar solidDensity() const { return solidState_.density(); } + Scalar solidDensity() const + { return solidState_.density(); } + //! Returns the effective fluid density within the scv in \f$\mathrm{[kg/m^3]}\f$ - Scalar effectiveFluidDensity() const { return effectiveFluidDensity_; } + Scalar effectiveFluidDensity() const + { return effectiveFluidDensity_; } + //! Return the average porosity \f$\mathrm{[-]}\f$ within the scv - Scalar porosity() const { return solidState_.porosity()*divU_; } + Scalar porosity() const + { return solidState_.porosity()*divU_; } + //! Returns the divergence of u within this scv - Scalar divU() const { return divU_; } + Scalar divU() const + { return divU_; } + //! Returns the permeability within the scv in \f$[m^2]\f$. - Scalar displacement(unsigned int dir) const { return priVars_[ Indices::momentum(dir) ]; } + Scalar displacement(unsigned int dir) const + { return priVars_[ Indices::momentum(dir) ]; } + //! Return a component of primary variable vector for a given index - Scalar priVar(const int pvIdx) const { return priVars_[pvIdx]; } + Scalar priVar(const int pvIdx) const + { return priVars_[pvIdx]; } + //! Return the vector of primary variables - const PrimaryVariables& priVars() const { return priVars_; } + const PrimaryVariables& priVars() const + { return priVars_; } + //! TODO We don't know yet how to interpret extrusion for mechanics - static constexpr Scalar extrusionFactor() { return 1.0; } + static constexpr Scalar extrusionFactor() + { return 1.0; } private: //! updates the volume fractions of the solid components diff --git a/dumux/geomechanics/stressvariablescache.hh b/dumux/geomechanics/stressvariablescache.hh index ef2e0e42e8010dd53ec9a7ab09384acae3241a48..750c00454e356b7f2ef1d204d0260644bb5294e8 100644 --- a/dumux/geomechanics/stressvariablescache.hh +++ b/dumux/geomechanics/stressvariablescache.hh @@ -70,7 +70,8 @@ public: * the volume variables as well as the stress tensor assembly laws have to be restructured! */ template<typename... Args> - void update(Args&&... args) { DUNE_THROW(Dune::NotImplemented, "Geomechanics with cell-centered schemes"); } + void update(Args&&... args) + { DUNE_THROW(Dune::NotImplemented, "Geomechanics with cell-centered schemes"); } }; // specialization for the cell centered mpfa method diff --git a/dumux/geomechanics/velocityoutput.hh b/dumux/geomechanics/velocityoutput.hh index dd4571eb49f0ec7f4996c00a1e04785150e53db7..81ed8f04adecfd0901b32f8bad7ac70d277e58b2 100644 --- a/dumux/geomechanics/velocityoutput.hh +++ b/dumux/geomechanics/velocityoutput.hh @@ -40,10 +40,12 @@ public: GeomechanicsVelocityOutput(Args&&... args) {} //! Output is currently disabled (not implemented) - static constexpr bool enableOutput() { return false; } + static constexpr bool enableOutput() + { return false; } //! There is always only one solid phase - static constexpr int numPhaseVelocities() { return 1; } + static constexpr int numPhaseVelocities() + { return 1; } //! Returns the name of phase for which velocity is computed static std::string phaseName(int phaseIdx) diff --git a/dumux/porousmediumflow/boxdfm/subcontrolvolume.hh b/dumux/porousmediumflow/boxdfm/subcontrolvolume.hh index 6ad04912928a0ba2d1821cade8ab7de2af3a3850..a82d46434b4604f09ad39f4f8b8f5329371c90b9 100644 --- a/dumux/porousmediumflow/boxdfm/subcontrolvolume.hh +++ b/dumux/porousmediumflow/boxdfm/subcontrolvolume.hh @@ -172,31 +172,40 @@ public: } //! The center of the sub control volume - const GlobalPosition& center() const { return center_; } + const GlobalPosition& center() const + { return center_; } //! The volume of the sub control volume - Scalar volume() const { return volume_; } + Scalar volume() const + { return volume_; } //! The element-local vertex index this scv is connected to - LocalIndexType localDofIndex() const { return vIdxLocal_; } + LocalIndexType localDofIndex() const + { return vIdxLocal_; } //! The element-local index of this scv - LocalIndexType indexInElement() const { return elemLocalScvIdx_; } + LocalIndexType indexInElement() const + { return elemLocalScvIdx_; } //! The element-local facet index for which a fracture scv was created - LocalIndexType facetIndexInElement() const { assert(isFractureScv_); return facetIdx_; } + LocalIndexType facetIndexInElement() const + { assert(isFractureScv_); return facetIdx_; } //! The index of the dof this scv is embedded in - GridIndexType dofIndex() const { return dofIndex_; } + GridIndexType dofIndex() const + { return dofIndex_; } // The position of the dof this scv is embedded in (list is defined such that first entry is vertex itself) - const GlobalPosition& dofPosition() const { return corners_[0]; } + const GlobalPosition& dofPosition() const + { return corners_[0]; } //! The global index of the element this scv is embedded in - GridIndexType elementIndex() const { return elementIndex_; } + GridIndexType elementIndex() const + { return elementIndex_; } //! Return true if this scv is part of the fracture domain - bool isOnFracture() const { return isFractureScv_; } + bool isOnFracture() const + { return isFractureScv_; } //! The geometry of the sub control volume // e.g. for integration diff --git a/dumux/porousmediumflow/boxdfm/subcontrolvolumeface.hh b/dumux/porousmediumflow/boxdfm/subcontrolvolumeface.hh index 16760c8d01d1bc2c0e84be9bac3bddd1cfa93c6a..0acc5b42bf4135ab614c4edad9b26e17234ab585 100644 --- a/dumux/porousmediumflow/boxdfm/subcontrolvolumeface.hh +++ b/dumux/porousmediumflow/boxdfm/subcontrolvolumeface.hh @@ -196,34 +196,44 @@ public: } //! The center of the sub control volume face - const GlobalPosition& center() const { return center_; } + const GlobalPosition& center() const + { return center_; } //! The integration point for flux evaluations in global coordinates - const GlobalPosition& ipGlobal() const { return center_; } + const GlobalPosition& ipGlobal() const + { return center_; } //! The area of the sub control volume face - Scalar area() const { return area_; } + Scalar area() const + { return area_; } //! returns bolean if the sub control volume face is on the boundary - bool boundary() const { return boundary_; } + bool boundary() const + { return boundary_; } //! returns the unit normal vector pointing outwards - const GlobalPosition& unitOuterNormal() const { return unitOuterNormal_; } + const GlobalPosition& unitOuterNormal() const + { return unitOuterNormal_; } //! The global index of this sub control volume face - GridIndexType index() const { return scvfIndex_; } + GridIndexType index() const + { return scvfIndex_; } //! Return if this is a fracture scvf - bool isOnFracture() const { return isFractureScvf_; } + bool isOnFracture() const + { return isFractureScvf_; } //! The element-local facet index for which a fracture scv was created - LocalIndexType facetIndexInElement() const { assert(isFractureScvf_); return facetIdx_; } + LocalIndexType facetIndexInElement() const + { assert(isFractureScvf_); return facetIdx_; } //! Return the boundary flag - typename BoundaryFlag::value_type boundaryFlag() const { return boundaryFlag_.get(); } + typename BoundaryFlag::value_type boundaryFlag() const + { return boundaryFlag_.get(); } //! index of the inside sub control volume for spatial param evaluation - LocalIndexType insideScvIdx() const { return scvIndices_[0]; } + LocalIndexType insideScvIdx() const + { return scvIndices_[0]; } //! index of the outside sub control volume for spatial param evaluation // This results in undefined behaviour if boundary is true diff --git a/test/geomechanics/elastic/problem.hh b/test/geomechanics/elastic/problem.hh index a593a66fdd24f89cbf6ed49ba9545738293f9b1f..b7fab27f9bbb99b286e07d182b903665e581bf92 100644 --- a/test/geomechanics/elastic/problem.hh +++ b/test/geomechanics/elastic/problem.hh @@ -62,6 +62,7 @@ class ElasticProblem : public GeomechanicsFVProblem<TypeTag> using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); + using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); @@ -73,6 +74,7 @@ class ElasticProblem : public GeomechanicsFVProblem<TypeTag> using Element = typename GridView::template Codim<0>::Entity; using GlobalPosition = typename Element::Geometry::GlobalCoordinate; + static constexpr Scalar pi = M_PI; static constexpr int dim = GridView::dimension; static constexpr int dimWorld = GridView::dimensionworld; using GradU = Dune::FieldMatrix<Scalar, dim, dimWorld>; @@ -83,13 +85,16 @@ public: : ParentType(fvGridGeometry) {} //! The temperature in the domain - static constexpr Scalar temperature() { return 273.15; } + static constexpr Scalar temperature() + { return 273.15; } + //! Evaluate the initial value for a control volume. - PrimaryVariables initialAtPos(const GlobalPosition& globalPos) const { return PrimaryVariables(0.0); } + PrimaryVariables initialAtPos(const GlobalPosition& globalPos) const + { return PrimaryVariables(0.0); } + //! Evaluate the boundary conditions for a Dirichlet boundary segment. - PrimaryVariables dirichletAtPos(const GlobalPosition& globalPos) const { return PrimaryVariables(0.0); } - //! Evaluate the boundary conditions for a Neumannboundary segment. - PrimaryVariables neumannAtPos(const GlobalPosition& globalPos) const { return PrimaryVariables(0.0); } + PrimaryVariables dirichletAtPos(const GlobalPosition& globalPos) const + { return PrimaryVariables(0.0); } /*! * \brief Specifies which kind of boundary condition should be @@ -108,15 +113,14 @@ public: * \brief Evaluate the source term for all phases within a given * sub-control-volume. */ - PrimaryVariables source(const Element& element, - const FVElementGeometry& fvGeometry, - const ElementVolumeVariables& elemVolVars, - const SubControlVolume& scv) const + NumEqVector source(const Element& element, + const FVElementGeometry& fvGeometry, + const ElementVolumeVariables& elemVolVars, + const SubControlVolume& scv) const { using std::sin; using std::cos; - static const Scalar pi = 3.14159265358979323846; const auto ipGlobal = scv.center(); const auto x = ipGlobal[0]; const auto y = ipGlobal[1]; @@ -155,7 +159,6 @@ public: { using std::sin; - static const Scalar pi = 3.14159265358979323846; const auto x = globalPos[0]; const auto y = globalPos[1]; @@ -173,7 +176,6 @@ public: using std::sin; using std::cos; - static const Scalar pi = 3.14159265358979323846; const auto x = globalPos[0]; const auto y = globalPos[1]; diff --git a/test/geomechanics/poroelastic/problem.hh b/test/geomechanics/poroelastic/problem.hh index c98f3c495c2e38c949cc6ffecaf3ccee78b77b66..887e4313ef703c42220ffd0ec2ff9b0041f64860 100644 --- a/test/geomechanics/poroelastic/problem.hh +++ b/test/geomechanics/poroelastic/problem.hh @@ -70,6 +70,7 @@ class PoroElasticProblem : public GeomechanicsFVProblem<TypeTag> using Indices = typename GET_PROP_TYPE(TypeTag, ModelTraits)::Indices; using BoundaryTypes = typename GET_PROP_TYPE(TypeTag, BoundaryTypes); using PrimaryVariables = typename GET_PROP_TYPE(TypeTag, PrimaryVariables); + using NumEqVector = typename GET_PROP_TYPE(TypeTag, NumEqVector); using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, GridVolumeVariables)::LocalView; using FVGridGeometry = typename GET_PROP_TYPE(TypeTag, FVGridGeometry); @@ -81,6 +82,7 @@ class PoroElasticProblem : public GeomechanicsFVProblem<TypeTag> using Element = typename GridView::template Codim<0>::Entity; using GlobalPosition = typename Element::Geometry::GlobalCoordinate; + static constexpr Scalar pi = M_PI; static constexpr int dim = GridView::dimension; static constexpr int dimWorld = GridView::dimensionworld; using GradU = Dune::FieldMatrix<Scalar, dim, dimWorld>; @@ -88,16 +90,20 @@ class PoroElasticProblem : public GeomechanicsFVProblem<TypeTag> public: //! The constructor PoroElasticProblem(std::shared_ptr<const FVGridGeometry> fvGridGeometry) - : ParentType(fvGridGeometry) {} + : ParentType(fvGridGeometry) + {} //! The temperature in the domain - static constexpr Scalar temperature() { return 273.15; } + static constexpr Scalar temperature() + { return 273.15; } + //! Evaluate the initial value for a control volume. - PrimaryVariables initialAtPos(const GlobalPosition& globalPos) const { return PrimaryVariables(0.0); } + PrimaryVariables initialAtPos(const GlobalPosition& globalPos) const + { return PrimaryVariables(0.0); } + //! Evaluate the boundary conditions for a Dirichlet boundary segment. - PrimaryVariables dirichletAtPos(const GlobalPosition& globalPos) const { return PrimaryVariables(0.0); } - //! Evaluate the boundary conditions for a Neumannboundary segment. - PrimaryVariables neumannAtPos(const GlobalPosition& globalPos) const { return PrimaryVariables(0.0); } + PrimaryVariables dirichletAtPos(const GlobalPosition& globalPos) const + { return PrimaryVariables(0.0); } /*! * \brief Returns the effective fluid density @@ -137,15 +143,14 @@ public: * \brief Evaluate the source term for all phases within a given * sub-control-volume. */ - PrimaryVariables source(const Element& element, - const FVElementGeometry& fvGeometry, - const ElementVolumeVariables& elemVolVars, - const SubControlVolume& scv) const + NumEqVector source(const Element& element, + const FVElementGeometry& fvGeometry, + const ElementVolumeVariables& elemVolVars, + const SubControlVolume& scv) const { using std::sin; using std::cos; - static const Scalar pi = 3.14159265358979323846; const auto ipGlobal = scv.center(); const auto x = ipGlobal[0]; const auto y = ipGlobal[1]; @@ -184,7 +189,6 @@ public: { using std::sin; - static const Scalar pi = 3.14159265358979323846; const auto x = globalPos[0]; const auto y = globalPos[1]; @@ -202,7 +206,6 @@ public: using std::sin; using std::cos; - static const Scalar pi = 3.14159265358979323846; const auto x = globalPos[0]; const auto y = globalPos[1]; diff --git a/test/geomechanics/poroelastic/spatialparams.hh b/test/geomechanics/poroelastic/spatialparams.hh index c1285f590a37a6db21a1b9bce314fb0f425b6b1f..cf9675f3dabef4d405628cf54a1b80032f91021c 100644 --- a/test/geomechanics/poroelastic/spatialparams.hh +++ b/test/geomechanics/poroelastic/spatialparams.hh @@ -59,11 +59,16 @@ public: } //! Define the Lame parameters - const LameParams& lameParamsAtPos(const GlobalPosition& globalPos) const { return lameParams_; } + const LameParams& lameParamsAtPos(const GlobalPosition& globalPos) const + { return lameParams_; } + //! Return the porosity of the porous medium - Scalar porosityAtPos(const GlobalPosition& globalPos) const { return 0.3; } + Scalar porosityAtPos(const GlobalPosition& globalPos) const + { return 0.3; } + //! Return the biot coefficient of the porous medium - Scalar biotCoefficientAtPos(const GlobalPosition& globalPos) const { return 1.0; } + Scalar biotCoefficientAtPos(const GlobalPosition& globalPos) const + { return 1.0; } private: LameParams lameParams_;