Grasshopper

algorithmic modeling for Rhino

Hi guys @ karamba,

the crossSectionOptimizer module is really helpful. I think i roughly understand the algorithm behind;)
the only question i have is how the max displacement is regarded in that process.
in the manual there is sth written like "karamba tries to approach the maximum deflection during the design iterations by adapting the yield stress of the materials"
could you be so kind and provide some additional informations regarding that topic?
i don't get it at the moment;)
Thanks in advance
Regards Ole

Views: 642

Replies to This Discussion

Hi Ole,

if one considers the ultimate limit criteria only, it is sufficient if the stresses in all cross sections are smaller than or equal to the yield stress of the used material. This is the basis for selecting the cross sections in Karamba and prevents collapse.

It may happen though that the maximum deflection is beyond the allowable limit although the stresses are OK. In such a case Karamba reduces the allowable stress to some value below the yield stress to control the maximum deflection. The advantage is that the same algorithm for ultimate limit state design and usability limit state design can be used. The disadvantage is that the design might be uneconomic: If the maximum deflection in a structure occurs in a small isolated spot it would be sufficient to spend additional material just there. The algorithm in Karamba enforces the whole structure uniformly.

Regards,

Clemens 

 

Got it;)makes sense.
Thank you very much!

2 smaller questions left:

I sometimes run into a vicious circle when applying gravity load. do you have any idea how to avoid that (turn gravity off) but at the same time consider gravity (gravity on) at the crosssectionoptimization?


And the reduction of the allowable stress to "some" value means what exactly? 80% or more? and is it a discrete or continuous reduction?

Excuse my curiosity and thanks for your help.
much appreciated.

You could use the MeshLoad-component to simulate a constant, mean gravity load.

The value of the strength_factor which scales the yield stress gets determined in each design iteration: strength_factor = strength_factor * max_deform_target / max_d. Here max_deform_target is the user defined maximum allowable displacement  and max_d that of the last iteration. The formula applies only if max_deform_target < max_d. In order to stabilize the procedure, upper and lower bounds for strength_factor get calculated and recorded during the design algorithm.

Best,

Clemens

Thanks for your help again.
I think i've understood it.


regards from tübingen
Ole

Hi Clemens,

is it possible that the cross section optimizer just take that max_deform_target into account if this value is exceeded by the max displacement in the !first! iteration step?

Does that mean, that if the first max_d is smaller than max_deform_target it is neglected in the following iteration steps?

That would explain a lot of confusion i had;)

Can you confirm this assumption?
Thanks and best regards
Ole

Hi Ole,

the cross section optimizer is driven by two criteria:

  • ultimate limit state - stresses should be below the yield limit
  • usability limit state - the maximum displacement should be below the allowable limit

If the maximum displacement is in the allowable range it is not driving the design and thus gets neglected. In case you choose the number of iterations too low it may occur that the maximum displacement criteria is not met.

Best,

Clemens

Thanks again clemens,

but lets say  i have a heavy and stiff initial section layout-->the max displacement after the first iteration step will be smaller than the target value--> then the usability limit state will be neglected in the following iterations--> the max displacement will get larger than the target value by removing stiffness (although it is not in the allowable range anymore)..also after 100 iterations.
it seems that just the first iteration step decides wheter usability is considered or not?

if i have the same geometry, but a light and "weak" initial section layout, then the displacement after the first iteration step will be larger than the target value-->then the usability limit state is considered in every iteration step--> makes more sense in my case;)

I just want to say that the initial layout of your section could play a bigger role than i thought..it is better to come from the light/"weak" side to consider both,ULS and SLS at the same time.

hope that i don't get on your nerves.
thumbs up for your great software and your extraordinary support!
best,
Ole

I have just taken a look at the code. You are right. If the initial design is over-stiff then the lower boundary of the factor for scaling the yield-stress is set to 1. This prohibits further adaption. 

The problem never occurred to me because I usually start from a too weak structure. 

Thank you for pointing me to this bug. It will be necessary in the next Karamba release to split the algorithm in two parts: first do cross section design, then adaption of the maximum displacement.

Best,

Clemens

Okay, thanks for confirming that.
i am also starting with a "weak" structure now and it works fine.


Best regards,
Ole

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