0

I am solving a contact problem. A footing under compressive load placed over soil. I would like to use two different types of user-defined elements one for the soil and other for the footing. Please note: I would like to use two different UEL. Not UMAT. How to call two UEL in the same problem? I found on the internet that in order to call two different material models (UMAT1 and UMAT2), string names are compared in an IF statement and the corresponding UMAT routine is referred inside one main Fortran file. How to achieve this for UEL?

  • Please provide enough code so others can better understand or reproduce the problem. – Community Jan 26 '22 at 11:09
  • You should be able to use standard elements with the appropriate materials. I see no reason for a user defined element here. I don't know what an appropriate material model for soil is - I'm not a civil engineer. What is the footing made of? Concrete? An isotropic model with inclusions, with different behavior for tension and compression, should be adequate. Contact and friction are less about elements and materials and more about non-linear boundary conditions. – duffymo Jan 10 '23 at 21:33

1 Answers1

1

There is parameter JTYPE passed into UEL routine. JTYPE is equal to user element type (TYPE=U1001 <=> JTYPE=1001) i.e

*USER ELEMENT,NODES=2,TYPE=U1001,PROPERTIES=4,COORDINATES=3,VARIABLES=6
1,2,3

*USER ELEMENT,NODES=2,TYPE=U1002,PROPERTIES=4,COORDINATES=3,VARIABLES=6 
1,2,3

*ELEMENT,TYPE=U1001, ELSET=U1 

11, 2, 11, 112,  115 

12, 3, 14,  98,  114

*ELEMENT,TYPE=U1002, ELSET=U2

13, 6, 15

14, 7, 18

Then depending on JTYPE value (as a switch) you can code for many types of user elements in the same UEL routine (sample information written into ABAQUS.msg file UNIT 7).

  INCREMENT     1 STARTS. ATTEMPT NUMBER  1, TIME INCREMENT  0.100    
   * ---- Process User Element START  JTYPE         1001
  ****  BZ USER SUBR inc = 1           1
  ****  BZ USER SUBR XII     100000.000000000     
  ****  BZ USER SUBR DU  0.000000000000000E+000
  * ---- Process User Element START  JTYPE         1001
  ****  BZ USER SUBR inc = 1           1
  ****  BZ USER SUBR XII     100000.000000000     
  ****  BZ USER SUBR DU  0.000000000000000E+000
  * ---- Process User Element START  JTYPE         1002
  ****  BZ USER SUBR inc = 1           1
  ****  BZ USER SUBR XII     100000.000000000     
  ****  BZ USER SUBR DU  0.000000000000000E+000
  * ---- Process User Element START  JTYPE         1002
  ****  BZ USER SUBR inc = 1           1
  ****  BZ USER SUBR XII     100000.000000000     
  ****  BZ USER SUBR DU  0.000000000000000E+000
Viktor Ivliiev
  • 1,015
  • 4
  • 14
  • 21
  • How does one write a user element to do contact/friction problems? What is the appropriate behavior? It might be possible, but I don't believe this is the correct approach. Contact and friction are non-linear boundary conditions, not element behaviors. – duffymo Jan 17 '23 at 18:52