SUBROUTINE MPC(UE,A,JDOF,MDOF,N,JTYPE,X,U,UINIT,MAXDOF, 1 LMPC,KSTEP,KINC,TIME,NT,NF,TEMP,FIELD,LTRAN,TRAN) C INCLUDE 'ABA_PARAM.INC' C double precision UE(MDOF), A(MDOF,MDOF,N),JDOF(MDOF,N),X(6,N), 1 U(MAXDOF,N),UINIT(MAXDOF,N),TIME(2),TEMP(NT,N), 2 FIELD(NF,NT,N),LTRAN(N),TRAN(3,3,N) integer JTYPE double precision rho,u1n1,u1m1,u2m1,u2n2,u3n3,u3m1 C rho = sigma1/sigma2 = sigma1/ sigma3 rho = 0.7d0 if (JTYPE.eq.1001) then write(*,*),'N,MDOF',N,MDOF u1n1=U(1,1) u1m1=U(1,2) u2m1=U(2,2) u2n2=U(2,3) UE(1) = u1m1 + rho*(1+u2m1)/(1+u1m1)*(u2n2-u2m1) A(1,1,1)= 1 A(1,1,2)= -1 + rho*(1+u2m1)*(u2n2-u2m1)/(1+u1m1)**2 A(1,2,2)= -rho*(u2n2 - 2*u2m1 - 1)/(1+u1m1) A(1,1,3)= -rho*(1+u2m1)/(1+u1m1) JDOF(1,1)=1 JDOF(1,2)=1 JDOF(2,2)=2 JDOF(1,3)=2 write(*,*)'UE',UE(1),u1n1 end if if (JTYPE.eq.1002) then u3n3=U(3,1) u2m1=U(2,2) u3m1=U(3,2) u2n2=U(2,3) UE(1) = u3m1 + rho*(1+u2m1)/(1+u3m1)*(u2n2-u2m1) A(1,1,1)= 1 A(1,1,2)= -rho*(u2n2 - 2*u2m1 - 1)/(1+u3m1) A(1,2,2)= -1 + rho*(1+u2m1)*(u2n2-u2m1)/(1+u3m1)**2 A(1,1,3)= -rho*(1+u2m1)/(1+u3m1) JDOF(1,1)=3 JDOF(1,2)=2 JDOF(2,2)=3 JDOF(1,3)=2 write(*,*)'UE',UE(1),u3n3 end if RETURN END