I don’t have a specific use case at the moment, but I’m curious if it’s possible to add a preload to a model in Calculix. By preload I don’t mean a bolt, or oversize fit and such, but a stress field that is present in the unloaded component. I can think of two specific applications on the spur at the moment:
A part is loaded beyond its yield point and begins to deform plastically. At a certain level, the deformation is high enough for the elements to be heavily distorted. The calculation is then stopped, the component is remeshed and the previously calculated stresses and/or (plastic) strains are mapped onto the new mesh.
A forged or cast part should be examined. The manufacturing process was simulated in advance and the residual stresses resulting from the manufacturing process are to be taken into account in the calculation in Calculix.
Regardless of the fact that the remeshing happens somewhere externally, just like the simulation of the manufacturing process, is there a way to map a known stress field to all nodes in the model, which serve as the initial state? Or does Calculix have to be calculated from the zero state?
Yes, you can use *INITIAL CONDITIONS, TYPE=STRESS and *INITIAL CONDITIONS, TYPE=PLASTIC STRAIN but unfortunately there’s no built-in functionality to read them from a file. Their components have to be specified per element and integration point using the data lines of this keyword.
Many thanks!
I looked at the INITIAL CONDITIONS chapter in the user manual. This seems to be exactly what I had in mind. What I would like to know now is how to get to the positions of the integration points. A potential process would look like this: I have a field with X-Y-Z coordinates and, for example, an associated stress tensor. Then I would need a way to determine the X-Y-Z positions of the integration points for each element. Is it possible to determine these geometrically from the nodes of the element? Finally, I would infer the tensor for each of these positions using a suitable interpolation method.
Yes it is. But you will have to compute them with the use of the isoparametric integration point coordinates, shape functions and the nodal coordinates for each element.
here you can take a look how i’ve done it for the .dat to paraview conversion.