I have written an AceGEN code for a 3D element. The degrees of freedom at each point are 4, 3 spatial displacements and one additional degree of freedom that acts like temperature, i.e. for the initialization part I wrote
Xi \[DoubleRightTee]
SMSReal[Array[nd$$[#1 , "X" , 1] & , nNodes], 0 , 10];
Yi \[DoubleRightTee]
SMSReal[Array[nd$$[#1 , "X" , 2] & , nNodes], 0 , 10];
Zi \[DoubleRightTee]
SMSReal[Array[nd$$[#1 , "X" , 3] & , nNodes], 0 , 10];
ui \[DoubleRightTee]
SMSReal[Array[nd$$[#1 , "at" , 1] &, nNodes], -0.1 , 0.1];
vi \[DoubleRightTee]
SMSReal[Array[nd$$[#1 , "at" , 2] &, nNodes], -0.1 , 0.1];
wi \[DoubleRightTee]
SMSReal[Array[nd$$[#1 , "at" , 3] &, nNodes], -0.1 , 0.1];
\[Eta]bari \[DoubleRightTee]
SMSReal[Array[nd$$[#1 , "at" , 4] & , nNodes]];
The AceGen code compiles completely. However, when it comes to the AceFEM to do the job the following error occurs.
Index out of bounds error while executing user subroutine SKR of element 3Dpseudoelasticity (possible bug in the symbolic description of the element!!).
Description : Index in expression:nd$$[..,at,j] has value: 4. Index bounds are min=1 max=3
. Source code identification: \$D144\$
Version: 6.811 Windows (27 Nov 16) (MMA 10.4) Module: SMTBoundCheck
I saw the debugging session in the help documentation and it says that this is the problem of nd$$ that cannot exceed 3. So I was wondering how to fix this problem and add a new degree of freedom to the problem.
SMSTemplate
? Another example of thermo-mechanical element is in Lectures.nb that you can download from the home page. $\endgroup$