Dear FEAP users, dear Professor Taylor, dear Professor Govindjee,
I implemented a subroutine shapes(...), which automatically returns the correct shapes and jacobian transformation etc. based on the element type. In short, the function calls the individual shape subroutines described in section 6.2 in the programmer manual 8.5. When programming, I wondered why I would not find the subroutine trishp(...) (p. 78) in the original source code. Anyways, I was able to find a pretty similar routine shptri(...) which seemed to work similarly.
However, I received errors when using triangular elements. Valgrind helped me to trace back the error to line 115 shptri(...), where a loop from 1 to 10 is supposed to assign some values for the derivatives with respect to x and y. This is obviously wrong, because it should be a loop from 1 to the number of nodes of the element. The corrected subroutine is attached. Now, it seems to work fine even if Valgrind still reports errors, cf. attached file.
The problem did not occur, when using linear elastic material provided by feap85. I suppose, feap itself does not use shptri(...) and I think I am calling a subroutine which I am not supposed to even know.
Could you provide me with the correct function trishp(...), please, and maybe comment on my observations?
Thanks in advance and warm regards.