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