13#ifndef dealii_integrators_l2_h
14#define dealii_integrators_l2_h
57 const double factor = 1.)
64 const double dx = fe.
JxW(k) * factor;
65 for (
unsigned int i = 0; i < n_dofs; ++i)
68 for (
unsigned int d = 0; d < n_components; ++d)
74 for (
unsigned int j = i + 1; j < n_dofs; ++j)
77 for (
unsigned int d = 0; d < n_components; ++d)
108 const std::vector<double> &weights)
118 const double dx = fe.
JxW(k) * weights[k];
119 for (
unsigned int i = 0; i < n_dofs; ++i)
122 for (
unsigned int d = 0; d < n_components; ++d)
128 for (
unsigned int j = i + 1; j < n_dofs; ++j)
131 for (
unsigned int d = 0; d < n_components; ++d)
155 template <
int dim,
typename number>
159 const std::vector<double> &input,
160 const double factor = 1.)
168 for (
unsigned int i = 0; i < n_dofs; ++i)
169 result(i) += fe.
JxW(k) * factor * input[k] * fe.
shape_value(i, k);
185 template <
int dim,
typename number>
189 const ArrayView<
const std::vector<double>> &input,
190 const double factor = 1.)
193 const unsigned int n_components = input.size();
199 for (
unsigned int i = 0; i < n_dofs; ++i)
200 for (
unsigned int d = 0; d < n_components; ++d)
201 result(i) += fe.
JxW(k) * factor *
241 const double factor1 = 1.,
242 const double factor2 = 1.)
244 const unsigned int n1_dofs = fe1.n_dofs_per_cell();
245 const unsigned int n2_dofs = fe2.n_dofs_per_cell();
262 const double dx = fe1.
JxW(k);
264 for (
unsigned int i = 0; i < n1_dofs; ++i)
265 for (
unsigned int j = 0; j < n1_dofs; ++j)
266 for (
unsigned int d = 0; d < n_components; ++d)
277 M11(i, j) += dx * u1 *
v1;
278 M12(i, j) += dx * u2 *
v1;
279 M21(i, j) += dx * u1 * v2;
280 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.