7 #ifndef __matrix_stokes_h 8 #define __matrix_stokes_h 10 #include <amandus/integrator.h> 11 #include <deal.II/integrators/divergence.h> 12 #include <deal.II/integrators/l2.h> 13 #include <deal.II/integrators/laplace.h> 14 #include <deal.II/meshworker/integration_info.h> 43 virtual void cell(MeshWorker::DoFInfo<dim>& dinfo, MeshWorker::IntegrationInfo<dim>& info)
const;
44 virtual void boundary(MeshWorker::DoFInfo<dim>& dinfo,
45 MeshWorker::IntegrationInfo<dim>& info)
const;
46 virtual void face(MeshWorker::DoFInfo<dim>& dinfo1, MeshWorker::DoFInfo<dim>& dinfo2,
47 MeshWorker::IntegrationInfo<dim>& info1,
48 MeshWorker::IntegrationInfo<dim>& info2)
const;
53 Matrix<dim>::cell(MeshWorker::DoFInfo<dim>& dinfo, MeshWorker::IntegrationInfo<dim>& info)
const 55 AssertDimension(dinfo.n_matrices(), 4);
58 dinfo.matrix(1,
false).matrix.copy_transposed(dinfo.matrix(2,
false).matrix);
64 typename MeshWorker::IntegrationInfo<dim>& info)
const 66 const unsigned int deg = info.fe_values(0).get_fe().tensor_degree();
67 Laplace::nitsche_matrix(dinfo.matrix(0,
false).matrix,
69 Laplace::compute_penalty(dinfo, dinfo, deg, deg));
75 MeshWorker::IntegrationInfo<dim>& info1,
76 MeshWorker::IntegrationInfo<dim>& info2)
const 78 const unsigned int deg = info1.fe_values(0).get_fe().tensor_degree();
79 Laplace::ip_matrix(dinfo1.matrix(0,
false).matrix,
80 dinfo1.matrix(0,
true).matrix,
81 dinfo2.matrix(0,
true).matrix,
82 dinfo2.matrix(0,
false).matrix,
85 Laplace::compute_penalty(dinfo1, dinfo2, deg, deg));
void cell_matrix(dealii::FullMatrix< double > &M, 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: matrix_integrators.h:23
Definition: stokes/matrix.h:40
Definition: stokes/eigen.h:37
Definition: integrator.h:29