Search
Close this search box.
Notifications
Clear all

help!

17 Posts
2 Users
0 Reactions
1,835 Views
Posts: 18
 at80
Topic starter
(@at80)
Active Member
Joined: 16 years ago

Dear Jorgen and others:

I wrote a Umat of Drucker-Prager constitutive model. When I tested it using one element (compression and extension), it worked well, even for large strains (say 50%). But when I used it on multile elements, it can only work on small-strains. I checked the mamual and found the for pressure-dependent plasticity, large volume changes with geometric nonlinearity is frenquently encountered. My problem is simulating a plate load test, generally in geotechnical engineering. The displacement of the plate is generally 0.1m. Is it true that this problem is a kind of geometric nonlinearity?

If it is, exact Jacobian matrix is needed. Here I have another question. For Umat, is it enough only using exact Jacobian matrix, for the problem of large volume changes with geometric nonlinearity? I think in the integration of the rate-form constitutive laws, the stress update should be different compared to that under small-strains. Is it right?

If Vumat is used, according to the manual, the stress strain etc are stored in orientation of the local material axes. Is it necessary to consider deformation gradient in the Vumat, or just convert directly the model for small strains to that in vumat? I really confused on how tho use deformation gradient.

Best regards,

willness

16 Replies
Posts: 3998
(@jorgen)
Member
Joined: 5 years ago

(1) It sounds like the problem that you are experiencing is caused by a poor Jacobian.

(2) You mentioned that the displacement is about 0.1 m, but what is the strains?

(3) Note that you never actually need an exact Jacobian. It is nice to have, but it is for many material models too difficult to obtain.

(4) You can formulate a VUMAT either in terms of the deformation gradients or the strain increments. Both ways work. Which is easist will depend on the constitutive model formulation.

- Jorgen

16 Replies
Posts: 18
 at80
Topic starter
(@at80)
Active Member
Joined: 16 years ago

Hi, Jorgen

Thanks for your kind reply.

For (2), I did a simulation using built-in constitutive model, the maximum shear strains can be more than 50%. By the way, sometimes I read finite strain and sometimes I read large strain, what the different between them? Sounds like they are the same thing, or large strain is a little bit larger than finite strain?

For (4), I did a quick simulation using the built-in D-P model and the same parameters for both standard and dynamic analysis. The results from dynamic analysis are in consistent with those from standard at the beginning, while differ greatly at large strains. It looks like that the step time significantly affects the results in Dynamic analysis. Since I tried to simulate a static problem, I used a very large step time, but the results are not comparable with those from Standard analysis at large strains. what do you think of that difference?

In the following thread

http://polymerfem.com/forums/archive/index.php/t-374.html,

you mentioned that DDSDDE is the partial derivative of the increment in Kirchhoff stress with respect to the increment in logarithmic strain. In my D-P umat, although I adopted a consistant DDSDDE for samll strains, I use the partial derivative of the increment in Cauchy stress with respect to the increment in logarithmic strain. Do you think my convengence problem for large strains originated from there? Because if I use built-in constitutive model, while dont open (Nolgeom=on), which means no rotation is considered when stress and strain are tranfered into umat, I still can finish my simulation. So the problem may not be caused by rotation.

One more question, excuse me. For hypoelastic and hyperelastic, the former has a tangential moulus matrix dependent on current stress (so does the D-P elasto-plasticity), the latter has a tangential moulus matrix dependent on deformation gradient. In integrating the two kind rate relationships, my understanding is that, for the former group, we need consider rotation, for latter, we need condiered both rotation and stretches. Is it true?

Best regards,

Willness

Reply
Posts: 3998
(@jorgen)
Member
Joined: 5 years ago

A few more comments:

- To me, finite strain = large strain
- The time increment size is indeed very important in dynamic simulations.
- I think you should get the same predictions using implicit and explicit simulations
- Unfortunately I dont know what causes the problems that you are describing 🙁

Reply
Posts: 18
 at80
Topic starter
(@at80)
Active Member
Joined: 16 years ago

thanks a lot, Jorgen

concentrating on VUMAT, I still have several questions:

(1) In VUMAT, which stress, rotated (or corotated) Cauchy stress Sigma(l) or global Cauchy stress Sigma(g), is stored in stress tensor, like stressOld and stressNew? Sounds like the former, but if so,

Sigma(l)=R(T)*Sigma(g)*R

where R is rotation matrix, Sigma(g) is global Cauchy stress. Since Kirchhoff stress

tao=J*Sigma(g)=R*[J*Sigma(l)]*R(T)=R*O*R(T), so that Sigma(l)=O/J, where O is the stress to which the conjugate strain is log strain. Is it right?

(2) In VUMAT, objective stress rates is Green-Naghdi stress rate. Frankly, I am not very sure what does the Green-Naghdi stress rate mean. I know the definition of Green-Naghdi rate of Kirchhoff stress, which is R*O(dot)*R(T). Sound like that Green-Naghdi rate of Kirchhoff stress means the rotated stress rate of O. But if the stress stored in stress tensor is rotated Cauchy stress, following the similar deifinition, differentiating the corotated Cauchy stress, Sigma(l), we will get:

Sigma(l)(dot)=(O/J)(dot)=O(dot)/J+O*(1/J)(dot)

the part of O(dot) can be calculated use [Dep]:[Dstrain], since the [Dstrain] is log strain. I guess that O(dot) may be Green-Naghdi rate of corotated Cauchy stress? The difference between R*O(dot)*R(T) and O(dot) is due to the fact that rotation is already taken into account in stress tensor. Even in this way, we still need to deal with J and (1/J)(dot) in our code. Is it true?

Or, at the beginning of updating stress, calculate the Kirchhoff stress tao from Sigma(I) by J (from F) and R (from F and U) at time t, so that we can use Green-Naghdi rate of Kirchhoff stress:

tao(dot)=R*[tao(dot)]*R(T)+W*tao+tao*W(T), where W=R(dot)*R(T)

After intergration constitutive stress-strain relationship and calculating tao at time t+1, tranform tao(t+1) to Sigma(l) by J and R at time t+1 from F and U at t+1. In this, R(dot) and R(T) must be calculated in the code. This sounds like tunning a big round.

I hope I express my confusion clearly and looking forward to hear from you.

Reply
Posts: 3998
(@jorgen)
Member
Joined: 5 years ago

(1) I believe the stress is in the local coordindate system
(2) No question?

-Jorgen

Reply
Posts: 18
 at80
Topic starter
(@at80)
Active Member
Joined: 16 years ago

1) I believe the stress is in the local coordindate system

-------------------------------------------------------------

Yes, I agree you. Moreover, the stress should be Cauchy stress, right? so that the stress is rotated Cauchy stress?

(2) No question?

-------------------------------------------------------------

If the stress is rotated Cauchy stress, before the integratation of the stress-strain relationship, do I have to convert Cauchy stress at time t to Kirchoff stress? Since Green-Naghdi stress rate is used.

Reply
Page 1 / 3
Share: