Calling shared libraries is triggered by putting the @ character in front material name. The material name is then decomposed into three 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 “libABAQUSBEHAVIOURS.so” shared library5, one would declare the following material name:
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 @ABAQUS_ABAQUSBEHAVIOURS_CHABOCHE@1 and @ABAQUS_ABAQUSBEHAVIOURS_CHABOCHE@2 to create to distinct materials (with distinct material properties) which will call the same external behaviour.