diff --git a/dumux/material/spatialparams/gstatrandomfield.hh b/dumux/material/spatialparams/gstatrandomfield.hh index fbe0924f757563a7d072c36504f13d395019d3eb..c6c51b8aea3da2ddc286f24bcf2888fcff829c65 100644 --- a/dumux/material/spatialparams/gstatrandomfield.hh +++ b/dumux/material/spatialparams/gstatrandomfield.hh @@ -71,14 +71,11 @@ public: * * \param gridView the used gridView */ - GstatRandomField(const GridView& gridView) - : gridView_(gridView), -#if DUNE_VERSION_NEWER(DUNE_COMMON,2,6) - elementMapper_(gridView, Dune::mcmgElementLayout()), -#else - elementMapper_(gridView), -#endif - data_(gridView.size(0)) {} + GstatRandomField(const GridView& gridView, const ElementMapper& elementMapper) + : gridView_(gridView) + , elementMapper_(elementMapper) + , data_(gridView.size(0)) + {} /*! * \brief Creates a new field with random variables, if desired. @@ -171,11 +168,17 @@ public: } //! \brief Return an entry of the data vector - Scalar data(const Element& e) + Scalar data(const Element& e) const { return data_[elementMapper_.index(e)]; } + //! \brief Return the data vector for analysis or external vtk output + const DataVector& data() const + { + return data_; + } + //! \brief Write the data to a vtk file void writeVtk(const std::string& vtkName, const std::string& dataName = "data") const @@ -195,12 +198,12 @@ public: } private: - GridView gridView_; - ElementMapper elementMapper_; + const GridView gridView_; + const ElementMapper& elementMapper_; DataVector data_; FieldType fieldType_; }; -} +} // end namespace Dumux #endif