1 #include <deal.II/base/function.h> 13 virtual void value_list(
const std::vector<Point<dim>>& points, std::vector<double>& values,
14 const unsigned int component = 0)
const;
15 virtual void vector_value_list(
const std::vector<Point<dim>>& points,
16 std::vector<Vector<double>>& values)
const;
28 std::vector<Vector<double>>& values)
const 30 AssertDimension(points.size(), values.size());
32 const double eps_square = -1e-2;
34 for (
unsigned int k = 0; k < points.size(); ++k)
36 const Point<dim>& p = points[k];
37 values[k](1) = std::sin(p(0)) * std::sin(p(1));
39 (values[k](1) * values[k](1) - 1) * values[k](1) + eps_square * 2.0 * values[k](1);
46 const unsigned int component)
const 48 AssertDimension(points.size(), values.size());
50 const double eps_square = -1e-2;
52 for (
unsigned int k = 0; k < points.size(); ++k)
54 const Point<dim>& p = points[k];
55 double v = std::sin(p(0)) * std::sin(p(1));
56 double l = (v * v - 1) * v + eps_square * 2.0 * v;
77 value(
const Point<2>& p,
const unsigned int component = 0)
const 81 return p.norm() < 0.2 ? 1.0 : -1.0;
95 virtual void value_list(
const std::vector<Point<dim>>& points, std::vector<double>& values,
96 const unsigned int component = 0)
const;
98 std::vector<Vector<double>>& values)
const;
110 std::vector<Vector<double>>& values)
const 112 AssertDimension(points.size(), values.size());
114 for (
unsigned int k = 0; k < points.size(); ++k)
116 const Point<dim>& p = points[k];
117 if (std::fabs(p(0)) < .8 && std::fabs(p(1)) < .2)
119 else if (std::fabs(p(1)) < .8 && std::fabs(p(0)) < .2)
129 const unsigned int component)
const 131 AssertDimension(points.size(), values.size());
133 for (
unsigned int k = 0; k < points.size(); ++k)
137 const Point<dim>& p = points[k];
138 if (std::fabs(p(0)) < .8 && std::fabs(p(1)) < .2)
140 else if (std::fabs(p(1)) < .8 && std::fabs(p(0)) < .2)
161 value(
const Point<2>& p,
const unsigned int component = 0)
const 165 if (p.norm() < (1.0 / 8.0) || p(1) < p(0) * p(0) + (1.0 / 8.0) - 1.0)
183 value(
const Point<2>& p,
const unsigned int component = 0)
const 187 if (p.norm() < (1.0 / 8.0) || p(1) < p(0) * p(0) + (1.0 / 8.0) - 1.0)
206 value(
const Point<2>& p,
const unsigned int component = 0)
const 210 if (std::abs(p(0)) <= 0.15 && std::abs(p(1)) <= 0.15)
232 value(
const Point<2>& p,
const unsigned int component = 0)
const 236 if (std::abs(p(1)) <= 0.3 && std::abs(p(0)) <= p(1) * p(1) + 0.025)
258 value(
const Point<2>& p,
const unsigned int component = 0)
const 263 double overlap = 0.0025;
264 Point<2> center1(0.0, r - overlap);
265 Point<2> center2(0.0, overlap - r);
266 if ((p - center1).norm() <= r || (p - center2).norm() <= r)
288 value(
const Point<2>& p,
const unsigned int component = 0)
const 292 if (std::abs(p(1)) < 0.5 && (std::abs(p(0)) < 0.05 || ((p(0) > 0 && p(0) < -2.0 * p(1)) ||
293 (p(0) < 0 && p(0) > -2.0 * p(1)))))
323 return new Functions::ZeroFunction<dim>(2);
347 value(
const Point<dim>& p,
const unsigned int component = 0)
const 351 return -1.0 * this->strength * p(1);
DoubleBall()
Definition: samples.h:252
Definition: samples.h:249
Definition: samples.h:174
Function< dim > * selector(int i)
Definition: samples.h:308
virtual void vector_value_list(const std::vector< Point< dim >> &points, std::vector< Vector< double >> &values) const
Definition: samples.h:109
virtual double value(const Point< 2 > &p, const unsigned int component=0) const
Definition: samples.h:288
virtual double value(const Point< dim > &p, const unsigned int component=0) const
Definition: samples.h:347
Definition: samples.h:152
SquareFunction()
Definition: samples.h:200
virtual double value(const Point< 2 > &p, const unsigned int component=0) const
Definition: samples.h:232
Definition: samples.h:337
Definition: samples.h:197
virtual void vector_value_list(const std::vector< Point< dim >> &points, std::vector< Vector< double >> &values) const
Definition: samples.h:27
Definition: samples.h:279
virtual void value_list(const std::vector< Point< dim >> &points, std::vector< double > &values, const unsigned int component=0) const
Definition: samples.h:128
virtual void value_list(const std::vector< Point< dim >> &points, std::vector< double > &values, const unsigned int component=0) const
Definition: samples.h:45
const double strength
Definition: samples.h:360
TopologicalFunction2()
Definition: samples.h:177
BallFunction()
Definition: samples.h:71
ShearAdvection(double strength)
Definition: samples.h:340
virtual double value(const Point< 2 > &p, const unsigned int component=0) const
Definition: samples.h:161
Strip()
Definition: samples.h:282
virtual double value(const Point< 2 > &p, const unsigned int component=0) const
Definition: samples.h:258
TopologicalFunction()
Definition: samples.h:155
virtual double value(const Point< 2 > &p, const unsigned int component=0) const
Definition: samples.h:206
Function< dim > * advectionselector(int i, double strength=0.0)
Definition: samples.h:365
Definition: samples.h:223
virtual double value(const Point< 2 > &p, const unsigned int component=0) const
Definition: samples.h:183
Breakup()
Definition: samples.h:226
virtual double value(const Point< 2 > &p, const unsigned int component=0) const
Definition: samples.h:77
CrossFunction()
Definition: samples.h:102
Startup()
Definition: allen_cahn.cc:47