Grasshopper

algorithmic modeling for Rhino

Finding funicular forms using dynamic weights

During form-finding of funicular networks, dynamic weights that update per time-step relative to a local measure are interesting... not least because such systems often converge when intuition says they should explode.

For the case of a tensile spring network in 3 dimensions, the equilibrium result is funicular so long as the network is at most valency-3 (incident edges per node) and therefore statically determinate. This determinancy means that tensile springs (e.g. zero natural length) can be replaced with rigid bars to form a funicular thrust network (Block, 2007) with identical forces.

This component provides a method for exploring these _trivalent_ networks within Grasshopper, in a similar way to using Kangaroo (note: you will get a warning if the system is not statically determinate).

You can explore networks with constant nodal forces (0D), dynamic based on line length (1D) or dynamic based on local area triangles (2D). The examples available in the link below give examples of each.

The component is open source, available on github and released under the MIT licence. It will appear under Extra>Rosebud following installation of the gha file in the libraries folder.

Download latest release (gha and example files) here:

A preprint describing the method in more detail is attached below. This paper was presented at the 2013 International Association for Shell and Spatial Structures 2013 Symposium:

Please send any queries to johnharding@fastmail.fm or post comments below.

Block, P. & Ochsendorf, J. (2007). Thrust Network Analysis: A new methodology for three-dimensional equilibrium.
International Journal of Shell and Spatial Structures, 155.

Views: 7926

Comment

You need to be a member of Grasshopper to add comments!

Comment by Andy Murray on November 14, 2022 at 12:10am

The funicular form is a special case of the p-form, where the greatest weight of an element is at its center. The funicular form can be used to calculate the static equilibrium position of a system of masses subject to external forces. Try this technology consulting firms parkersburg for best reviews. The method used here is very similar to the method used in solving dynamic problems. First, we calculate the static equilibrium position (i.e., final position) using Newton’s second law and then find how much work has been done by changing that position using energy principles.

Comment by Andy Murray on October 26, 2022 at 2:30am

Finding funicular forms is a bit like a game of connect-4. You have to find the funicular form for the given set of points by finding the intersection of two functions and then connecting that intersection point to the rest of your points. Go to Cyber Security Companies Winnipeg for best ideas. Finding the maximum and minimum point of a curve is best done using dynamic weights, which are similar to static weights except that they change depending on how much force you apply to them.

Comment by Andy Murray on October 22, 2022 at 4:58am

Funicular forms are a special type of graph that can be used to model some kinds of systems. They are also known as curve-of-growth graphs, because they represent the growth of a system over time. Try Basement Waterproofing marietta for more useful services about waterproofing. These graphs are often used in biology, engineering and computer science to model the behavior of biological systems and machines.

Comment by Gaurav Goel on December 23, 2016 at 12:22am

Hey John thanks for designing this component. It seems very interesting. I was your student at Nottingham university and we did a paper shell fabrication using processing in our studio in 2014. This component seems to make that process easier !!

Comment by emlplsn on November 10, 2015 at 12:18pm

John,

Many thanks for taking the time. I haven't been in touch with Chris directly. He was overseas last week, but I missed him unfortunately. I will indeed check with him. It's a little bit tricky when the integration of the rotational DOFs must be carried out simultaneously, since they can have different stability thresholds compared to the translational DOFs (due to differences in translational / angular stiffness). One approach explained here is to use a constant time step, but instead update the fictitious nodal masses (which are separated from the dead load of the structure).

I have a C# implementation of RK4 based on what is explained in this paper. Let me know and I would be happy to share.

//Emil

Comment by John Harding on November 9, 2015 at 10:33am

Emil,

Sure I remember our email chat.

With regards adaptable time steps, I'm guessing here but I think the standard numerical methods that account for error (to adjust the time step) could be used. As I tend to deal with weak systems it's not so critical for this kind of application. Have you been in contact with Chris Williams directly? I'm sure he'd be happy to help.

To answer your second question, semi-implicit Euler is used with this solver. I should use RK4 or something really...

John.

Comment by emlplsn on November 8, 2015 at 3:41pm

John,

Thanks for your reply and thanks for the updated component. Adaptable time step algorithms is an interesting topic. I am currently in the process of writing a 6DOF DR solver (earlier discussed with you through mail), and I am really struggling with finding a good method for adjusting timesteps during relaxation. If I may ask, how would you go about implementing this in your DynamicMass.gha? Also, you mentioned Euler integration - is it symplectic / semi-implicit Euler you are using? 
//Emil

Comment by John Harding on November 8, 2015 at 2:50pm

Hi Emil,

Thanks for the reply.

I've just updated the component and examples to make the time step an input. This can now be adjusted to suit the problem in hand and avoid instability. The default value is 0.001.

The time step stays consistent throughout, and for most problems the Euler integration used seems to work just as well for the dynamic loads, although an adaptable time step would be better.

John.

Comment by emlplsn on November 8, 2015 at 6:16am

Hi John,

Thanks for sharing this. I'm just a little curious about how this approach deals with stability and time steps. My experience is that DR becomes quite sensitive to changes in stiffness and masses during runtime in relation to a fixed time step. Are the time steps being updated after each iteration just like the nodal masses are being updated according to new geometry?

//Emil

Comment by Ángel Linares on December 14, 2014 at 5:14am

Thanks for the component. I enjoyed a lot reading the paper. Thanks for sharing!

About

Translate

Search

Videos

  • Add Videos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service