9 #ifndef __stokes_noforce_h 10 #define __stokes_noforce_h 12 #include <amandus/integrator.h> 13 #include <deal.II/base/polynomial.h> 14 #include <deal.II/base/tensor.h> 15 #include <deal.II/integrators/divergence.h> 16 #include <deal.II/integrators/l2.h> 17 #include <deal.II/integrators/laplace.h> 38 virtual void cell(DoFInfo<dim>& dinfo, IntegrationInfo<dim>& info)
const;
39 virtual void boundary(DoFInfo<dim>& dinfo, IntegrationInfo<dim>& info)
const;
40 virtual void face(DoFInfo<dim>& dinfo1, DoFInfo<dim>& dinfo2, IntegrationInfo<dim>& info1,
41 IntegrationInfo<dim>& info2)
const;
49 this->input_vector_names.push_back(
"Newton iterate");
56 Assert(info.values.size() >= 1, ExcDimensionMismatch(info.values.size(), 1));
57 Assert(info.gradients.size() >= 1, ExcDimensionMismatch(info.values.size(), 1));
60 dinfo.vector(0).block(0), info.fe_values(0), make_slice(info.gradients[0], 0, dim));
62 Divergence::gradient_residual(
63 dinfo.vector(0).block(0), info.fe_values(0), info.values[0][dim], -1.);
65 dinfo.vector(0).block(1), info.fe_values(1), make_slice(info.gradients[0], 0, dim), 1.);
72 std::vector<std::vector<double>> null(
73 dim, std::vector<double>(info.fe_values(0).n_quadrature_points, 0.));
75 const unsigned int deg = info.fe_values(0).get_fe().tensor_degree();
76 Laplace::nitsche_residual(dinfo.vector(0).block(0),
78 make_slice(info.values[0], 0, dim),
79 make_slice(info.gradients[0], 0, dim),
81 Laplace::compute_penalty(dinfo, dinfo, deg, deg));
87 IntegrationInfo<dim>& info2)
const 89 const unsigned int deg = info1.fe_values(0).get_fe().tensor_degree();
90 Laplace::ip_residual(dinfo1.vector(0).block(0),
91 dinfo2.vector(0).block(0),
94 make_slice(info1.values[0], 0, dim),
95 make_slice(info1.gradients[0], 0, dim),
96 make_slice(info2.values[0], 0, dim),
97 make_slice(info2.gradients[0], 0, dim),
98 Laplace::compute_penalty(dinfo1, dinfo2, deg, deg));
Definition: stokes/eigen.h:37
void cell_residual(dealii::Vector< number > &result, const dealii::FEValuesBase< dim > &fe, const dealii::VectorSlice< const std::vector< std::vector< dealii::Tensor< 1, dim >>>> &input, double lambda=0., double mu=1.)
Definition: elasticity/integrators.h:23
Definition: stokes/noforce.h:33
Definition: integrator.h:29