# Hyperelastic Material Model for Capturing Hysteresis

Hi, I’m working on an model that contains an elastomer material. I have a hyperplastic Yeoh model working currently that gives a realistic stress profile. I would now like to look at the thermal affects of loading and unloading the elastomer. What material model should I look into for modeling the hysteresis? Are there any good examples out there of a viscoelastic material?

I appreciate the help!

Abaqus has both the Bergstrom-Boyce (*HYSTERESIS) model for hyperelasticity and standard viscoelasticity. Unfortunately, CalculiX doesn’t have those models and you can only include temperature dependence of hyperelastic model constants.

Hystereisis will depend on rubber type, formulation (oil, black carbon and fillers mainly), mixing process and curing time (if I remember well even molding process can affect it), Can I ask you more about your model?

Unfortunately I’m more familiar with the real physical properties of the elastomer then I am with the theoretical model properties. We have done several hundred RPA and tensile tests on various batches with different processing methods.

For now I’ve setup a simple model with 3 disks stacked on top of each other. The top and bottom are steel and the middle is rubber. I’m trying to do the analysis in two steps. In the first step the two steel plates are fixed and the overall temperature is increased by 100C. This will make the elastomer expand and deform around the two plates. The next step is to displace the top disk by 0.25mm downward to compress the elastomer and then return the disk back to the original position. I am trying to get a stress strain curve that matches the physical testing as close as possible before I start on the actual geometry.

For the hyperplastic model, I have been using Yeoh. It seems to match our test data well when the load is applied but not when it is released.

Thanks again for the input!

1 Like

Wow, I have made in the past lot of test also, but static/dynamic and some impact for histeresys and resilence for production control and material characterization, but we never try to model histeresys or damping in FEA for the components, we make a big standard assumption of the static to dynamic stiffnes, and as we normally use rich NR compounds with low charges, this ratio was the same for all our compounds, even the histeresys/damping was very low. If I remember well we had a ratio for static to low frecuencies and another for high frecuencies.

The RPA is the rehometric test with some dynamic measurement at the same time? We had only rheometer and viscosimeter, the RPA was the brand new thing at that moment (20 years ago…).

1 Like

You could implement some custom material model with umat.f subroutine but it would be a lot of work. Maybe it’s worth trying some other open-source solvers that have viscoelasticity (like Elmer, Code_Aster or even FEBio) though.

1 Like

Maybe take a look at this one and make the necessary changes for ccx:

Take a look of this, I have read something about element superposition in CalculiX.

2 Likes

Thanks for the link Sergio. I have a test model running now with the Yeoh model I was running before and the exact same geometry duplicated and “Tied” to the original geometry but with a plastic material model.

I’m going to look into this superposition method quite a bit more but it seems promising.

I have never used FEBio before, but it also seems like a good potential option.

I don’t know if I am familiar enough with compiling Calculix and programing in general to have success with a custom material. This will probably be my last option if I can’t get anything else working.

I have tested today a simple compression test using hexa elements and mooney rivling material. Then I edited the input file to create new elements using the same nodes, and a new element set using these new elements, with the same material. The solver didn’t even realize that there were two overlapping elements! I create a load deflection curve, and the stiffness has changed (increased), so that could work as a poor man solution (guess that I could repeat the test puting two samples in paralell to see if is the same result as the overlapped model). Have used Mecway as preprocessor, and for some reason cannot see the results over the mesh (probably Mecway has noted the trick and can´t realize what result set show). Maybe you can try to mix hyperelastic and plastic material to get the histeresys.

The main goal of capturing the hysteresis is to quantify the heat generation. My geometric model has several contact regions where the pressure will very greatly depending on the temperature of the elastomer. The large thermal expansion coefficient of my elastomer and the change in modulus with varying temperatures causes significant changes in contact pressure.

For the the test model I am working with I used two different bodies with a tie relationship. Are you saying you defined it as one body with duplicated nodes and two different materials? I didn’t realize you could assign two different materials to one body.

Well, the heat generation on rubber is a big problem (we deal with that on fatigue tests, it imposs a frecuency limit due to the overheating of the components), and as you say has a correlation with the histeresys loop, but I think that would not be possible to get an accurate result with FEA. Is your part a rubber seal?

Attached the model, 01 is a basic compresion test, and 02 is using overlayed elements. I have defined a second set of elements using the same nodes (elements 100-159), then create a new component (element set) and assign material properties (the same for this example, but I guess that you could use a different material/behavieur).

1 Like

Another interesting article:

https://www.researchgate.net/publication/226567800_Finite_Element_Techniques_for_Rolling_Rubber_Wheels

I think that you must look for some specific Abaqus material models:

http://130.149.89.49:2080/v2016/books/usb/default.htm

1 Like

FYI, building UMAT is really not that difficult. I have no experience in “programming” and I managed to do it easily. At least for Abaqus but it shouldn’t be to complex for Calculix.
Also, if you are interested in calibration (simu model vs test), I can help you on that as it’s my domain of expertise. We have a software that does just that where I can automate the launch of Calculix and extract the resulting curve and then compare to your test data curve and iterate of the the paramters to find the best matching coefficients.