Mesh for Finite Element Analysis

Hi guys, i’m trying to mesh this simple geometry with the purpose of performing a Finite Element Analysis.


The 3 plates are disconnected and to obtain the finite element model i tried to use quadremesh and mesh commands without success because the 3 meshes are not connected to each other.
After this i tried to join the 3 breps and then use the meshing commands but the join breps function is unable to do his job leaving 3 three breps disconnected.
Afterwards i tried to mesh the three brep, join the three meshes and then remeshing the structure but that didn’t work either: the procedure creates a single mesh but not connected at the intersection of the plates.
Someone can help me?
Thanks in advance for the help.

1 Like

Hi -

Perhaps the IguanaMesh plug-in can do this? The description specifically mentions non-manifold meshes. @ssuzuki would know more.
Iguana Mesh | Food4Rhino
-wim

1 Like

Without seeing any code, we can only guess why Bfrep Join failed but one obvious guess is that the surfaces are in different branches? Try flattening the input to Bfrep Join? I created a model to test and illustrate that and much to my surprise, it fails for me too. (!?)

Yet works as expected when joining any two of the three surfaces. But this fails too.

brep_join_2020Dec28a2

It’s a Rhino/GH gotcha.

Oh look, Mesh Join works where Brep Join fails.

Wim, you and Iguana Mesh saved my life. I just installed that plugin and try to mesh the surfaces with the basic commands and it works!!!
Thank you really so much.
The results are really impressive.
The example in the description was only a first step towards what i was aiming to do. Here the first attempt with my final project.

1 Like

I think you could take advantage of the planes of symmetry so that your meshing will become more uniform.

Are you sure the plugin is needed? Mesh Join works where Brep Join fails. (see last post)

Hi Joseph, mesh join is able to build a single mesh but non properly connected for a Finite Element Analysis.
In the initial example i cut the holes with the aim of making a non-symmetrical structure and in the 4th images of my initial post you can see that the meshes are not connected in that case, even if i use the join mesh command.
Thanks anyway for the help Joseph!


Mesh join works as in rhino… un-intuitively it joins also completely disjointed meshes into a single mesh object…

If your geometries have edges lengths with a common divider , you could set mesh parameters “max length” and “min length” as that value (or a sub-fraction) and you should obtain meshes that have common vertexes at edges…
Not a reliable method, though…

Crazy! But I’m sure there is a logical, academic reason for it…? :man_facepalming:

Thank you for the reply Andrew. I cut the original brep with a lot of planes with the purpose of creating a uniform mesh as you said in your reply.
On the right you can see the initial brep, and on the left the brep cutted with planes and ready to be meshed.

I tried that method but as you said it is not so good. The only way i found before i wrote the post was to call the Align Vertices function. Unluckily that command generate a lot of error when i set high values for the tolerance parameter. On the other hands, low values of tolerance do not let the script to identify near vertices.

I think that the basic “mesh object” is just:

  • a list of 3d points;
  • a list of faces (where each face is a list of 3/4 indexes)

So there is no information of “solid”, “edge”, etc etc.
The mesh object have no other information…

Joining 2 meshes is just putting together the list of vertexes and the list of faces (with correctly updated indexes).

Joseph -

In Rhino, a single naked edge of a NURBS surface can only be joined to one other naked edge of a NURBS surface. There’s the NonManifoldMerge command that will override that basic behavior but down-stream operations are likely to fail.

Meshes are a completely different thing and you can join two mesh faces that are nowhere near each other.
-wim

Could you include your gh file? I can’t seem to figure out how to mesh multiple separate surfaces so that the elements line up on the edges.

Here’s a way you can mesh intersecting surfaces with matching edges in regular grasshopper:
non_manifold_remesh.gh (18.5 KB)


Let me know if you have any issues adjusting the tolerances.

4 Likes

Hi,

How do you make the mesh? Can you tell me how to do it or can you share the gh file?

Best regards
Sean

Hello. Can u share the grass-file, pls?

Hi - how did OP and others join each of the individual surfaces before meshing? I’m using Iguana, but I can’t see how it directly solves OP’s initial problem.