On Thu, Dec 4, 2014 at 1:03 PM, Xujun Zhao <xzha...@gmail.com> wrote:
> Hi Folks,
>
> I found there were bugs in the ElemCutter class in LibMesh. When I run the
> example under /subdomains/ex3/, It works fine when the refinement times
> below 4, but error comes out when this value is set 5 or above
>
> **---------------------------------------------------------------------------------------------------------
> adding cut point (d_star, x_star) = 0.610641 , (x,y,z)=(0.610641,        0,
> 0)
> Inside cut face element!
> Error:  Input must have at least three input vertices.
> **---------------------------------------------------------------------------------------------------------
>
> As another case, even the refinement value is still remains 4, if I changed
> the radius from 0.5 to 0.4, it gives rise the same error.
>
> Finally, I checked the source codes and found that it may come from the use
> of endpoint_tol in the member function find_intersection_points().
> I have two way to fix it. One is just simply remove this tol or use smaller
> tol, which works temporarily, but it will generate problems when devising
> xfem. The other is to use uniform tol in all the member functions, for
> example is_inside(), is_outside(), is_cut(), in addition, this tol must be
> set a value dependent of the element size. This is probably more reasonable.
> At least it runs well up to now in my codes. I can share it if it is needed
> :)

Yes, do you have a github account?  Please consider forking libmesh
and pushing your branch for others to take a look at.  Ben Kirk is the
author of ElemCutter; he may have some comments.


> In addition, I personally think this ElemCutter can be further improved if
> the element order can be considered. For example, for QUAD9 element, if only
> one node at the middle of an edge in the "-" side of the interface, the
> others are on the "+" side, then this algorithm cannot find it. In other
> words, it is only first order accuracy! One solution is to first divide the
> higher order element into subelement according to their nodes, then do the
> subtriangulation in each of them.

I'm not too sure what you mean by "+", "-", etc. but once you have
some working code/example, we would be happy to take a look.

-- 
John

------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=164703151&iu=/4140/ostg.clktrk
_______________________________________________
Libmesh-devel mailing list
Libmesh-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-devel

Reply via email to