12 #include <deal.II/base/types.h>
13 #define BOOST_ALLOW_DEPRECATED_HEADERS
15 #include "exact_solution.hpp"
16 #include "static_vector_input.hpp"
19 #pragma GCC diagnostic push
20 #pragma GCC diagnostic ignored "-Wunused-parameter"
21 #pragma GCC diagnostic ignored "-Wunused-but-set-variable"
30 const std::vector<Point<3>>& r,
31 types::material_id mid,
33 std::vector<double>& values)
const
35 Assert(r.size() == values.size(),
36 ExcDimensionMismatch(r.size(), values.size()));
38 for (
unsigned int i = 0; i < values.size(); i++)
45 const std::vector<Point<3>>& r,
46 types::material_id mid,
48 std::vector<Tensor<1, 3>>& values)
const
50 Assert(r.size() == values.size(),
51 ExcDimensionMismatch(r.size(), values.size()));
53 if ((mid == mid_1) || (mid == mid_2))
54 for (
unsigned int i = 0; i < values.size(); i++) {
61 for (
unsigned int i = 0; i < values.size(); i++) {
62 values[i][0] = -K_0 * r[i][1];
63 values[i][1] = K_0 * r[i][0];
71 const std::vector<Tensor<1, 3>>& n,
72 types::boundary_id bid,
73 types::material_id mid,
76 std::vector<double>& values)
const
78 Assert(r.size() == values.size(),
79 ExcDimensionMismatch(r.size(), values.size()));
81 Assert(r.size() == n.size(), ExcDimensionMismatch(r.size(), n.size()));
83 for (
unsigned int i = 0; i < values.size(); i++)
90 const std::vector<Point<3>>& r,
91 const std::vector<Tensor<1, 3>>& n,
92 types::boundary_id bid,
93 types::material_id mid,
96 std::vector<Tensor<1, 3>>& values)
const
98 Assert(r.size() == values.size(),
99 ExcDimensionMismatch(r.size(), values.size()));
101 Assert(r.size() == n.size(), ExcDimensionMismatch(r.size(), n.size()));
103 for (
unsigned int i = 0; i < r.size(); i++) {
113 const std::vector<Point<3>>& r,
114 const std::vector<Tensor<1, 3>>& n,
115 types::material_id mid,
118 std::vector<Tensor<1, 3>>& values)
const
120 Assert(r.size() == values.size(),
121 ExcDimensionMismatch(r.size(), values.size()));
123 Assert(r.size() == n.size(), ExcDimensionMismatch(r.size(), n.size()));
125 for (
unsigned int i = 0; i < values.size(); i++) {
135 const unsigned int component)
const
147 const unsigned int component)
const
162 const std::vector<Point<3>>& r,
163 types::material_id mid,
165 std::vector<double>& values)
const
167 Assert(r.size() == values.size(),
168 ExcDimensionMismatch(r.size(), values.size()));
170 if ((mid == mid_1) || (mid == mid_3))
171 for (
unsigned int i = 0; i < values.size(); i++)
175 for (
unsigned int i = 0; i < values.size(); i++)
182 const std::vector<Point<3>>& r,
183 types::material_id mid,
185 std::vector<Tensor<1, 3>>& values)
const
187 Assert(r.size() == values.size(),
188 ExcDimensionMismatch(r.size(), values.size()));
190 for (
unsigned int i = 0; i < values.size(); i++) {
200 const std::vector<Tensor<1, 3>>& n,
201 types::boundary_id bid,
202 types::material_id mid,
205 std::vector<double>& values)
const
207 Assert(r.size() == values.size(),
208 ExcDimensionMismatch(r.size(), values.size()));
210 Assert(r.size() == n.size(), ExcDimensionMismatch(r.size(), n.size()));
212 for (
unsigned int i = 0; i < values.size(); i++)
213 values[i] = 1.0 / (mu_0 * r[i].norm());
219 const std::vector<Point<3>>& r,
220 const std::vector<Tensor<1, 3>>& n,
221 types::boundary_id bid,
222 types::material_id mid,
225 std::vector<Tensor<1, 3>>& values)
const
227 Assert(r.size() == values.size(),
228 ExcDimensionMismatch(r.size(), values.size()));
230 Assert(r.size() == n.size(), ExcDimensionMismatch(r.size(), n.size()));
232 for (
unsigned int i = 0; i < r.size(); i++) {
242 const std::vector<Point<3>>& r,
243 const std::vector<Tensor<1, 3>>& n,
244 types::material_id mid,
247 std::vector<Tensor<1, 3>>& values)
const
249 Assert(r.size() == values.size(),
250 ExcDimensionMismatch(r.size(), values.size()));
252 Assert(r.size() == n.size(), ExcDimensionMismatch(r.size(), n.size()));
254 for (
unsigned int i = 0; i < values.size(); i++) {
264 const unsigned int component)
const
275 const unsigned int component)
const
283 #pragma GCC diagnostic pop
void value_list(const std::vector< Point< dim >> &r, const std::vector< Tensor< 1, dim >> &n, types::material_id mid, unsigned int cuid, unsigned int fuid, std::vector< Tensor< 1, dim >> &values) const
Computes values of the surface free-current density, , on the right-hand side of the continuity condi...
void value_list(const std::vector< Point< dim >> &r, const std::vector< Tensor< 1, dim >> &n, types::boundary_id bid, types::material_id mid, unsigned int cuid, unsigned int fuid, std::vector< double > &values) const
Computes values of the parameter of the Robin boundary condition at quadrature points.
void value_list(const std::vector< Point< dim >> &r, types::material_id mid, unsigned int cuid, std::vector< Tensor< 1, dim >> &values) const
Computes the vector field on the right-hand side of the partial differential equation.
void value_list(const std::vector< Point< dim >> &r, const std::vector< Tensor< 1, dim >> &n, types::boundary_id bid, types::material_id mid, unsigned int cuid, unsigned int fuid, std::vector< Tensor< 1, dim >> &values) const
Computes values of the vector field on the right-hand side of the Robin boundary condition at quadra...
void value_list(const std::vector< Point< dim >> &r, types::material_id mid, unsigned int cuid, std::vector< double > &values) const
Computes values of permeability, , at quadrature points.
virtual double value(const Point< dim > &r, const unsigned int component=0) const override final
Returns the value of weight at point r. All error norms, , , and , at point r will be multiplied by t...