Tubular or cylindrical optimisation domain

Dear experts,

I want to optimise the shape of a cylindrical grid column that has to remain hollow. However, Peregrine apparently does not work when I use a tubular domain to fulfil this constraint. Similarly, when the inner radius is reduced to 0, it also does not work. But, on the contrary, if I use just a bounding box (also enclosing supports and forces) it works fine.

Is there any limitation for cylindrical (hollow or not) domain shapes in Peregrine? Am I doing something wrong? Any suggestions or workarounds?

By the way, is there some way to constrain the truss optimisation to a cylindrical plane surface?

Thanks for your kind help!

Hi Vigardo,

You should be able to create a valid tubular design domain using an extrusion of the boundaries of a set of overlapping inner and outer circles. I have attached a file where this has been done. The optimization problem itself is a little simplistic, but should hopefully demonstrate the method adequately. There is also an example of a cylindrical domain with a user-defined node layout available in the Peregrine example files (Feature Demo > LPSolver_UserNodes.gh).



Tubular_Design_Domain.gh (17.2 KB)

1 Like

Hi Tom, thanks for your kind help!

Your file works, but I can´t understand why mine does not. I generated a tubular domain definition in a slightly different way, but that provides a tubular “Closed Brep” to the “Mesh Brep” object, exactly as you do. In TrussCyl2D.gh (38.4 KB) file you can check that the bounding box domain definition works fine whereas my tubular does not. Would you explain me why?

In addition, I tested in said file a cylindrical surface domain, but it also not worked. I think that this “2D-like” approach should be faster than the others, shouldn´t it? Is there any way to do this in Peregrine? Thanks!

Hi Vigardo,

It’s an issue to do with the Cylinder objects being used to define the geometry. They are not allowing a nodal grid to be defined, which means that the optimization can’t occur. I suspect it’s something to do with whether they are properly closed or not. However, if you use a geometry based on Pipes instead, the problem will solve OK. I have attached a file where this has been done.

TrussCyl2D_LSMOD.gh (29.5 KB)