0

I am trying to implement a subroutine in ABAQUS.

It is a very simple non-linear elastic model, in which the Young's modulus depends on the mean pressure, in details, E=3*(1-2*poisson)*p/kap (where, poisson=0.3 is Poisson's coefficient and kap=0.005 is swelling index). The initial stress is 1e5 Pa for sigma11, 22 and 33.

When I run the subroutine , it gives linear behavior with E=3*(1-2*0.3)*(3*1e5/3)/0.05 (which is the Young's modulus calculated with the initial stress). If the initial stress is 0 for all components, it gives us 0 for all calculation because E=3*(1-2*0.3)*(3*0/3)/0.05=0.

I would like to ask if you could help me to solve this problem (define the initial conditions as the previous values for each variables).

Toby Speight
  • 27,591
  • 48
  • 66
  • 103
Ibergm
  • 1
  • Not sure I exactly understand, is this a UMAT subroutine?. If you need the stress from the previous solution increment you need to store that yourself as a solution dependent variable. – agentp Dec 04 '15 at 16:36
  • the zero issue is a fundamental problem with your model. Are you modeling a gas or something? Maybe putting `(p+10**5)` right in the `umat` code is the best approach, though hard to say w/o seeing the whole problem – agentp Dec 04 '15 at 16:41
  • Yes, it's an UMAT subroutine. I tried to restore the value of p=1/3*trace(STRESS TENSOR) in STATEV after each calculation. However, in the next step, the program calculates the value of E with the initial value of p (in this case, p=1e5 Pa). I don't understand why. Do u have any idea about this? Thanks so much for your reply. Best wishes!! – Ibergm Dec 07 '15 at 11:42

0 Answers0