15#ifndef dealii_integrators_l2_h
16#define dealii_integrators_l2_h
59 const double factor = 1.)
66 const double dx = fe.
JxW(k) * factor;
67 for (
unsigned int i = 0; i < n_dofs; ++i)
70 for (
unsigned int d = 0; d < n_components; ++d)
76 for (
unsigned int j = i + 1; j < n_dofs; ++j)
79 for (
unsigned int d = 0; d < n_components; ++d)
110 const std::vector<double> &weights)
120 const double dx = fe.
JxW(k) * weights[k];
121 for (
unsigned int i = 0; i < n_dofs; ++i)
124 for (
unsigned int d = 0; d < n_components; ++d)
130 for (
unsigned int j = i + 1; j < n_dofs; ++j)
133 for (
unsigned int d = 0; d < n_components; ++d)
157 template <
int dim,
typename number>
161 const std::vector<double> &input,
162 const double factor = 1.)
170 for (
unsigned int i = 0; i < n_dofs; ++i)
171 result(i) += fe.
JxW(k) * factor * input[k] * fe.
shape_value(i, k);
187 template <
int dim,
typename number>
191 const ArrayView<
const std::vector<double>> &input,
192 const double factor = 1.)
195 const unsigned int n_components = input.size();
201 for (
unsigned int i = 0; i < n_dofs; ++i)
202 for (
unsigned int d = 0; d < n_components; ++d)
203 result(i) += fe.
JxW(k) * factor *
243 const double factor1 = 1.,
244 const double factor2 = 1.)
246 const unsigned int n1_dofs = fe1.n_dofs_per_cell();
247 const unsigned int n2_dofs = fe2.n_dofs_per_cell();
264 const double dx = fe1.
JxW(k);
266 for (
unsigned int i = 0; i < n1_dofs; ++i)
267 for (
unsigned int j = 0; j < n1_dofs; ++j)
268 for (
unsigned int d = 0; d < n_components; ++d)
279 M11(i, j) += dx * u1 *
v1;
280 M12(i, j) += dx * u2 *
v1;
281 M21(i, j) += dx * u1 * v2;
282 M22(i, j) += dx * u2 * v2;
const unsigned int dofs_per_cell
double shape_value_component(const unsigned int i, const unsigned int q_point, const unsigned int component) const
const unsigned int n_quadrature_points
const FiniteElement< dim, spacedim > & get_fe() const
double JxW(const unsigned int q_point) const
const double & shape_value(const unsigned int i, const unsigned int q_point) const
unsigned int n_components() const
virtual size_type size() const override
#define DEAL_II_DEPRECATED
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_CLOSE
static ::ExceptionBase & ExcNotImplemented()
#define Assert(cond, exc)
#define AssertDimension(dim1, dim2)
void L2(Vector< number > &result, const FEValuesBase< dim > &fe, const std::vector< double > &input, const double factor=1.)
void mass_matrix(FullMatrix< double > &M, const FEValuesBase< dim > &fe, const double factor=1.)
void jump_matrix(FullMatrix< double > &M11, FullMatrix< double > &M12, FullMatrix< double > &M21, FullMatrix< double > &M22, const FEValuesBase< dim > &fe1, const FEValuesBase< dim > &fe2, const double factor1=1., const double factor2=1.)
void weighted_mass_matrix(FullMatrix< double > &M, const FEValuesBase< dim > &fe, const std::vector< double > &weights)
Library of integrals over cells and faces.