For the Fortran program that I build for my fatigue problem, I need to modify the compliance matrix C at each iteration. For that I have on one hand a subroutine UMAT which models the mechanical behavior of the material with the matrix C (implementation of DDSDDE) and on the other hand a subroutine USDFLD which calculates at each iteration the damage D. According to the value of D, the matrix C can change and that at each iteration. For this I have to call the matrix C (or DDSDDE) in the subroutine USDFLD, however DDSDDE is a variable defined only in the subroutine UMAT. How can two subroutines communicate with each other?
Anyone, please help me with that?