Skip to content

User files

In most cases, the implemented methods accessible via the input keywords are well suited to define initial fields or boundary conditions. However, in some cases, greater flexibility is required, e.g. when facing issues with complex geometries such as slopes with inhomogeneous material distribution. The user subroutines in numgeo allow some parts of the program to be customized for particular applications, without changing the source code or recompiling the entire program. Therefore, for specific tasks well-defined interfaces are put at the disposal of the user, as depicted in the following picture


These abstract interfaces are based on the intrinsic iso_c_binding module and allow to load external procedure during run-time and access its (C) address via Fortran pointer. The body of the routine has to be written by the user. To include user subroutines in an analysis, the use of external subroutines has to be specified in the input file and the corresponding shared object (file ending .so) is placed in the calculation folder. At the beginning of an analysis, numgeo then loads the external procedure to memory.