Thanks,

I changed the number to 2 and straight boundary comes out. But I got errors 
that I could not understand saying  

An error occurred in line <128> of file 
</Applications/deal.II-8.5-brew.app/Contents/Resources/brew/src/deal.II-8.5-brew/source/base/subscriptor.cc>
 
in function

    void dealii::Subscriptor::check_no_subscribers() const

The violated condition was: 

    counter == 0

Additional information: 

    Object of class N6dealii17SphericalManifoldILi2ELi2EEE is still used by 
1 other objects.

在 2018年3月28日星期三 UTC-7下午10:42:30,Jean-Paul Pelteret写道:
>
> Hi Weixiong,
>
> The issue that you’re seeing here is actually related to a discussion that 
> we’re currently having regarding the behaviour of boundaries and manifolds 
> (and will hopefully be fixed soon in the developer version). You’re hitting 
> the issue discussed here
> https://github.com/dealii/dealii/issues/5931
> and we’re working through a fix for it here
> https://github.com/dealii/dealii/pull/5932
>
> The simple solution is to use a manifold ID that does not coincide with a 
> boundary ID. Since your triangulation is not colourised, all of your 
> boundaries will have an indicator of 0. So try to use a manifold ID of, 
> say, 1. I think that this should fix the issue for you.
>
> I hope this helps.
>
> Best,
> Jean-Paul
>
> On 29 Mar 2018, at 07:13, Weixiong Zheng <zwxn...@gmail.com <javascript:>> 
> wrote:
>
> 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+un...@googlegroups.com <javascript:>.
> For more options, visit https://groups.google.com/d/optout.
> <Screenshot 2018-03-28 22.08.32.png>
>
>
>

-- 
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