User login

Navigation

You are here

Two UMATS in one Subroutine

Dear All,

I have the problem. i created very simple example with two elements. To one element i prescribed the behaviour Mat1, to another element Mat2. I tried to use two different UMATS for this two elements.

I created Subroutine Myname.f, in which i use CMNAME if (CNMAME.EQ.'MAT1) THEN

CALl UMAT_1()

ELSE IF (CMNAME.EQ.'MAT2) THEN

CALL UMAT_2()

END IF

Then i put two UMATS in the same SUBROUTINES ,

But as a result the program gives MISTAKE , it says that The UMAT doesn't exist

What is the mistake?

IN MYNAME.f and in ALL UMATS i put the lists of arguments as in USUAL UMAT.

Could someone help me?

Best regards

ABAgirl

Comments

First of all, does your implementation work for one UMAT case?  If it does, are you defining two separate user materials in the input file with the specific name, "MAT1" and "MAT2"?

Thank you all for the kind reply,

I did everything correct, the problem was that i work with file in Windows and when i transfer UMAT into Unix mashine, there were strange symbols and of course abaqus didn't understand what it is saying thet umat doesn't exist,

best regards

ABAgirl

mohammedlamine's picture

Why you don't use a Logical test with response : false and true ? it takes less memory.

good luck

Hello Mohamedlamine,

What do you mean with Logical test?

mohammedlamine's picture

Dear ABAqirl,

Instead of Testing a Character String which is not easy to match in Fortran you may use a Logical Variable

for example :

             LOGICAL RESP

             RESP=.FALSE.

             .....

             IF (RESP)  --------------> your first case

             ..

             ELSE

                            --------------> the second one

             ENDIF

 

Regards

 

Mohammed lamine Moussaoui

Subscribe to Comments for "Two UMATS in one Subroutine"

Recent comments

More comments

Syndicate

Subscribe to Syndicate