In ANSYS 11.0, the newer user-defined element UserElem.F subroutine was introduced. This allows users to create their own USER300 element. Currently, it has a ‘structural’ flavor, so if you are going to create your own structural element, I’d definitely suggest looking into UserElem.F.

The older user-defined elements are subroutines uel100.F through uel105.F to define elements USER100 to USER105. (uec100.F, uep100.F, and uex100.F are additional subroutine files, although only the first in this list of three is usually needed in addition to uel100.F.)

Saving user-defined output can be done in a number of ways, although we’ll examine saving data to non-summable miscellaneous records (NMISC) here. The user has the following options:

  1. Save NMISC data directly with eldwrnL subroutine
  2. Append NMISC data with usereo and eldwrnL subroutines

Both eldwrnL and usereo are documented in the Programmer’s Manual for ANSYS.

To save NMISC data directly with eldwrnL, use the second-to-the-last argument, value, to supply an array of values for NMISC records. These would start from NMISC,1 upwards.

To append NMISC data, use usereo and eldwrnL with the udbdat array, specifying the size with numdat/nudb parameter.


As noted above, you may wish to use the newer USER300 element instead of USER100; for UserElem.F, saving non-summable miscellaneous data is actually quite straightforward, so examining the sample UserElem.F file should be sufficient to get an idea of how to do this (i.e., write to RsltVar array with length specified by nRsltVar, and specify this same value with the ANSYS USERELEM,,,,,,nRsltVar command).