Author Topic: User element cannot work for the mesh with more than one element  (Read 4300 times)

ws18

  • Jr. Member
  • **
  • Posts: 46
Dear all,
      I coded a 8 node solid-shell user element. I try to simply test it by a cubic subjected to the fully constrained bottom and uniform tensile load on the top. When I use one element to model the cubic, the user element can give the convergence result and agrees exactly with the FEAP-built-in solid element(8 nodes). The stiffness matrix outputted by the user and built-in element are the same.
      However, when I mesh the cubic with (2*2*2)8 or even more elements, it always gives me the error which seems indicate the global stiffness matrix is singular. Since the DOFs at the bottom nodes are all restrained and the same mesh scheme with the FEAP-Built-in solid element works well, I think the problem is not about the boundary condition. 
     I coded the user element to write text ('isw=3 is called') to the screen when the isw=3 is activated. I found that the isw=3 has been activated just one time even if more than one element were used for the cubic. Thus, I suppose my code may have errors in the assembly process. But I didn't make any change in the program file in feap.
     Are there anyone encountered this kind of issue before, any comment is welcome! Thank you!

Yaakov

  • Sr. Member
  • ****
  • Posts: 323
Re: User element cannot work for the mesh with more than one element
« Reply #1 on: May 08, 2017, 12:55:40 AM »
Dear Sir,

if your user element works only for one element, that means, at first, the assemly of stiffness matrix shoul be incorrect.

more details see Programmer Manual chaptel 5 (p43- p47)

the similar problem you find here:

http://feap.berkeley.edu/forum/index.php?topic=1554.0


Best Regards,
Yaakov
« Last Edit: May 08, 2017, 04:59:17 AM by Yaakov »
Let's boost FEAP's performance!

Prof. R.L. Taylor

  • Administrator
  • FEAP Guru
  • *****
  • Posts: 2649
Re: User element cannot work for the mesh with more than one element
« Reply #2 on: May 08, 2017, 09:24:45 AM »
It is hard to know what is happening with your element from the information you posted.

1. There may be a dimension error in your element that causing data to be changed.

2. You may have used the parameter "n" as a counter in a loop in your element (It is defined also in 'eldata.h')

Check your output file to make sure the data you input was actually processed by feap.  THIS IS THE BIGGEST ERROR OF USERS TO IGNORE LOOKING AT THE OUTPUT FILE.

If you post the element and the input file we can help more.

ws18

  • Jr. Member
  • **
  • Posts: 46
Re: User element cannot work for the mesh with more than one element
« Reply #3 on: May 08, 2017, 01:10:20 PM »
Dear Prof. R.L.Taylor and Yaakov,

Thanks for your reply.

I followed your comments and found the bug. Actually, I redefined parameter 'n' when computing the geometric stiffness matrix. The user element can work for any multi-element mesh if I changed this. Thank you very much!  :)

Best wishes,   
Wenya