Skip to main content

abaqus umat

Submitted by yongtao lu on

hi

I constructed a head model, which includes muscle, soft tissue, skin and bone. I wrote user material subroutine (umat) for muscle and soft tissue, seperately. I am going to define the muscle and soft tissues properties by using my umats. However, I dont know how to define two user material subroutines (umat) in one model. The subroutines share the same name: subroutine umat(...). If I assign two umats, ABAQUS will be confused, wont know which subroutine to go. Is there anybody who knows how to sort this out?

Many thanks,

ben

cardiff university, uk

a simple approach could be to define 2 umats in the same umat routine. here is how:

1. u can define material props for umat. so for elements that use umat1, provide prop=1, for umat2 prop=2

now combine umats like this:

subroutine umat

...

if (prop=1) then

call umat1(...)

elseif (prop=2) then

call umat2(...)

end

end subroutine umat

subroutine umat1

...

end subroutine umat1

 

subroutine umat2

...

end subroutine umat2

 

 

Since the input arguments are same for all umat routines, its not a lot of work to combine. 

this may not be very efficient, there could be better ways of doing it that i am not aware of.

Thu, 07/24/2008 - 18:06 Permalink

Yes, the above approach is quite similar to the manual 's suggestion:

Abaqus, user subroutine reference, 1.1.31–9

~~~~~~~~~~~~~~~~~~~~~

Example: Using more than one user-defined mechanical material model

To use more than one user-defined mechanical material model, the variable CMNAME can be tested for

different material names inside user subroutine UMAT as illustrated below:



IF (CMNAME(1:4) .EQ. 'MAT1') THEN

    CALL UMAT_MAT1(argument_list)

ELSE IF(CMNAME(1:4) .EQ. 'MAT2') THEN

    CALL UMAT_MAT2(argument_list)

END IF

UMAT_MAT1 and UMAT_MAT2 are the actual user material subroutines containing the constitutive

material models for each material MAT1 and MAT2, respectively. Subroutine UMAT merely acts as a

directory here. The argument list may be the same as that used in subroutine UMAT.

 

 

Fri, 08/29/2008 - 06:25 Permalink