if (cycle == 0)
{
//GridGenerator::hyper_cube (triangulation, -1, 1);
GridGenerator::cylinder(triangulation,100,200);
static const CylinderBoundary<dim> outer_cylinder (100,0);
this->triangulation.set_boundary(0,outer_cylinder);
static const CylinderBoundary<dim-1,dim> surface_cyl(100,0);
triangulation.refine_global (2);
this->triangulation_surface.set_boundary(0,surface_cyl);
GridGenerator::extract_boundary_mesh(triangulation,triangulation_surface);
std::cout<<triangulation_surface.n_used_vertices()<<std::endl;
std::cout<<triangulation_surface.n_active_cells(2)<<std::endl;
}
Triangulation<dim> triangulation;
//XXX
Triangulation<dim-1,dim> triangulation_surface;
DoFHandler<dim> dof_handler;
//XXX
DoFHandler<dim-1,dim> dof_handler_surface;
template <int dim>
ElasticProblem<dim>::ElasticProblem ()
:
dof_handler (triangulation),
dof_handler_surface(triangulation_surface),
fe (FE_Q<dim>(1), dim)
{}
--- running the problem in debug mode gives:
An error occurred in line <9224> of file </Users/myname/dealii-8.3.0/source/grid/tria.cc> in function
void dealii::Triangulation<dim, spacedim>::create_triangulation(const std::vector<dealii::Point<spacedim> >&, const std::vector<dealii::CellData<dim> >&, const dealii::SubCellData&) [with int dim = 2; int spacedim = 3]
The violated condition was:
neighbor->direction_flag() == false
The name and call sequence of the exception was:
ExcNonOrientableTriangulation()
Additional Information:
(none)
Stacktrace:
-----------
#0 1 libdeal_II.g.8.3.0.dylib 0x0000000107c143b8 _GLOBAL__sub_I_mesh_worker_vector_selector.cc + 477900: 1 libdeal_II.g.8.3.0.dylib 0x0000000107c143b8 _GLOBAL__sub_I_mesh_worker_vector_selector.cc