User functions should follow the C template or Fortran template, either by coding in those languages or by replicating their bindings. For each user function in a library, code must be added to the library registration function to register it. There are no restrictions imposed by STAR-CCM+ on how many user functions can be contained in a source file, nor on the names of those source files. Once a set of user function source files has been completed, together with a library registration function, the next stage is to create a user library from them.