PDA

View Full Version : help!

willness
2008-04-28, 03:23
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

Jorgen
2008-04-28, 20:19
(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

willness
2008-05-29, 21:54

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?

"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 don't 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

Jorgen
2008-06-03, 17:48

- 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 don't know what causes the problems that you are describing :(

willness
2008-06-05, 22:40
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.

Jorgen
2008-06-08, 19:54
(1) I believe the stress is in the local coordindate system
(2) No question?

-Jorgen

willness
2008-06-09, 07:53
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.

Jorgen
2008-06-11, 20:22
I write my material models in a form that does not use the Green-Naghdi stress rate, which is kind of nice :cool:

I encourage you to "try out" your various ideas to verify performance, accuracy and objectivity.

- Jorgen

willness
2008-09-12, 03:29
Hi, Dr. Jorgen

I haven't yet solved my problem sucessfully.

However, I tried vumat in impleting D-P model in ABAQUS following your advise. The results by my routine and ABQAUS built-in D-P model are exactly consistent.

I tried umat anagin. The funny thing is that if a inconsistent Jacobian matrix is used, my routine works when internal friction angle is less than 30 degrees, even for non-associated flow rule. The results are exactly same from my routine and ABAQSU built-in D-P model.

However, when consistent Jacobian matrix is used, my routine doesn't work properly. The convergence problem encountered again and again, sigh. In the calculation of the consistent Jacobian matrix, I strictly follow the formula

DDSDDE=(R-RbaR/aRb)

where R is a modified matrix corresponding to C of calculation of standard Dep matrix.
b is Par(G)/Par(sigma), a is Par(F)/Par(sigma)

Well, the inconsistent Jacobian matrix used in my routine is
DDSDDE=(R-RbaR/aRa)

Somebody told me that the problem may be due to numerical problems, such as a number divided by a zero. What do you think of it?

Best regards,
willness

Jorgen
2008-09-14, 06:02
You might want to verify that your Jacobian matrix terms are all reasonble. If that is not the problem then I suspec that that there might be some bug in your consistent Jacobian calculation.

-Jorgen

Jorgen
2008-09-14, 06:03
You might want to verify that your Jacobian matrix terms are all reasonble. If that is not the problem then I suspect that that there might be some bug in your consistent Jacobian calculation.

-Jorgen

willness
2008-09-14, 07:18
Thanks, Jorgen.

I'll double check my subroutine.

willness
2008-09-29, 21:11
Hi, Jorgen and all

I am afraid that my convergence problem is due to Jacobian Matrix at a few integration points that should be returned to the apex of yield surface.

According to Crisfield, at these points, if the predicted stresses is judged to returned to the apex of the yield surface of D-P, the Jacobian matrix may be calculated using standard elasto-plastic matrix or set to be zero. However, convergence problem is encountered sometimes.

Is there any advice on the treatment of this difficulty? I have been blocked here for such a long long time....

best regards,
willness

Jorgen
2008-10-01, 20:57
My only advise is that a zero Jacobian matrix sounds strange to me...

- Jorgen

willness
2008-10-22, 00:42
Yes, the zero matrix is not correct.

But now I have a question in calculating the consistent Jacobina Matrix. I compared the consistent Jacobina Matrix of Von-Mises plasticity from two ways: one is radial return method, i.e., splitting stress and strain into hydro-and deviatoritic components; the other is using the general way expressed in the reply above as C=R-RaaR/aRa. The two ways leads to different answers:confused:

Anybody compared the results of Von-Mises from the two ways? I suppose that they should be the same, since the radial return method is a specific case of the latter one. For conventional elasto-plastic matrix (i.e., C=D-DaaD/aDa), the two ways leads to the same point.

thanks a lot for you corcern and help.

willness

Jorgen
2008-10-26, 20:59
I have not performed such a study. Are the results very different? Are both sufficiently accurate such that the FE algorigthm converges?

-Jorgen

willness
2008-10-27, 21:04
For the radial-return method, the steps and interations needed are exactly same with that built-in Von-Mises plasticity for a certain simulation, independent of the load amplitude.

For the general method, the steps and interations are less than those by using conventional elasto-plastic stiffness matrix, but more that those by using radial-return method.

The difference between the two matrixs depends on the strain amplitude. For small strains, they are very similar, so that the steps need for the load corresponding to that small strain are also very close. When strains become large, the difference between the two matrixs become consideradible and the steps needed to finish the simulation increase obviously for general method, say, two or three times of the steps using radial-return. But the it is still less than that if conventional elasto-plastic stiffness matrix is used.

It looks like that for large strians, the improvement of convergence rate is not so obvious, although there is, if general method is used to produce DDSDDE compared with that conventional elasto-plastic matrix is used. But I am very suspecious about that. What do you say?

Thanks and have a nice day!