Deformation plasticity strain output

Hi all,

I am currently using v2.22 solver.

I was trying to calibrate a material constitutive model using the deformation plasticity option in CalculiX. Per the manual section 8.33, the Ramberg-Osgood parameters are defined in terms of true (Cauchy) stress and true (logarithmic) strain, which I did.

The model is a simple cube stretched by pulling on a face by displacement BC. The displacement is 20% of the cube length, which would result in an applied engineering strain of 0.20. However, the strain output I am getting at the end of the step is 0.22. This appears to be the Lagrange strain, since the relationship:

E = 0.5*(lambda^2-1) where lambda = L/L0
This would give E=0.22 for the engineering strain of 0.2 (i.e. lambda = 1.2)

It looks like more in depth discussions about the strain types are already discussed here.

What is confusing me is the section of the manual below, which states the strain output for the deformation plasticity is the Euler strain. If the output was the Euler strain, I would expect the strain output to be ~ 0.18 (lower than the applied engineering strain level).

Could it be that the strain output type may have been changed to Lagrange strain at some point even for deformation plasticity?

image

More details:
Here’s the material constitutive model I am using:
*DEFORMATION PLASTICITY
70000.0,0.3,290.,14.0,4.

Output is requested here:
*El file
S, E, PEEQ, NOE

NLGEOM is not explicitly turned on by keywords, but the solution triggers it on automatically per output message.

Yes, version 2.21 changed *DEFORMATION PLASTICITY’s strain output from Eularian to Lagrangian. Table 18: List of output variables shows only Lagrangian strain. I think the part of the manual you’re looking at just hasn’t been updated.

1 Like

Thank you Victor, this clarifies things for me. Interestingly, I could not find any reference to a v2.21 switch-over to Lagrangian strain for deformation plasticity outputs. The Table 18 entry describing the output variable E as Lagrangian strain appears to have remained unchaged since a while ago (I traced it back to the manual for v2.17).

The most relevant record I found was Guido’s plan to switch the strain output from Eulerian to logarithmic strain in the following post, which coincides with v2.21 release period. Perhaps Guido decided to use Lagrangian after that discussion:

Either way, good to know this detail.

From Guido’s logbook:

9 Mar 2023 - changed deformation plasticity from Cauchy stress vs.
Euler strain to Cauchy stress vs. Hencky strain.

It seems to be this commit: "" · Dhondtguido/CalculiX@20dd30d · GitHub

1 Like

Thanks a lot Calc_em for tracing this log.

It looks like the original intent of switching from Euler to logarithmic (Hencky) strain was still there during this code update.

Upon further scanning the updates in the code, I ran into the following lines. I am nowhere close to understanding the details of what has taken place, but based on the comments and notes, it seems as if the lines used to convert the Lagrangian strain into Eulerian strain were commented out for deformation plasticity, hence unintentionally leaving the strains in the Lagrangian form instead of Hencky. I wonder if someone with more experience could help interpret these and other relevant lines. I may be misinterpreting things big time, but curious why the strain output seems Lagrangian while it was intended to be logarithmic (Hencky).


I don’t know but I hope it stays this way because *DEFORMATION PLASTICITY is now consistent with *ELASTIC, *PLASTIC, and *HYPERELASTIC. I’ve got some test cases that confirm it’s consistent with Lagrange strain.

Maybe Hencky strain is just used internally or for the input parameters?

1 Like

Hello,

as already mentioned correctly, the output is the Green-Lagrange strain (the docu has not been updated yet). This is consistent with the material formulation (2nd Piola-Kirchhoff stress - Green Lagrange strain) CCX uses to calculate the residuum and the stiffness matrix. On integration point level, however, *DEFORMATION PLASTICITY, switches to a formulation that uses the (spatial) logarithmic (or Hencky) strain. The reason is that within such a (geometrically non-linear) framework you can additively split the strain tensor into an elastic and a plastic part (like in the geometrically linear theory). In 1D such an approach can be motivated by considering the multiplicative split of the stretch in an elastic and plastic part and subsequently taking the logarithm.
After calculation of the Cauchy stress and the corresponding tangent, these two quantities are internally transformed back to the material setting.

2 Likes

Sounds great, thank you all for extra confirmation, which helps me piece together the proper way to set up the constitutive model using *DEFORMATION PLASTICITY .

For the sake of others who may come to this discussion with the same question I had, and until the manual is updated to reflect these changes, here’s the short summary of Ramberg-Osgood material model calibration details:

  1. The Ramberg-Osgood curve parameter set (E, v, sigma_0, n, alpha) needs to be fit to uniaxial test data in the true stress and true strain form (note true=logarithmic=Hencky strain). The uniaxial R-O curve equation from the manual:
    image

  2. Use *DEFORMATION PLASTICITY card to define the material parameters in the input deck.

  3. After the analysis is done, the CalculiX output stress-strain will come out as true stress and Lagrangian strain. To compare it to the original Ramberg-Osgood curve, one will need to convert the Lagrangian strain output to the true strain (or vice versa) using the definitions given here:
    Deformation Plasticity. Eulerian strain - #12 by Calc_em

Here’s the analytical curve compared to CalculiX response for an example uniaxial tension model set-up with the parameters:

*DEFORMATION PLASTICITY
70000.0,0.3,360.,14.,7.

2 Likes