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.