Grasshopper

algorithmic modeling for Rhino

Hey,

I have a question about modelling a "T" shaped cross-section through an "I" shape inside the "cross sections (Karamba)" component. I modelled the shape by setting the lower flange thickness and width to zero but it seems the cross-section properties are calculated incorrectly. Could it be that the "I" cross-section is only meant to be used with thin-walled elements such as steel I profiles?

To understand this better I went one step back and tried comparing a rectangular cross-section modelled with the "trapezoidal" and "I" shaped inputs. As previously mentioned, I omitted the flanges to get a rectangle out of the "I" shape. 

The results I get can be seen in the figure bellow. Incorrect are the shear areas in Y (AreaY) and Z (AreaZ) direction as well as the torsional moment of inertia (Ipp) and consequently the torsional resistance moment (Wt).

Cross-section is a massive rectangular section of 200cm width and 100cm height.

I understand, there is a component for modifying the section properties of a cross-section with which I could correct the wrong values, but this obviously has to be done manually. If someone knows the expressions behind the calculations for the shear areas and the torsional moment which I could input into my script to modify these automatically that would be great. 


Thanks (and sorry for the long description),
Matej

Views: 270

Attachments:

Replies to This Discussion

Hi Matej,

thank you for your bug report!

The calculation of the mechanical properties of I-shaped cross sections is based on the assumption of thin walls. In case there is only the web this results in Ipp=w_thick^3*h/3 (w_thick is the thickness of the web, h its height) and Wt_ = Ipp / w_thick.

Ther is a bug in Karamba 1.2.2 in the calculation of Ay and Az for I-cross sections:

Instead of
Ay = uf_A + lf_A + (w_thick + fillet_r) * w_thick
Az = A - uf_A - lf_A + (w_thick + 2 * fillet_r) * w_thick

it should be
Ay = uf_A + lf_A;
Az = A - uf_A - lf_A + (w_thick + 2 * fillet_r) * (uf_thick + lf_thick) * 0.5;


(A: total area, uf_A: area of upper flange, lf_A: area of lower flange, w_thick: web thickness, fillet_r: fillet radius, uf_thick: thickness of upper flange, lf_thick: thickness of lower flange).

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