Isotropic hardening & Kinematic Hardening


I have done a comparison between Isotropic hardening & Kinematic Hardening introducing the exact same values for the True Stress-True Strain curves.
As far as I have understood, on a unique increasing load with final release , both models should behave exactly the same ending both with the same Equivalent Plastic Strain.
The behavior should be the same for tension and for compression.
I have found that all 4 cases behave identical up to the point where the equivalent Plastic Strain starts to develop. It starts aproximately at the expected point according to the curve but final values disagree.
¿ I’m I doing something wrong.?
I would appreciate if someone could give some advice.

Inp file is attached via wtranfer. WeTransfer - Send Large Files & Share Photos Online - Up to 2GB Free


Here are a few suggestions:

  • I would start with even simpler model - single element test, typically used in FEA to verify material behavior
  • I would also simplify the input data for plasticity definition - a few points with generic values should suffice and allow for easier comparison with theory
  • other element types/formulations may behave differently
  • plotting stress vs strain can give you better insight into the problem

As a side note, longer-lasting file hosting services would be better to share the input file here (WeTransfer deletes files after a week). You could even paste this file’s content here using proper tags (so that it can be scrolled independently).

1 Like

Thanks [Calc_em] for your fast response,

I have plotted the Principal Stress 1 against Principal Strain 1 for the two models under tension and compression.

Something is not right with Compression and there is a small difference in the Plastic Strain result at the end of the process for isotropic and Kinematic under tension as I advance.


I have just found my source of error. I have been comparing Principal Strain 1 against Principal Stress 1 for the whole set of models. For some reason (sorting from bigger to smaller probably), under compression , the principal Stress 1 is not representing the same direction as for tension. I have checked the element orientation and they are all the same but …
Shape is right now but I have to review the values to compare if the behaviour is symmetric or not.
I will redo my graphs tomorrow. Too many numbers .
Thanks, Calc_em for the graph suggestion. It has revealed the issue.


1 Like

After some sleep and coffee here are my results. I hope I can express myself better.
I think that Plastic Strain at the end of the Load/Release process should be the same and also Compression / Tension should behave equally, and they do not.
I have slightly reduced the model to be computed faster (00:02:37) and with smaller timestep.

Am I assuming or doing something wrong?

I keep doing test to see what could be wrong and I have found that the solver seems is not taking Poisson’s Ratio under consideration.
I have redone the calculation again with Poisson’s Ratio=0 and display show the solid is shrinking under tension and expanding under compression.

Some new thoughts (again in form of a list for clarity):

  • I would also try with combined hardening to see how it behaves in this case
  • and with cyclic loading
  • I recalled a very comprehensive article regarding hardening laws in Abaqus on which CalculiX is based:
    Abaqus Hardening Laws on single element model
  • when it comes to the implementation of hardening laws (and other aspects of plasticity) in CalculiX, G. Dhondt’s book The Finite Element Method for Three-Dimensional Thermomechanical Applications is a good source of information
  • I wanted to compare your results to those obtained with Abaqus using the same model but in Abaqus kinematic hardening is implemented in a different manner (there are two forms available) and each of them rejects your data:
    a) linear kinematic hardening: only two yield stress-plastic strain points can be defined
    b) multilinear kinematic hardening: the slope of stress-plastic strain curve can’t increase with plastic strain

So either CalculiX uses a completely different implementation of kinematic hardening than Abaqus or it skips the check and doesn’t show errors even when this data is incorrectly provided. Unfortunately, the documentation doesn’t help in this case so one would have to dig deeper (in source code or the book mentioned above). Anyway, that’s when simplified plastic input data would be useful.

  • when it comes to Poisson’s ratio issue, I don’t think that there’s an error. I suggest you run tests (single element recommended) with 3 different values of Poisson’s ratio (e.g. 0.3, 0 and -0.3), both with and without plasticity. You will see how it behaves. I can show the results from such tests in Abaqus for comparison.

