I changed the strategy that I don't assign manifold first. I merge two 
triangulations. Then, I loop over cells to see if cell has a side on the 
merged interior boundary. If so, I set manifold id to it.

  
const Point<2> center (0,0);

const SphericalManifold<2> boundary_description(center); 
tria.set_manifold (0, boundary_description); 
for (typename Triangulation<2>::active_cell_iterator 
       cell=tria.begin_active(); cell!=tria.end(); ++cell) { 
  for (int fn=0; fn<4; ++fn) { 
    auto ctr = cell->face(fn)->center(); 
    auto x=ctr[0],y=ctr[1]; 
    if (0.92<std::sqrt(x*x+y*y)<1.) { 
        cell->set_all_manifold_ids(0); 
        break; 
    } 
  } 
} 
tria.refine_global(2);
The result is super strange that the boundary is also exterior boundary is 
also curved.

在 2018年3月28日星期三 UTC-7下午9:00:50,Weixiong Zheng写道:
>
> Hi,
>
> I just started to try manifold and tria merging functionalities. My 
> question comes from the problem that I have to merge two curved 
> triangulations. When refining, how do I make sure the merged boundaries are 
> still curved?
>
> I currently set manifold before merging triangulation but it seems not to 
> work as desired.
>
> See the attachment pls.
>
> Thanks for any advice in advance.
> Weixiong
>

-- 
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 dealii+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to