I Simulating Plant Evolution: Branch Bending Physics

AI Thread Summary
The discussion focuses on simulating plant evolution, specifically addressing the physics of branch bending under gravity. The challenge lies in calculating how each segment of a plant bends, as changes in one segment affect the entire structure due to leverage and torque. Participants suggest using numerical methods, such as finite element analysis (FEA) or iterative algorithms similar to inverse kinematics, to model the bending efficiently. There is a consensus that while a simple model may work for straight structures, complex branching requires more sophisticated calculations. Ultimately, the goal is to develop a method that allows for rapid and efficient simulation of bending in plant structures.
accursedCursive
Messages
8
Reaction score
0
I'm trying to simulate plant evolution to see if there's a genetic reason why fronds are so common in nature, and one problem I've come across is branch physics.

Whenever a segment of a leaf or branch bends, not only does it affect the angle of all child segments (and thus how they'll bend), it affects the leverage the weight it carries has on its parent.

Thus, the only good way to calculate how every segment bends is to have some fancy formula that also takes into account how everything else will bend.
Is anyone here good enough at maths to do it?

Segments vary in size, flexibility, and density/thickness(difference doesn't matter), by the way.
 
Physics news on Phys.org
accursedCursive said:
Thus, the only good way to calculate how every segment bends is to have some fancy formula that also takes into account how everything else will bend.
Stuff like this is usually solved numerically, using finite elements.
 
  • Like
Likes Nidum
A.T. said:
Stuff like this is usually solved numerically, using finite elements.
I have no idea what any of that means, I'm just a programmer who hasn't done anything more mathematically difficult than graphics programming.
 
accursedCursive said:
I have no idea what any of that means
Have you tried a web search of the term?
 
I'm not looking for a highly-accurate engineering solution.
I just want segments that bend only at the joints between each other.

This has to be easily programmed and run extremely fast.
 
Nidum said:
If anyone interested in the FEA we can discuss it further .

For the special case of an idealised straight tapered stem with leaf growth which follows some exact geometric rule it may be possible to work out a general formula for deflection . For cases where there is curvature and more random leaf growth this is probably not practical .
There isn't an exact geometric rule, that's the whole point of the evolution simulation.
And there is branching.
However, the deflection doesn't have to be a function, and there doesn't have to be just one calculation.

I just don't know a way to do this except by doing calculations that asymptotically move the branch towards stability.
 
Nidum said:
(1) You could possibly assume that there are some growth rules or at least some good approximations to them

Starting from best guess of what the rules looks like you could model the resulting stem and leaf growths .

With a suitable scoring system to judge the success of the model you could successively refine your growth rules .

(2) Do you know about fractal patterns in leaf growth ?
You've missed the point of this completely.
My problem has nothing to do with how things grow, it's to do with how they bend under their own weight. I need a very efficient way of calculating it based on a tree of segments.

The entire point of this is to study the evolution of fractal patterns in leaf growth.
 
  • #10
accursedCursive said:
I just don't know a way to do this except by doing calculations that asymptotically move the branch towards stability.
Some kind of iteration might be needed for the general case. But you might be able to optimize what you use now. Formulate your equilibrium condition based on your degrees of freedom (joint angles) and fixed parameters (joint stiffness, segment weights). Then ask in the math or computer science sub forums how to solve this equations most efficiently. Or search directly for computer science papers about simulating plant movement.

You might use some algorithm similar to inverse kinematics. In fact some inverse kinematics algorithms work by defining joint stiffness, and an attractive force between a skeleton part and its desired position. Then they solve for joint moment equilibrium. You just have to replace that force with gravity for all segments.
 
Last edited:
  • #11
accursedCursive said:
You've missed the point of this completely.

No I haven't . I've just seen that there are more components to this problem than you have so far identified .

accursedCursive said:
No, I'm trying to figure out how much each segment will be bent by due to gravity, relative to the previous segment.

This is not difficult . You have a structure that is fixed only at one end . At simplest then what you have is a cascade of cantilevers . With each new cantilever added having it's own deflection and adding a new end load on the string of earlier ones . So for each new cantilever added a new end deflection for the string of earlier ones can be calculated and then the deflection of the new cantilever added on .

That as described is for a simple one stem structures with end growth but complex branching structures can be analysed in essentially the same way .

For case of a frond the problem can be modeled in 2-1/2 D . That is the basic geometry is considered to be on a flat plane but all deflections are normal to plane .

2-1/2 D model allows a very simple solution algorithm . Full 3D is perfectly possible but requires a much more complex solution algorithm .

Some complexities that you might want to add at a later date are that the earlier growths might continue to develop and become stronger as new outer components emerge and that environmental loading such as wind and rain may be as or more significant than simple gravity loading .

To start off on this work begin by studying :

Beam deflection theory .
Matrix methods for solving structural mechanics problems .

You could also usefully study :

CAD
FEA
 
  • #12
Nidum said:
No I haven't . I've just seen that there are more components to this problem than you have so far identified .

This is not difficult . You have a structure that is fixed only at one end . At simplest then what you have is a cascade of cantilevers . With each new cantilever added having it's own deflection and adding a new end load on the string of earlier ones . So for each new cantilever added a new end deflection for the string of earlier ones can be calculated and then the deflection of the new cantilever added on .
It would be an easy-peasy problem if bending was a matter of only weight, and not torque.
The problem is, every time the deflection of a cantilever changes, the change in leverage causes it to change the deflection of the parent cantilever, and the change in deflection of course changes the deflection of any child cantilevers.
So, no matter where you start to do your calculations from, a change to anything changes everything, which of course is an unresolvable situation.
Maybe it asymptotically approaches the correct state, but that's poor efficiency.

Thus, the only efficient method is to calculate the bend of each segment in one go, since nothing can be changed.
 
  • #13
accursedCursive said:
..the only efficient method is to calculate the bend of each segment in one go...
What do you mean by "in one go"? Even if you formulate the system of equations for the entire tree, it will be nonlinear and require some iterative solver. Then you might just as well try iterative inverse kinematics algorithms. In any case, your question is not really about the physics of the problem, but more about numerics and efficient computing.
 
  • #14
accursedCursive said:
if bending was a matter of only weight, and not torque.
The problem is, every time the deflection of a cantilever changes, the change in leverage causes it to change the deflection of the parent cantilever, and the change in deflection of course changes the deflection of any child cantilevers.

The parent cantilever before a child cantilever is attached has a known system of loads and known angular and linear displacements at the tip .

Adding a child cantilever adds new loads to the tip of the parent in the form of a force and a bending moment . This causes a change in the displacements at the tip of the parent .

The child cantilever has linear and angular tip deflections of it's own - as if it was attached to a wall - and additional tip displacements caused by the geometric effect of it being connected end on to the parent .

The final tip displacements of the child cantilever - now the tip displacements of the new parent - are fully determined .
 
Last edited:
Back
Top