I am working on an algorithm for a real-time simulation.
I would like to calculate to extremely permissive tolerances approximate values for the stress within a 2D geometry. It will not be difficult to triangulate so we can assume a mesh or grid is available.
From what I have read, it seems that in real applications it is essentially impossible to directly measure stress, and it can only be deduced by observing strain or deformation. Is this true? Does this mean that there exists no method, analytical or numerical, that will allow me to produce meaningful numeric values?
To be specific, I am working in only 2 dimensions, with a rigid polygonal shape. I'd like to calculate the distribution of stresses within the geometry when an external force is applied to a point on the boundary.
As an example, consider the geometry of the capital letter L. If a force is applied at the top, in a westerly direction (left), then there would be tensile stress applied at the inside corner of the L, and little bit of compression at the outside corner. There would also be some high values found near the point of application.
I arrived at those conclusions by intuition but is there an algorithm I can use to calculate this numerically or analytically without generating a mesh and deforming it first? I'm okay with having to produce a mesh, but requiring me to simulate deformation before I can produce values for the stress tensor is just not feasible for a real-time solution.
I have come up with an idea for an algorithm that I will try to implement, which will hopefully be sufficient for my purposes. I thought about how the very concept of stress is at odds with a rigid body system. It seemed like an irreconcilable paradox. But I realized that I can have rigid objects, but I can simply let them break at critical moments, and the broken pieces can continue to be rigid. Rigid objects break at points on their geometry which are the weakest. Assuming they are made of the same material and density, areas of small cross-section are weak: Momentum transfer and the clash of internal forces occur through these cross-sections, and when there is not enough area to transmit these forces, failure occurs.
So, I can take my geometry and use some fuzzy sampling and determine "weak areas" by looking for the shortest cross sections (in 2D the split planes are simply line segments). Then, if I can calculate the amount of momentum that is required to pass through the segment in order to keep the object rigid, and compare that with a predetermined value, I think it might just work.
The problem with this is that I'm not producing a stress tensor field. I am relying almost entirely on heuristics, and I'm producing a split plane by sampling from a random set and seeing which ones behave most realistically. It might possibly look good with tweaking but it's so non-physical that I really want to find a more robust method.