Dear all,
I hope you are well in these uncertain times.

I have been trying to use the OpenCASCADE library to set-up my manifolds. 
The goal of this is to be able to do CFD simulations in complex geometry, 
but use an initial very coarse mesh made with GMSH and use the dynamics 
mesh adaptation to adapt the mesh while having the adaptation be CAD-aware. 
The geometry is complex, so fixing the manifold analytically appears to be 
a bad idea.
I started from step-54, which compiles and works well on my machines.
However, I am unable to "make it work" with my own generated Salome STEP 
and gmsh MSH files.
My CAD is in metric, so I adjusted the scaling to use a scaling of 1. My 
mesh also contains numerous wires, so I disabled that aspect and only 
focused on refining with the faces which I label by looping over them.
However, no matter what occurs I get an error thrown:


--------------------------------------------------------
An error occurred in line <114> of file 
</home/blab/soft/dealii/dealii/dealii/source/opencascade/manifold_lib.cc> 
in function
    dealii::Point<spacedim> 
dealii::OpenCASCADE::NormalProjectionManifold<dim, 
spacedim>::project_to_manifold(const dealii::ArrayView<const 
dealii::Point<spacedim> >&, const dealii::Point<spacedim>&) const [with int 
dim = 2; int spacedim = 3]
The violated condition was: 
    closest_point(sh, surrounding_points[i], tolerance) 
.distance(surrounding_points[i]) < std::max(tolerance * 
surrounding_points[i].norm(), tolerance)
Additional information: 
    The point [ 0.1 0 0 ] is not on the manifold.

Stacktrace:
-----------
#0  /home/blab/soft/dealii/dealii/build/lib/libdeal_II.g.so.9.2.0-pre: 
dealii::OpenCASCADE::NormalProjectionManifold<2, 
3>::project_to_manifold(dealii::ArrayView<dealii::Point<3, double> const, 
dealii::MemorySpace::Host> const&, dealii::Point<3, double> const&) const
#1  /home/blab/soft/dealii/dealii/build/lib/libdeal_II.g.so.9.2.0-pre: 
dealii::FlatManifold<2, 
3>::get_new_point(dealii::ArrayView<dealii::Point<3, double> const, 
dealii::MemorySpace::Host> const&, dealii::ArrayView<double const, 
dealii::MemorySpace::Host> const&) const
#2  /home/blab/soft/dealii/dealii/build/lib/libdeal_II.g.so.9.2.0-pre: 
dealii::Manifold<2, 
3>::get_new_point_on_line(dealii::TriaIterator<dealii::TriaAccessor<1, 2, 
3> > const&) const
#3  /home/blab/soft/dealii/dealii/build/lib/libdeal_II.g.so.9.2.0-pre: 
#4  /home/blab/soft/dealii/dealii/build/lib/libdeal_II.g.so.9.2.0-pre: 
#5  /home/blab/soft/dealii/dealii/build/lib/libdeal_II.g.so.9.2.0-pre: 
dealii::TriaAccessor<1, 2, 3>::center(bool, bool) const
#6  /home/blab/soft/dealii/dealii/build/lib/libdeal_II.g.so.9.2.0-pre: 
dealii::Triangulation<2, 3>::DistortedCellList 
dealii::internal::TriangulationImplementation::Implementation::execute_refinement<3>(dealii::Triangulation<2,
 
3>&, bool)
#7  /home/blab/soft/dealii/dealii/build/lib/libdeal_II.g.so.9.2.0-pre: 
dealii::Triangulation<2, 3>::execute_refinement()
#8  /home/blab/soft/dealii/dealii/build/lib/libdeal_II.g.so.9.2.0-pre: 
dealii::Triangulation<2, 3>::execute_coarsening_and_refinement()
#9  /home/blab/soft/dealii/dealii/build/lib/libdeal_II.g.so.9.2.0-pre: 
dealii::Triangulation<2, 3>::refine_global(unsigned int)
#10  ./step-54: Step54::TriangulationOnCAD::refine_mesh()
#11  ./step-54: Step54::TriangulationOnCAD::run()
#12  ./step-54: main
--------------------------------------------------------

I have tried some elements :
- Playing with the tolerance of the CAD
- Writing my CAD from the OpenCASCADE STEP object and then opening it again 
in Salome to see that it is interpreted correctly +

However, I always seem to face an issue where my CAD does not appear to 
generate a valid manifold. I have joined my code as well as the salome HDF 
file and gmsh GEO file used to generate the CAD and meshes respectively.
I must admit I am quite at lost here as to why both don't coincide. Any 
advices on where to proceed from there?
Best :)!
Bruno

-- 
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/fdc5899b-53d1-41ca-8efe-72742a52aed6%40googlegroups.com.

Attachment: topology_adaptation.tar.gz
Description: Binary data

Reply via email to