diff --git a/AMDiS/src/Functors.h b/AMDiS/src/Functors.h index d2f764cf33fe92c2d8398b2b8f7e787bfce9053c..6855d1546ce4e5a523a8674a1563b4cb982af85b 100644 --- a/AMDiS/src/Functors.h +++ b/AMDiS/src/Functors.h @@ -261,6 +261,24 @@ struct FadeOut : public TertiaryAbstractFunction<double, double, double ,double> return dist*mean+(1.0-dist)*v; } }; + +struct Random : public AbstractFunction<double, WorldVector<double> > +{ + Random(double mean_, double amplitude_) : mean(mean_), amplitude(amplitude_) + { + std::srand(time(NULL)); + } + + double operator()(const WorldVector<double> &x) const + { + return mean + amplitude * ((std::rand() / static_cast<double>(RAND_MAX)) - 0.5); + } + +private: + double mean; + double amplitude; +}; + } #endif // AMDIS_FUNCTORS_H diff --git a/AMDiS/src/ProblemStat.cc b/AMDiS/src/ProblemStat.cc index 90bba9295e32329bd9f62fae96fd075325d4cc06..92e71c1773c876d256853e18ebcecdb34ffa53de 100644 --- a/AMDiS/src/ProblemStat.cc +++ b/AMDiS/src/ProblemStat.cc @@ -746,9 +746,7 @@ namespace AMDiS { void ProblemStatSeq::buildAfterCoarsen(AdaptInfo *adaptInfo, Flag flag, bool asmMatrix, bool asmVector) { -#ifdef HAVE_PARALLEL_DOMAIN_AMDIS FUNCNAME("ProblemStat::buildAfterCoarsen()"); -#endif if (dualMeshTraverseRequired()) { #ifdef HAVE_PARALLEL_DOMAIN_AMDIS