BharathSwami
Aerospace
- Aug 8, 2024
- 1
I am trying to implement fractional derivatives based viscoelastic model in Abaqus using a UMAT subroutine. I am running into convergence issues. The general equation I am using is:
DSTRESS(I) = DSTRESS(I) + DDSDDE(I,J)*DSTRAN(J)-(ah*th(i,j)+ad*td(i,j))*fsumstress(j)+(bh*th(i,j) + bd*td(i,j))*fsumstrain(j)
STRESS(I) = STRESS(I) + Finv(I,K)*DSTRESS(K)
where fsumstress and fsumstrain are:
fsumstress(j) = fsumstress(j)+ prevstress(kinccumsum-i+1,j)*a(i+1)*dtimearr(kinccumsum-i+1)**(-BETA)
fsumstrain(j) = fsumstrain(j)+ prevstrain(kinccumsum-i+1,j)*a(i+1)*dtimearr(kinccumsum-i+1)**(-BETA)
where prevstress and prevstrain are the incremental stress and incremental strain histories read from a file. Am I going wrong somewhere? I am not able to get the solver to converge. The fraction I am using is BETA=0.5. DDSDDE depends on the time increment. I am attaching the UMAT file for reference.
DSTRESS(I) = DSTRESS(I) + DDSDDE(I,J)*DSTRAN(J)-(ah*th(i,j)+ad*td(i,j))*fsumstress(j)+(bh*th(i,j) + bd*td(i,j))*fsumstrain(j)
STRESS(I) = STRESS(I) + Finv(I,K)*DSTRESS(K)
where fsumstress and fsumstrain are:
fsumstress(j) = fsumstress(j)+ prevstress(kinccumsum-i+1,j)*a(i+1)*dtimearr(kinccumsum-i+1)**(-BETA)
fsumstrain(j) = fsumstrain(j)+ prevstrain(kinccumsum-i+1,j)*a(i+1)*dtimearr(kinccumsum-i+1)**(-BETA)
where prevstress and prevstrain are the incremental stress and incremental strain histories read from a file. Am I going wrong somewhere? I am not able to get the solver to converge. The fraction I am using is BETA=0.5. DDSDDE depends on the time increment. I am attaching the UMAT file for reference.