I’m still getting familiar with the initial strain/curvature component, so sorry if this is something simple that I might be missing.
I’m trying to simulate the behavior of a deformed thin plate (e.g. wood or aluminium) that tends to return to its flat state, in order to later dimension additional elements, such as cables, to counteract this effect. I’ve attached two images as reference to show the type of geometry I want to work with, even if in the images this final shape is achieved by other means.
I was already able to simulate simple cases with constant curvature, like an arch, using the sample files as a guide (see attached definition). But when I move to more complex geometries with non-constant curvature, I get stuck and can’t find a proper way to define it.
My main question is how to define the initial curvature or strain in cases where the geometry does not have a constant radius (like in the pictures), but instead varies across the surface.
I hope the question makes sense, but I’m happy to share more details if needed.
Currently the “InitialStrain” load component can only apply constant curvature. In your case, a workaround would be to split the surfaces in regions of constant curvature and mesh them using Karamba3D’s MeshBreps-component. You can then assign different ids to the resulting shell patches or use their indices to attach the strain loads afterwards.
I tried your suggestion and it worked, so thanks a lot for that!
Now I’m testing other geometries, for example a hypar geometry, but I’m still struggling to reproduce the behavior of the plate returning to its original flat state. In my general case I have a target geometry, so I know the positions that some points need to reach, in this case the corner points.
So far I’ve used imposed support displacements to generate this target geometry, but I can’t capture the “memory” effect of the plate starting flat as an additional load case.
Do you have any suggestions on how this could be approached, both in general and specifically for a hypar geometry?
a hypar is a double curved geometry, so flattening it entails in-plane strains.
I think for this type of problem you need large displacement analysis - which however is currently (version 3.1.) only work in progress in Karamba3D. As an alternative approach, you might consider subdividing the geometry into strips and unrolling them. The cutting pattern could then be optimized to minimize the resulting gaps.