diff --git a/dune/stuff/functions/ESV2007.hh b/dune/stuff/functions/ESV2007.hh index 9aa5a2c7f5c75566f744025f55e07aabe1b22b72..a5dae1998ccbec0b8e9045fdc2b36c6112c0fdb7 100644 --- a/dune/stuff/functions/ESV2007.hh +++ b/dune/stuff/functions/ESV2007.hh @@ -244,6 +244,11 @@ public: ThisType& operator=(const ThisType& /*other*/) = delete; + virtual std::string type() const DS_OVERRIDE DS_FINAL + { + return BaseType::static_id() + ".ESV2007.testcase1.force"; + } + virtual std::string name() const DS_OVERRIDE DS_FINAL { return name_; @@ -347,6 +352,11 @@ public: ThisType& operator=(const ThisType& /*other*/) = delete; + virtual std::string type() const DS_OVERRIDE DS_FINAL + { + return BaseType::static_id() + ".ESV2007.testcase1.exactsolution"; + } + virtual std::string name() const DS_OVERRIDE DS_FINAL { return name_; diff --git a/dune/stuff/functions/checkerboard.hh b/dune/stuff/functions/checkerboard.hh index 602633f492312e971d21284be00c22bcc42ccd81..29c460ef15dc24731d71593abe6a9ee5ad205027 100644 --- a/dune/stuff/functions/checkerboard.hh +++ b/dune/stuff/functions/checkerboard.hh @@ -199,6 +199,11 @@ public: return new ThisType(*this); } + virtual std::string type() const DS_OVERRIDE + { + return BaseType::static_id() + ".checkerboard"; + } + virtual std::string name() const DS_OVERRIDE { return name_; diff --git a/dune/stuff/functions/combined.hh b/dune/stuff/functions/combined.hh index 3d7de7e81606f0ae0a784cc0edea9ec8e750b461..bffa1480040cf2c13ab4d9a5eefd21121d45f211 100644 --- a/dune/stuff/functions/combined.hh +++ b/dune/stuff/functions/combined.hh @@ -151,6 +151,11 @@ public: return new ThisType(minuend_, subtrahend_); } + virtual std::string type() const DS_OVERRIDE + { + return "difference between '" + minuend_.type() + "' and '" + subtrahend_.type() + "'"; + } + virtual std::string name() const DS_OVERRIDE { return "difference between '" + minuend_.name() + "' and '" + subtrahend_.name() + "'"; diff --git a/dune/stuff/functions/constant.hh b/dune/stuff/functions/constant.hh index 97cbaa607d41437c4258720f8916e9acf6ed3b10..dd7fc90f2ac3bb796a20458c5c5591904b4d864b 100644 --- a/dune/stuff/functions/constant.hh +++ b/dune/stuff/functions/constant.hh @@ -81,6 +81,11 @@ public: { } + virtual std::string type() const DS_OVERRIDE + { + return BaseType::static_id() + ".constant"; + } + virtual size_t order() const DS_OVERRIDE DS_FINAL { return 0; diff --git a/dune/stuff/functions/expression.hh b/dune/stuff/functions/expression.hh index 2202614430987a94d080c5e7fd89bc15d8ccc709..ed07dd566d21987e2bfe5a1e8aeac6da1fdaca88 100644 --- a/dune/stuff/functions/expression.hh +++ b/dune/stuff/functions/expression.hh @@ -156,6 +156,11 @@ public: return *this; } + virtual std::string type() const DS_OVERRIDE DS_FINAL + { + return BaseType::static_id() + ".expression"; + } + virtual std::string name() const DS_OVERRIDE { return name_; diff --git a/dune/stuff/functions/interfaces.hh b/dune/stuff/functions/interfaces.hh index 4a2359ac94b393e4a01fa8c47e8b2f128a63fdfb..1e6131b5fc03ee11d730379b44a5926fff8ed301 100644 --- a/dune/stuff/functions/interfaces.hh +++ b/dune/stuff/functions/interfaces.hh @@ -310,6 +310,11 @@ public: /** \defgroup info ´´These methods should be implemented in order to identify the function.'' */ /* @{ */ + virtual std::string type() const + { + return "stuff.function"; + } + virtual std::string name() const { return "stuff.function"; diff --git a/dune/stuff/functions/spe10.hh b/dune/stuff/functions/spe10.hh index 3f6b41a81b33b764f01a833a77bab655e7b121c3..f9dabe5b2b9dd5659df181e11aa9baf317c2aa6b 100644 --- a/dune/stuff/functions/spe10.hh +++ b/dune/stuff/functions/spe10.hh @@ -94,22 +94,9 @@ private: return data; } else DUNE_THROW_COLORFULLY(Dune::IOError, "could not open '" << filename << "'!"); - } // Spe10Model1() + } // ... read_values_from_file(...) public: - Spe10Model1(const std::string& filename, std::vector<DomainFieldType>&& lowerLeft, - std::vector<DomainFieldType>&& upperRight, const RangeFieldType min = minValue, - const RangeFieldType max = maxValue, const std::string nm = static_id()) - : BaseType(std::move(lowerLeft), std::move(upperRight), {numXelements, numZelements}, - read_values_from_file(filename, min, max), nm) - { - } - - virtual ThisType* copy() const DS_OVERRIDE - { - return new ThisType(*this); - } - static Common::ConfigTree default_config(const std::string sub_name = "") { Common::ConfigTree config; @@ -143,6 +130,24 @@ public: cfg.get("max_val", maxValue), cfg.get("name", default_cfg.get<std::string>("name"))); } // ... create(...) + + Spe10Model1(const std::string& filename, std::vector<DomainFieldType>&& lowerLeft, + std::vector<DomainFieldType>&& upperRight, const RangeFieldType min = minValue, + const RangeFieldType max = maxValue, const std::string nm = static_id()) + : BaseType(std::move(lowerLeft), std::move(upperRight), {numXelements, numZelements}, + read_values_from_file(filename, min, max), nm) + { + } + + virtual std::string type() const DS_OVERRIDE + { + return BaseType::static_id() + ".spe10.model1"; + } + + virtual ThisType* copy() const DS_OVERRIDE + { + return new ThisType(*this); + } }; // class Spe10Model1< ..., 2, ..., 1, 1 >