Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Edge nodes introduced even when preservation is requested #10

Open
austinherrema opened this issue Feb 15, 2019 · 4 comments
Open

Edge nodes introduced even when preservation is requested #10

austinherrema opened this issue Feb 15, 2019 · 4 comments

Comments

@austinherrema
Copy link

It seems that when a region has a very high aspect ratio (e.g. a triangle with a very small angle), nodes are inserted into the border even when I have ref1 set to preserve. Is this the expected behavior? Is there anything I can do to be more strict about preserving edge nodes?

@dengwirda
Copy link
Owner

dengwirda commented Mar 4, 2019

@austinherrema Yes, there are presently some cases where the boundary will be split regardless -- as you say, this should generally only happen adjacent to sharp features.

Refinement-style algorithms (like those in MESH2D) need to ensure that sharp boundary features are "protected" in some way (otherwise the refinement won't converge). This generally involves forming isosceles triangles in the apex of any sharp angles in the geometry. I suspect this is where the boundary splitting you mention is coming from.

It may be possible to do something different in these cases when the preserve option is selected, but I'll need to think a bit more thoroughly on this.

If it's possible to send an example geometry this would be a help.

@austinherrema
Copy link
Author

Makes sense. I put together an example geomety/script that demonstrates this behavior. Let me know if you would like further info!

image

@dengwirda
Copy link
Owner

@austinherrema Thanks for the example -- I think this is definitely due to the "protection" business I described.

I'll see whether anything different can be done in these type of cases, but this may require a bit of a re-think of the algorithm's logic.

In this particular case though, if absolutely no new nodes were inserted anywhere on the boundary, you would end up with some (extremely!) poor quality triangles -- is this really the desired output?

@austinherrema
Copy link
Author

@dengwirda Sorry for the late response. I do understand that the end result would be extremely poor quality triangles. However, in my case the edge nodes are used to establish connectivity to bordering polygons which are meshed independently (I do know mesh2d has capabilities for meshing multiple regions simultaneously--I had some other issues with that which I guess would be another topic). When border nodes are inserted, and because I cannot easily track where they are inserted, it is difficult for me to maintain connectivity to bordering polygons. This lack of connectivity is more problematic for me than the poor quality triangles, which I can clean up using my own methods later on.

I understand if this is simply a limitation of the approach in mesh2d right now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants