Difference in temperature value in UEXPAN and UVARM

Hi,

TEMP(1) within UEXPAND subroutine, and temperature value within UVARM subroutine (obtained by GETVRM) are not the same. In documentation, it says that values at the end of increments are returned by GETVRM when called within UVARM, but this doesn't seem to be the case.

An excerpt of the .msg file where I am printing the temperature values:

Inside USDFLD: Temperature:   607.186444548192
Inside UEXPAN: Temperature:   606.935844125265
Inside UEXPAN: Temperature:   606.935844125265
Inside UVARM: Temperature:   604.931045278946
              CONVERGENCE CHECKS FOR EQUILIBRIUM ITERATION     2
******some text******

 INCREMENT     7 STARTS. ATTEMPT NUMBER  1, TIME INCREMENT  0.127

Inside USDFLD: Temperature:   604.931045278946
Inside UEXPAN: Temperature:   604.158617748604
Inside UEXPAN: Temperature:   604.158617748604
Inside UVARM: Temperature:   601.547946375076

 

Note: Since I am simulating coupled temperature-displacement procedure, UEXPAN is called twice per iteration. I am only printing the values for a particular integration point.

 

I would really appreciate if someone could help me understand this difference in temperature values within UEXPAN and UVARM.