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 library3, 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.

The linear routine is triggered by putting ABAQUS in front of the material name. The total length of the material name should not exceed 80 characters, consequently, 74 characters are left for the proper material name. For instance, if the material name in the ABAQUS routine is supposed to be “WOOD”, you must specify “ABAQUSWOOD” in the CalculiX input file. The part “ABAQUS” is removed from the name before entering the umat routine.

The nonlinear routine is triggered by putting ABAQUSNL in front of the material name.