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()));
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()));
105 for (
unsigned int i = 0; i < r.size(); i++) {
115 const std::vector<Point<3>>& r,
116 const std::vector<Tensor<1, 3>>& n,
117 types::material_id mid,
120 std::vector<Tensor<1, 3>>& values)
const
122 Assert(r.size() == values.size(),
123 ExcDimensionMismatch(r.size(), values.size()));
125 Assert(r.size() == n.size(), ExcDimensionMismatch(r.size(), n.size()));
127 for (
unsigned int i = 0; i < values.size(); i++) {
137 const unsigned int component)
const
149 const unsigned int component)
const
164 const std::vector<Point<3>>& r,
165 types::material_id mid,
167 std::vector<double>& values)
const
169 Assert(r.size() == values.size(),
170 ExcDimensionMismatch(r.size(), values.size()));
172 for (
unsigned int i = 0; i < values.size(); i++)
179 const std::vector<Point<3>>& r,
180 types::material_id mid,
182 std::vector<Tensor<1, 3>>& values)
const
184 Assert(r.size() == values.size(),
185 ExcDimensionMismatch(r.size(), values.size()));
187 for (
unsigned int i = 0; i < values.size(); i++) {
197 const std::vector<Tensor<1, 3>>& n,
198 types::boundary_id bid,
199 types::material_id mid,
202 std::vector<double>& values)
const
204 Assert(r.size() == values.size(),
205 ExcDimensionMismatch(r.size(), values.size()));
207 Assert(r.size() == n.size(), ExcDimensionMismatch(r.size(), n.size()));
209 for (
unsigned int i = 0; i < values.size(); i++)
210 values[i] = 1.0 / (mu_0 * r[i].norm());
216 const std::vector<Point<3>>& r,
217 const std::vector<Tensor<1, 3>>& n,
218 types::boundary_id bid,
219 types::material_id mid,
222 std::vector<Tensor<1, 3>>& values)
const
224 Assert(r.size() == values.size(),
225 ExcDimensionMismatch(r.size(), values.size()));
227 Assert(r.size() == n.size(), ExcDimensionMismatch(r.size(), n.size()));
229 for (
unsigned int i = 0; i < r.size(); i++) {
237 const std::vector<Point<3>>& r,
238 const std::vector<Tensor<1, 3>>& n,
239 types::material_id mid,
242 std::vector<Tensor<1, 3>>& values)
const
244 Assert(r.size() == values.size(),
245 ExcDimensionMismatch(r.size(), values.size()));
247 Assert(r.size() == n.size(), ExcDimensionMismatch(r.size(), n.size()));
249 for (
unsigned int i = 0; i < values.size(); i++) {
259 const unsigned int component)
const
270 const unsigned int component)
const
278 #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...