Meshing a circle in quadrilateral shapes

I've been given a task on how to mesh a circle, like the attached image. Can anybody help me where do start?

7 Comments

Start in the middle, and work out. I.e., the middle is a rectangular grid. Then create sets of quad elements outside, one row at a time, moving closer each time to the circular boundary. As each "row" gets closer to the circular boundary, make them approach a circular shape.
One additional piece of advice. The points on the arc portions outside the square in the center are probably always on four circular arcs with varying curvature for each of the four pieces in such a way that the outer arcs have curvature 1/R, where R is the radius of the original circle making a single circle, the innermost arcs of curvature zero giving a square, and the intermediate arcs with uniformly-spaced curvature values between these two extremes.
This is all quite do-able. (I did a crude form of it on my computer and it seems to agree with your image.) However, the mesh you create will not be a single rectangular mesh in the matlab sense but will be two meshes of sizes 11 x 11 and 10 x 40, (or 9 x 9 and 11 x 40.)
Think of it like this: Start at every node on the boundary of the rectangular grid. Then vislize a ray that extends to the circle from those points, radially outward.
Now, cut each of those rays into an equal number of parts. That will allow you to create a set of quad elements that turn into an approximate circle at the perimeter.
@John: I think I disagree about the “equal number of parts” for dividing up the rays. In the image if you follow along the rays that run horizontally or vertically from the center, as you get to the outer 11 points, the intervals between the successive points definitely gets larger as you move outward. I interpret that as indicating a uniformly increasing curvature in the associated arc, presumably beginning at zero and ending at the curvature of the outermost circle.
It seems we both guessed wrong, John. I just finished matching up some arcs I generated against those in the given diagram and they don’t match very well. The curvature of the image’s arcs decreases as one moves inwards but not with uniform spacing. I don’t know what the formula would be. I think Damon will have to determine that.
I can come up with a code that does the circular part, but when it comes to the rectangular part of the shape, I'm clueless...
I'll keep you guys updated as I go through this.
Roger - yes, it is true that one might get a closer approximation of the goal shape with a nonlinear spacing along some of those arcs. It should not be too far off though as a starting point.
Damon -
help meshgrid

Sign in to comment.

More Answers (1)

KSSV
KSSV on 22 Jun 2016
It can be done using Transfinite Interpolation (TFI). You have to divide your region into five parts (as shown in the attached figure). TFI allows you to mesh the domain into quad's given four sides of the domain. You have got five domains, each domain have four sides. Using TFI mesh each domain and then merge the domains. You can refer the below link for TFI.

8 Comments

Thanks for your answer But for some reason, I can't download the file.
Do you have any mirrors?
I am attaching the file here. This will demonstrate TFI, you have to apply this analogy to your case.
Thank you very much, I'll keep you posted.
I just have another question... I'm having a little bit of trouble understanding your code for to make the boundaries for parts 2,3,4,5.
could you explain a little bit to me?
and another thing to request? could you please upload http://in.mathworks.com/matlabcentral/fileexchange/44670-mesh-a-plate-with-hole as well? I can't download it.
Hey what's the problem you face while downloading mathwork files? This code shall help you pretty much.
It just redirects me to the same page when I press download which I have no idea why!
Thanks for the code last time. It was a great help. I was just wondering if there is anyway to have the coordinates of each node of each quadrilateral element to be shown in a table? If so, how do you suggest it?

Sign in to comment.

Categories

Find more on Graphics Performance in Help Center and File Exchange

Products

Asked:

on 18 Jun 2016

Commented:

on 18 Jul 2016

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!