You are here
abaqus umat
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
- yongtao lu's blog
- Log in or register to post comments
- 12006 reads
Comments
a simple approach could be
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.
Yes, the above approach is
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.
The manual 's suggestion is more clear.
but both of method are feasible..