Polyurethane
2006-11-13, 20:37
Hi guys,
I am developing umat for a material desribed by a dashpot parrallel with isotropic hardening plasticitic unit.
State variable STATEV (1 by 5 array) is used to store the equivalent strain and stresses (4 components inaxisymmetric case) in the plastic unit. In the begining of the code, these variable are retrived from STATEV by codes:
EQPLAS=STATEV(1)
WRITE (*,*) 'EQPLAS=', EQPLAS
DO K1=1,NTENS
STRES1(K1) = STATEV(K1+1)
END DO
In the end of the main program, the equivalent plastic strain and stresses were stored by
STATEV(1) = EQPLAS
WRITE(*,*) 'STATEV(1)=', STATEV(1)
DO K1=1,NTENS
STATEV(K1+1) = STRES1(K1)
END DO
The problem is the values stored in STATEV changed when umat was executed in next increment. This was found by printing out STATEV in the beginning and the end of the main program. A typical output in the log file for two consecutive steps is:
UMAT BEGINS
RETRIEVED STATEV= 1.029438210024758E-003 -5.713945669888542E-004 -3.048620394409372E-005 -8.527738384755799E-006 7.037705558193434E-004
EQPLAS= 1.029438210024758E-003
HARDING ITERATION
STATEV(1)= 1.101677901087380E-003
STORED STATEV= 1.101677901087380E-003 -5.782241858473527E-004
-3.148488354301983E-005 -9.967012388190511E-006 7.115024463430152E-004
UMAT ENDS
UMAT BEGINS
RETRIEVED STATEV= 4.123105002527970E-003 7.514232424012210E-004
-1.292459902481510E-003 -7.863942169827721E-005 1.270424561421470E-004
EQPLAS= 4.123105002527970E-003
HARDING ITERATION
STATEV(1)= 4.286253394173197E-003
STORED STATEV= 4.286253394173197E-003 7.589994231809726E-004
-1.305955859848658E-003 -7.997639334470215E-005 1.284520717761968E-004
UMAT ENDS
Apparently the values read from stored STATEV changed. Has anyone seen this kind of problem before?
Thanks a lot,
Polyurethane
I am developing umat for a material desribed by a dashpot parrallel with isotropic hardening plasticitic unit.
State variable STATEV (1 by 5 array) is used to store the equivalent strain and stresses (4 components inaxisymmetric case) in the plastic unit. In the begining of the code, these variable are retrived from STATEV by codes:
EQPLAS=STATEV(1)
WRITE (*,*) 'EQPLAS=', EQPLAS
DO K1=1,NTENS
STRES1(K1) = STATEV(K1+1)
END DO
In the end of the main program, the equivalent plastic strain and stresses were stored by
STATEV(1) = EQPLAS
WRITE(*,*) 'STATEV(1)=', STATEV(1)
DO K1=1,NTENS
STATEV(K1+1) = STRES1(K1)
END DO
The problem is the values stored in STATEV changed when umat was executed in next increment. This was found by printing out STATEV in the beginning and the end of the main program. A typical output in the log file for two consecutive steps is:
UMAT BEGINS
RETRIEVED STATEV= 1.029438210024758E-003 -5.713945669888542E-004 -3.048620394409372E-005 -8.527738384755799E-006 7.037705558193434E-004
EQPLAS= 1.029438210024758E-003
HARDING ITERATION
STATEV(1)= 1.101677901087380E-003
STORED STATEV= 1.101677901087380E-003 -5.782241858473527E-004
-3.148488354301983E-005 -9.967012388190511E-006 7.115024463430152E-004
UMAT ENDS
UMAT BEGINS
RETRIEVED STATEV= 4.123105002527970E-003 7.514232424012210E-004
-1.292459902481510E-003 -7.863942169827721E-005 1.270424561421470E-004
EQPLAS= 4.123105002527970E-003
HARDING ITERATION
STATEV(1)= 4.286253394173197E-003
STORED STATEV= 4.286253394173197E-003 7.589994231809726E-004
-1.305955859848658E-003 -7.997639334470215E-005 1.284520717761968E-004
UMAT ENDS
Apparently the values read from stored STATEV changed. Has anyone seen this kind of problem before?
Thanks a lot,
Polyurethane