tfel icon indicating copy to clipboard operation
tfel copied to clipboard

Hyperelastic material model (Ogden)

Open mrgprasad opened this issue 2 years ago • 14 comments

Is the implementation of the Ogden material model in MFront limited to 1st order (p=1)?

mrgprasad avatar Sep 05 '22 09:09 mrgprasad

@mrgprasad The implementation presented here is limited to first order. But it is easy to modify it. You shall use it as a basis to implement your own version.

thelfer avatar Sep 05 '22 10:09 thelfer

Thank you @thelfer.

mrgprasad avatar Sep 06 '22 17:09 mrgprasad

@thelfer Is there a validation test case or an example for the Ogden model implemented in MFront. I am currently trying to run the model with CodeAster, and need some help with the values for K, mu and alpha. A working example will help a lot. Thanks

mrgprasad avatar Sep 22 '22 15:09 mrgprasad

@mrgprasad Sorry, I can't find any.. alpha must be strictly greater than 3 according to the code. Any positive value for K and mu shall work...

thelfer avatar Sep 22 '22 16:09 thelfer

@thelfer I have set up an example (simple cube being pulled from one side) to test the Ogden model. Ran the simulation, but I can't make sense of the results obtained. Check the results file attached. Even for a small applied displacement the model shows very high element distortion (1st time-step in simulation result). In addition, the model displaces along X significantly. (It acts as if the model is not constrained)

Note: The same model with Signorini (MFront implementation) works as expected.
ogdenTest.zip

mrgprasad avatar Sep 23 '22 09:09 mrgprasad

@mrgprasad Please find attach a simple unixial tensile test based on MTest. To make it work, I had to change the eigen solver. Please try it and let me know if everything seems ok in MTest. Then we'll have a look at code_aster.

ogdenTest2.zip

thelfer avatar Sep 23 '22 10:09 thelfer

@thelfer Thanks. Yes, everything works in MTest now.

mrgprasad avatar Sep 23 '22 11:09 mrgprasad

@mrgprasad Still troubles with code_aster ?

thelfer avatar Sep 23 '22 11:09 thelfer

@thelfer Yes, still having problems Starting model image

This is after the 1st time step image

mrgprasad avatar Sep 23 '22 11:09 mrgprasad

@mrgprasad would you attach your test with Signorini ?

thelfer avatar Sep 23 '22 12:09 thelfer

@thelfer Looks like I made a mistake. Let me explain the situation:

I was comparing the Signorini model of codeAster with MFront implementation. For the comparison, I compute the reaction forces on the constrained surface. The curves overlapped and I assumed that the MFront model works (my mistake, I should have checked the resulting deformation in paraview). Here are the results:

Code aster Signorini result: image

MFront Signorini result: image

Clearly the results are not the same. Looks like the cube is moving like a rigid body, although its constrained. Here are the files for comparison. compare.zip

Am I doing something wrong here? Do you have example validation setup for Signorini that works?

Once we rectify this we can discuss about the Ogden model.

mrgprasad avatar Sep 23 '22 14:09 mrgprasad

Do you have example validation setup for Signorini that works?

Maybe you should have a look at the official tests (which include MFront+aster+GROT_GDEP): https://www.code-aster.org/V2/doc/default/en/man_v/v6/v6.04.187.pdf

thelfer avatar Sep 24 '22 06:09 thelfer

@thelfer I used the official test example and both Signorini and Ogden models seem to work. Still have no idea where the error is in my simulation setup. Thanks for the tip!!!

Anyways, regarding the Ogden model:

  1. Why must the alpha value be strictly greater than 3?
  2. If one extends the model to higher order, then all the alpha values must be greater than 3 also?

mrgprasad avatar Sep 26 '22 09:09 mrgprasad

@mrgprasad Great !

To be honest, I only had a rapid view on your files. As I am not a regular code_aster user, I am not of great help here, unfortunately.

Why must the alpha value be strictly greater than 3?

I have seen in my implementation that I used x^(alpha-2). Probably to compute the consistent tangent operator, not sure. Anyway, if x is 0, it could lead to a trouble with alpha lower or equalt to 2 (Of course, if x can't be zero, then my remark is just pure non sense). I let you check !

thelfer avatar Sep 26 '22 09:09 thelfer

@mrgprasad Is this Issue still relevant ?

thelfer avatar Jan 10 '23 12:01 thelfer

No, thank you. Will close it.

mrgprasad avatar Jan 10 '23 19:01 mrgprasad