Calling mechanical behaviours defined shared libraries

Calling shared libraries is triggered by putting the @ character in front material name. The material name is then decomposed into two parts, separated by the _ character:

For instance, if we want to call a small strain behavior in a linear analysis, implemented by the “CHABOCHE” function in the “libCALCULIXBEHAVIOURS.so” shared library2, one would declare the following material name:

@CALCULIXBEHAVIOURS_CHABOCHE

Here, the library name has been stripped from system-specific convention (the leading lib and the .so extension). The base name of the library and the name of the function must be upper-cased. This is due to the way CalculiX interprets the input file.

To distinguish two materials using the same external behaviour, one may add a unique identifier at the end of the material name. This identifier starts with the @ character. For example, one may use the material names @CALCULIXBEHAVIOURS_CHABOCHE@1 and @CALCULIXBEHAVIOURS_CHABOCHE@2 to create to distinct materials (with distinct material properties) which will call the same external behaviour.