#include <deal.II/grid/tria_iterator.h>
#include <deal.II/grid/filtered_iterator.h>
#include <deal.II/grid/manifold_lib.h>
-#include <deal.II/grid/tria_boundary_lib.h>
#include <deal.II/grid/grid_tools.h>
#include <deal.II/grid/grid_refinement.h>
// instead of a simple cube geometry), and use the
// <code>project_temperature_field()</code> function instead of the library
// function <code>VectorTools::project</code>.
- // In this example, however, we define both a SphericalManifold() and a
- // HyperShellBoundary() object to describe the geometry of the domain.
- // The reason we do so here, is because we want to impose no normal flux
- // boundary conditions, and they require knowledge of the normals to a boundary,
- // which a SphericalManifold() alone cannot compute. Consequently, we set
- // all manifold indicators of cells and adjacent edges to zero, then overwrite
- // the manifold indicators of all boundary objects by one. We then associate
- // a SphericalManifold object with the former, and the HyperShellBoundary
- // object that can also provide normal vectors with the latter.
template <int dim>
void BoussinesqFlowProblem<dim>::run ()
{
EquationData::R1,
(dim==3) ? 96 : 12,
true);
- triangulation.set_all_manifold_ids(0);
- triangulation.set_all_manifold_ids_on_boundary(1);
- static SphericalManifold<dim> manifold;
- static HyperShellBoundary<dim> boundary;
- triangulation.set_manifold (0, manifold);
- triangulation.set_manifold (1, boundary);
global_Omega_diameter = GridTools::diameter (triangulation);