16#include <deal.II/base/quadrature_lib.h>
17#include <deal.II/base/function.h>
19#include <deal.II/lac/full_matrix.h>
20#include <deal.II/lac/vector.h>
21#include <deal.II/lac/solver_control.h>
22#include <deal.II/lac/solver_cg.h>
23#include <deal.II/lac/precondition.h>
24#include <deal.II/lac/sparse_matrix.h>
25#include <deal.II/lac/dynamic_sparsity_pattern.h>
27#include <deal.II/grid/tria.h>
28#include <deal.II/grid/manifold_lib.h>
29#include <deal.II/grid/grid_generator.h>
31#include <deal.II/dofs/dof_handler.h>
32#include <deal.II/dofs/dof_tools.h>
34#include <deal.II/fe/fe_q.h>
35#include <deal.II/fe/fe_values.h>
36#include <deal.II/fe/mapping_q.h>
38#include <deal.II/numerics/data_out.h>
39#include <deal.II/numerics/vector_tools.h>
40#include <deal.II/numerics/matrix_tools.h>
45using namespace dealii;
78template <
int dim,
int n_equations>
89 : Function<dim>(n_equations)
103 Vector<double> &values)
const override;
116 std::vector< Tensor< 1, dim, double > > & gradients )
const override;
130template <
int dim,
int n_equation>
132 Vector<double> &values)
const
140 values(0) = std::exp(p[0]) * std::cos(p[1]);
141 values(1) = (- 2) * p[0] * p[1];
154template <
int dim,
int n_equations>
156 std::vector< Tensor<1, dim, double > > & gradients )
const
159 gradients.resize(n_equations);
170 gradients[0][0] = std::exp(p[0]) * std::cos(p[1]);
171 gradients[0][1] = std::exp(p[0]) * (-1) * std::sin(p[1]);
172 gradients[1][0] = - 2 * p[1];
173 gradients[1][1] = - 2 * p[0];
Vector-valued manufactured solution used by the saddle-point program.
Definition solution.cc:80
virtual void vector_gradient(const Point< dim > &p, std::vector< Tensor< 1, dim, double > > &gradients) const override
Evaluate the gradient of every component at a single point.
Definition solution.cc:155
Solution()
Construct a Solution with n_equations components.
Definition solution.cc:88
virtual void vector_value(const Point< dim > &p, Vector< double > &values) const override
Evaluate the manufactured solution at a single point.
Definition solution.cc:131