Grasshopper

algorithmic modeling for Rhino

Hi,

Mainly, I have been experiencing seemingly inconsistent behavior of the "optimize cross section" component.  I've noticed that a few different inputs seem to effect this, mostly under higher loading; 

  •  The iterations(ULSiter plug) used for "opt cros sec":  will give errors at 20 and 100 iterations but not at 10 or 200 for my particular model.  
  •  The starting cross section for assembling the model seems to also cause an error or make it go away. In other words, does the initial cross section fed into the assemble component influence how the optimize cross section works? As changing the initial cross section used, the warning that comes out of the optimize cross section disappears.
Also, in the Karamba example "projected Voronoi Gridshell"  the model runs first through the "Analyze Theorem II" component and then that output going to the "optimize cross section".  Under heavier loads, the "optimize cross section" will sometimes give error ("could not optimize cross sections") when plugged after the "Analyze Theorem II".  If the "optimize cross section" is plugged directly from model assembly, it will often run okay.  The normal forces(from "beam forces" component) will often be quite similar from the "Analyze Theorem II" and the "Optimize Cross Section" components in this scenario. I think the main question is:  How crucial is it to run the "opt cros sec" component after the "analyze theorem II" component to account for element buckling? 
Another question is:  If the components are failing sporadically, does that mean that the model is quite close to buckling, or is it just a side-effect of the iterative algorithms.  And, if a solution works at a fairly high number of iterations (200 or 300) or at a certain starting cross section, can we have confidence in that solution?
Please note that I have set up the assembly using plywood as a material with custom cross sections published using Karamba into a CSV. The cross sections have been listed from lightest to heaviest.
Thanks,
-Yassin

Views: 1134

Replies to This Discussion

Hi Yassin,

the fact that the cross section optimization component returns an error at a higher number of iterations could mean that the structure is nearly kinematic. Would it be possible for you to provide a small example where the problem occurs?

The initial cross sections used for cross section optimization determine the distribution of forces in the first iteration. In case of statically indeterminate systems this has an impact on the resulting optimized structure.

The 'Analyze Theorem II' component calculates the governing normal force (NII) for second order effects in all elements. Compressive normal forces reduce the elements bending stiffness, tensile normal forces increase it. The NII forces are element properties which are considered in all downstream model calculations, they are not updated during cross section optimization. If the normal force in an element leads to buckling a singular stiffness matrix results.

Best,

Clemens

Hi Clemens,

Thanks for the reply! I'm still not clear on whether the Analyze Theorem II component is needed upstream of the "opt crs section"  component or not?

Thanks,

-Yassin 

Hi Yassin,

a second order theory calculation is necessary when the smallest buckling load factor is roughly smaller than 1.1. In order to get the buckling load factor however, one generally has to perform a second order theory analysis.

Best,

Clemens

Hi Clemens,

Thanks for the reply. I have been testing using the 'Analyze II' upstream of the 'optcrs' and I would get an error from the 'optcrs' that it cannot optimize cross sections. This happens even though 'analyze II' carries out the analysis. Any ideas? Thanks.

-Y

Attachments:

Hi Yassin,

is your initial structure you use with 'AnalyzeThII' one with minimum cross section sizes?  The OptiCroSec-component does its first iteration with the smallest cross sections available. When NII is present due to a previous second order analysis this may lead to buckling and stops the process. I think this needs to be fixed in the next release.

Best,

Clemens

Hi Clemens,

Thank you for the response. I have a better understanding of how the components work.

I noticed that depending on what initial cross section I use, the results of he optimization changes - my question: which strategy would be better in terms of getting accurate results, using lighter cross sections before the optimization or heavier and how would that influence the results from the 'optcrs' component?

Thanks!

-Y

Hi Yassin,

the cross section optimization algorithm applied in Karamba 1.1.0 resembles the Evolutionary Structural Optimization (ESO) strategy devised by Xie and Steven. It tends to reinforce the main paths of force flow and thus reduces the internal statical indeterminacy.

It should not make a difference whether you start from small or big cross sections as long as the relative distribution of stiffness within the structure remains constant.

Best,

Clemens

Hi Clemens,

Thanks again for the clarification.

One final question: can the 'optcrs' component optimize two separate beam sets with two different cross section lists, i.e. one set of beams optimizes using associated list and another set of beams on another different set of cross sections in the same assembly?

I have been trying to manipulate it in such a way where each set of beams has an ID and I input that ID into the 'crssecselect' component so that each set of beams is associated with a separate cross section lists. Unfortunately that has not worked and both cross section lists are used on all beams in the assembly.

Thanks for all your help. I appreciate it!

-Yassin

Hi Yassin,

each element is optimized according to the cross section family it belongs to. There can be several of those families in one model. Could you post an example - if possible reduced in size as much as possible - where the problem you describe above occurs?

Best,

Clemens

RSS

About

Translate

Search

Photos

  • Add Photos
  • View All

Videos

  • Add Videos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service