// As usual, we start by including some well-known files:
#include <deal.II/base/quadrature_lib.h>
#include <deal.II/base/function.h>
-#include <deal.II/base/logstream.h>
#include <deal.II/base/utilities.h>
#include <deal.II/base/tensor.h>
#include <deal.II/grid/tria.h>
#include <deal.II/grid/grid_generator.h>
-#include <deal.II/grid/tria_accessor.h>
-#include <deal.II/grid/tria_iterator.h>
-#include <deal.II/grid/manifold_lib.h>
#include <deal.II/grid/grid_refinement.h>
#include <deal.II/grid/grid_tools.h>
#include <deal.II/dofs/dof_handler.h>
#include <deal.II/dofs/dof_renumbering.h>
-#include <deal.II/dofs/dof_accessor.h>
#include <deal.II/dofs/dof_tools.h>
#include <deal.II/fe/fe_q.h>
{}
virtual double value(const Point<dim> & p,
const unsigned int component) const override;
-
- virtual void vector_value(const Point<dim> &p,
- Vector<double> & values) const override;
};
template <int dim>
return 0;
}
- template <int dim>
- void BoundaryValues<dim>::vector_value(const Point<dim> &p,
- Vector<double> & values) const
- {
- for (unsigned int c = 0; c < this->n_components; ++c)
- values(c) = BoundaryValues<dim>::value(p, c);
- }
-
-
// @sect3{BlockSchurPreconditioner for Navier Stokes equations}
//
// The block
std::vector<Tensor<2, dim>> grad_phi_u(dofs_per_cell);
std::vector<double> phi_p(dofs_per_cell);
- typename DoFHandler<dim>::active_cell_iterator cell =
- dof_handler.begin_active(),
- endc = dof_handler.end();
-
- for (; cell != endc; ++cell)
+ for (const auto &cell : dof_handler.active_cell_iterators())
{
fe_values.reinit(cell);