Hi Calc_em, and thanks again for your fast response, I really appreciate.
I will have to go without any doubt to the theory more in deep regarding constitutive models.
Before going to cyclic loading and combined hardening I would like to understand clearly what is happening in my “simplified model”.
I have seen that in your article, Abaqus shows the same response that is puzzling me. If we pay attention to the simple run of loading and unloading once, Isotropic and Kinematic end in different strain points.
That’s not how the linear isotropic and kinematic constitutive laws are typically represented. (I attach a cut I hope you don’t mind) See picture. They both must end at the same strain point in the first run.
I feel more comfortable if other software is showing the same behavior, but it seems to me there is something else. (Maybe isotropic is linear isotropic hardening and kinematic is nonlinear).
Another important question is what happens if we start the cycle compressing.?¿?.
Let’s say a simple shift in the cyclic load. This is what I have done in two of my geometries just to check.
We should end in the same final equivalent plastic strain for the same number of cycles , and I don’t.
I will keep doing test in bilinear so we can compare in a model as simple as possible.

Note that the article includes this statement:

The plastic tab input will vary based on the hardening law showcased. What will be kept common in the plastic tab, for all load cases, will be the first row of data, corresponding to the “virgin” yield stress(σ0) at zero plastic strain. Subsequent row data, will depend on the used hardening law and its calibration against test data.

That’s why their results for each hardening law are slightly different. And it’s likely that this is what’s missing from your model to obtain realistic results since you use exactly the same data for both cases. I would simplify the input in this regard for further tests and go for 2/3 points.

Hi Calc_em

There have been some important advances thanks to your comments and thanks to Victor Kemp from Mecway .

I think we both agree those differences arise due to two things.

1-My simulation (and probably yours) is driven by a force (Fx).

2-The solver is nonlinear, quasistatic, and isochoric . That’s why I suspect Poisson’s Ratio was not working.

I have removed any source of discrepancy known those facts and these are the first results for bilinear.

I’m still working on the option in which I enter the curve values as I have a wonderful agreement but kinematic under compression is showing me some strange behaviors.


These are my results after changing the driving force by pressure to remove Poisson’s effects.
I have also change Poisson’s Ratio to 0.4999 just in case to remove any source of discontinuity between elastic and plastic behavior.
I have found some differences in the final plastic strain at the zero Stress State that I’m not able to explain.

I undertand the difference between Isotropic and kinematic hardening and how the curves should expand or shift under cyclic loading but this is not the case.

From my point of view, as this is just a "Uniaxial tension followed by release " or “Uniaxial compression followed by release” test ( there is no sign reversal on the stresses during the process), all the curves should end up with the same Plastic Strain and all the curves should show the same shape in that particular area (+,+).

Am I wrong?. What could be the source of this differences?. Maybe just a mesh convergence issue?

The differences are rather small. I would treat them as numerical errors and expected discrepancies when comparing two different hardening procedures. Anyway, if you can share input files for these new cases and if they can work in Abaqus (taking into account limitations regarding input data for kinematic hardening models mentioned in one of my previous replies) then I will try to run these analyses in Abaqus for comparison. However, it may not be easy to do such a comparison since it seems that Abaqus treats kinematic hardening definition somewhat differently.

I’m Mecway user and I prepare ccx models with its user interface.
I know I can save as .inp but last time I posted the generated file didn’t work.

¿Is this behaviour normal/possible ?.

I keep doing test going further in the applied stresses to reach bigger Yielding areas . kinematic hardening is showing something weird.

I just apply a triangle pressure but without sign reversal. Just load and release. I would expect plastic strain to reach a maximum value and then maintain it as constant up to the end of the release process.

Somehow it keeps growing after a constant parenthesis. I don’t think this is possible without sign reversal on the external actions.

The model is pretty simple to reproduce. I’m using c3D20R elements . Bilinear Kinematic material. Load and release pattern in a triangular shape. 7 Bricks per object. One in compression and the other under tension for easy comparison.

Why is something wrong with Principle Stress/Strain under Compression? I think your curves are right - Principle Stress/Strain 1 must be zero under compression. You have to look at Principle Stress/Strain 3 under Compression to compare it with Principle Stress/Strain 1 under Tension. sigma 1, 2, 3 are generally ordered from big to small - its not depending from the coordinate systems.

Hello [MarkusS]

Thanks for your reply. The last graph is showing the Equivalent plastic Strain versus Time for a unique cycle of tension (or compression) and release without sign reversal on the Stresses. That the value I’m mainly reviewing and concern about.
None of my curves show Principal Stress / Strain. If you refer to the previous posts, they plot Stress XX/eXX Strain (as it is a uniaxial tension /compression process).
I would expect equivalent plastic strain to reach a maximum value and then keep constant up to the end of the release process.
From my results i see the equivalent plastic stain keeps growing when the pressure is removed. ¿That is very weird?