c$Id: umodel.f,v 1.3 2002/09/09 23:34:42 sanjay Exp $ subroutine umodel(umat,eps,theta,td,d,ud,hn,h1,nh, is,sig,dd, isw) c * * F E A P * * A Finite Element Analysis Program c.... Copyright (c) 1984-1999: Robert L. Taylor c.... Copyright (c) 1999: Sanjay Govindjee c-----[--.----+----.----+----.-----------------------------------------] c Purpose: User Constitutive Model c Input: c umat - User material type c eps(*) - Current strains at point (small deformation) c - Deformation gradient at point (finite deformation) c theta - Trace of strain at point c - Determinant of deforamtion gradient c td - Temperature change c d(*) - Program material parameters (ndd) c ud(*) - User material parameters (nud) c hn(nh) - History terms at point: t_n c h1(nh) - History terms at point: t_n+1 c nh - Number of history terms c isw - Solution option from element c Output: c sig(6) - Stresses at point. c dd(6,6) - Current material tangent moduli c-----[--.----+----.----+----.-----------------------------------------] implicit none integer umat,nh,isw, i,j,is real*8 td real*8 eps(*),theta(*),d(*),ud(*),hn(nh),h1(nh) real*8 sig(6),dd(6,6) save c Call the correct user model by looking at umat c Material Model 1 if(umat.eq.1) then call cubiclin(isw,eps,theta,ud,sig,dd) elseif(umat.eq.2) then call cubic(isw,eps,theta,ud,sig,dd) endif end