12 #include "exact_solution.hpp"
15 #pragma GCC diagnostic push
16 #pragma GCC diagnostic ignored "-Wunused-parameter"
18 using namespace dealii;
24 alpha = 1.0 / (ep_1 * log(b / d) + ep_2 * log(d / a));
25 beta = (ep_1 / ep_2) * log(b / d);
31 const unsigned int component)
const
34 return (-alpha * ep_2 * (log(r.norm() / d) - beta));
36 return (-alpha * ep_1 * log(r.norm() / b));
42 const unsigned int component)
const
45 return -alpha * ep_2 * (1 / r.square()) * r;
47 return -alpha * ep_1 * (1 / r.square()) * r;
53 alpha = 1.0 / (ep_1 * (1.0 / b - 1.0 / d) + ep_2 * (1.0 / d - 1.0 / a));
54 beta = 1.0 / d + (ep_1 / ep_2) * (1.0 / b - 1.0 / d);
60 const unsigned int component)
const
63 return (-alpha * ep_2 * (1.0 / r.norm() - beta));
65 return (-alpha * ep_1 * (1.0 / r.norm() - 1.0 / b));
71 const unsigned int component)
const
74 return alpha * ep_2 * r / pow(r.norm(), 3);
76 return alpha * ep_1 * r / pow(r.norm(), 3);
82 const std::vector<Point<2>>& r,
83 std::vector<Vector<double>>& values)
const
85 Assert(values.size() == r.size(),
86 ExcDimensionMismatch(values.size(), r.size()));
90 for (
unsigned int i = 0; i < r.size(); i++) {
91 phi = PHI.gradient(r[i]);
93 values[i][0] = -phi[0];
94 values[i][1] = -phi[1];
101 const std::vector<Point<3>>& r,
102 std::vector<Vector<double>>& values)
const
104 Assert(values.size() == r.size(),
105 ExcDimensionMismatch(values.size(), r.size()));
109 for (
unsigned int i = 0; i < r.size(); i++) {
110 phi = PHI.gradient(r[i]);
112 values[i][0] = -phi[0];
113 values[i][1] = -phi[1];
114 values[i][2] = -phi[2];
121 const std::vector<Point<2>>& r,
122 std::vector<Vector<double>>& values)
const
124 Assert(values.size() == r.size(),
125 ExcDimensionMismatch(values.size(), r.size()));
130 for (
unsigned int i = 0; i < r.size(); i++) {
136 phi = PHI.gradient(r[i]);
138 values[i][0] = -ep * phi[0];
139 values[i][1] = -ep * phi[1];
146 const std::vector<Point<3>>& r,
147 std::vector<Vector<double>>& values)
const
149 Assert(values.size() == r.size(),
150 ExcDimensionMismatch(values.size(), r.size()));
155 for (
unsigned int i = 0; i < r.size(); i++) {
161 phi = PHI.gradient(r[i]);
163 values[i][0] = -ep * phi[0];
164 values[i][1] = -ep * phi[1];
165 values[i][2] = -ep * phi[2];
168 #pragma GCC diagnostic pop
Describes the exact solution, , of the Interface between dielectrics (int/) numerical experiment.
Describes the exact solution, , of the Interface between dielectrics (int/) numerical experiment.
Describes the exact solution, , of the Interface between dielectrics (int/) numerical experiment.