Grasshopper

algorithmic modeling for Rhino

Hi.

I am trying to analyse a simple planar beam structure. I want to apply a surface load as lineLoads on each beam element. But when using the MeshLoad component and telling it to generate line-loads I get a weird load distribution.

Any ideas of why this happens?

The mesh is generated as a Delaunay mesh from the nodes.

Cheers Rasmus

Views: 723

Replies to This Discussion

Hi Rasmus,

maybe the mesh where you put the loads on is too coarse. Does the load distribution change when you refine it? 

The distance of collocation points for calculating the uniformly distributed beam loads is one third of the mean edge-length of the mesh.

Best,

Clemens

Hi Clemens.

I have tried different meshes, but I don't really understand the distribution that comes out. It seems too irregular.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

The lineLoads are making these jumps. Where as if I do the "same" maneuver in Robot, I get this distribution:

I know that it is probably hard for you to say anything about, but if you have tried anything like this, or have som sort of idea, I would love to heard about it. Of course the loads can be assigned manually, but it would be great if this function worked.

Best regards Rasmus

 

 

 

Hi Rasmus,

the computation of point- and line-loads from distributed loads is based on assumptions which may differ from implementation to implementation. For the algorithm used in Karamba see the manual.

Your structure is not symmetric about the longitudinal axis so I would not expect the loads to be distributed symmetrically. The jumps come from the fact that only uniformly distributed loads get generated. 

Best,

Clemens

Gents, in case this structure would be vertical and we want to apply wind load on it, is it possible to "fetch" the exposed area of the structure?

When we work around lattice structure exposed to wind, we need at least two value about the structure. The net area of the elements and the gross area like they were solid structure. The latter one is easy to get but the first one can be a challenge. 

I am working on a Python component for a specific design code wind chapter (TIA-222-G, antenna supporting structures.) and for the solidity ratio I would need these two data.

Can you suggest a Karamba component where to start?

Thanks and regards,

Balazs

For illustration please see the attached image:

Attachments:

Dear Balazs,

I would calculate the length of the beams and multiply this value by the beam width which is exposed to the wind pressure.

Make sure to take account of the beams on the leeward side since they are not completely shielded off by the windward elements and will therefore also contribute to the total drag.

Best,

Clemens

Dear Clemens,

Thank you for your answer. 

Can you please give me a hint how to get the cross section for a specific element from a Karamba model in case cross section optimisation has been applied. 

Imagine a lattice tower with approx 600 members, but let say we are grouping them in sections (usually 5-6m height sections), so we will still have at least 40 different dimension. 

I am not sure how to get the exact member sizes after Cross Section optimisation.

About the shielding, the design code (TIA-222-G) for the towers manages well fortunately, otherwise it would become a very complex model. In case the mast cross section is triangular or rectangular, then there are formulas what w can use for force coefficient calc. 

Pls see attached a definition, I made it earlier from the design standard. (written in MathCad) ...actually now this I am implementing into a Python script, so later be able to feed a liner load component of Karamba.

On page 3. you can see the "epsilon" as solidity ratio which plays an important role for the shape factor of the structure. These formulas are coming from wind tunnel test, so we, engineers we can implement it to our real structures.

Attachments:

Dear Balazs,

in order to get the cross section of each beam after optimization use the 'Disassemble Model'-component, then the 'Disassemble Element'-component.

Best,

Clemens

Hi Clemens,
Sorry for not answering here, I missed the notification.
I'm still busy with the parametric model itself but one question will rise up soon in my modelling.
Let say I will disassemble the elements where I want to apply the wind load. I am also using cross section optimisation. So, I have a certain geometry and a simplified load applied to the model. Karamba optimised all the cross sections.
BUT in real life and specially with lattice towers the wind load is applied according to the projected area of the tower.
This would be a infinite loop. Can Karamba handle this?
Imagine that when the cross section optimisation component is running the wind load is different in every step in the iteration process. (when it choose a bigger profile then the wind drag will be bigger as well, thus more force in the members.)

Br, Balazs

Dear Balazs,

the cross section optimizer in Karamba does not update external loads. It only updates the dead weight in between optimization steps.

In your case one would have to introduce an additional loop (e.g. using Hoopsnake) where the cross sections which result from standard cross section optimization are used to update the wind load. The change of total mass from one step to the next could serve as the convergence criteria.

Best,

Clemens

Dear Clemens,

Thanks for the suggestion, I'll look at Hoopsnake. 

Once I have a bit experience with it I'll share my findings in another post.

Best regards,

Balazs 

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