subroutine vumat( C Read only (unmodifiable)variables - 1 nblock, ndir, nshr, nstatev, nfieldv, nprops, lanneal, 2 stepTime, totalTime, dt, cmname, coordMp, charLength, 3 props, density, strainInc, relSpinInc, 4 tempOld, stretchOld, defgradOld, fieldOld, 5 stressOld, stateOld, enerInternOld, enerInelasOld, 6 tempNew, stretchNew, defgradNew, fieldNew, C Write only (modifiable) variables - 7 stressNew, stateNew, enerInternNew, enerInelasNew ) C implicit double precision (a-h,o-z) parameter (j_sys_Dimension = 2) parameter( n_vec_Length = 544 ) parameter( maxblk = n_vec_Length ) C dimension props(nprops), density(nblock), coordMp(nblock,*), 1 charLength(nblock), strainInc(nblock,ndir+nshr), 2 relSpinInc(nblock,nshr), tempOld(nblock), 3 stretchOld(nblock,ndir+nshr), 4 defgradOld(nblock,ndir+nshr+nshr), 5 fieldOld(nblock,nfieldv), stressOld(nblock,ndir+nshr), 6 stateOld(nblock,nstatev), enerInternOld(nblock), 7 enerInelasOld(nblock), tempNew(nblock), 8 stretchNew(nblock,ndir+nshr), 8 defgradNew(nblock,ndir+nshr+nshr), 9 fieldNew(nblock,nfieldv), 1 stressNew(nblock,ndir+nshr), stateNew(nblock,nstatev), 2 enerInternNew(nblock), enerInelasNew(nblock) C character*80 cmname real*8 alamda,twomu,trace,sixmu,xnu dimension dstress(nblock,ndir+nshr) C E = props(1) xnu= props(2) props(1)=210000.d0 props(2)=0.3d0 twomu=E/(1.0d0+xnu) alamda=(E*xnu)/((1.d0+xnu)*(1.d0-2.d0*xnu)) density=7.8E-9 c C Berechnung der Spannung c do I=1,nblock c c trace = straininc(I,1)+ straininc(I,2)+straininc(I,3) c stressnew(i,1) = stressold(I,1)+alamda*trace + twomu*straininc(i,1) stressnew(i,2) = stressold(I,2)+alamda*trace + twomu*straininc(i,2) stressnew(i,3) = stressold(I,3)+alamda*trace + twomu*straininc(i,3) stressnew(i,4) = stressold(I,4)+ twomu*straininc(i,4) c c c write(6,*) 'props',props(1),props(2) write(6,*) 'alamda',alamda,'twomu',twomu write(6,*) 'steptime',steptime write(6,*) "stressold" do j=1, size(stressold) write(6,*) stressold(I,j) end do write(6,*) "stressnew" do j=1, size(stressnew) write(6,*) stressnew(I,j) end do write(6,*) "straininc" do j=1, size(straininc) write(6,*) straininc(I,j) end do write(6,*) 'trace',trace write(6,*) 'nblock',nblock c end do c return end