Interface userdef_files_init() userdef_files_init() is called once for each input line for the specification of user defined elements (NUSREL input lines), see User defined element. 1. User defined element type ELTYPE = EARTH The interface is given as: ! --------------------------------------------------------------------------- subroutine userdef_files_init(c_ch_usrelname,c_ch_eltyp,c_ch_usrelinp, & c_ch_elid, ierr) bind(c) ! --------------------------------------------------------------------------- import c_int, c_char character(kind=c_char), intent(in) :: c_ch_usrelname(*) character(kind=c_char), intent(in) :: c_ch_eltyp(*) character(kind=c_char), intent(in) :: c_ch_usrelinp(*) character(kind=c_char), intent(in) :: c_ch_elid(*) ! integer(c_int), intent(out):: ierr end subroutine interface_userdef_finish end interface type(shared_library_t) :: lib procedure(operation_i), pointer :: op_add procedure(interface_userdef_init) , pointer :: op_usrel_init procedure(interface_userdef_calculate), pointer :: op_usrel_calculate procedure(interface_userdef_finish) , pointer :: op_usrel_finish 1.1. Input and output data A description of the input and output is given in Table 1. Table 1. Input and output Data Input/Output Type Size Description c_ch_usrelname I CH * Name of the dll c_ch_eltyp I CH 8 Element type EARTH is implemented c_ch_usrelinp I CH * Input file for user defined element c_ch_elid I CH * User defined id ierr IO INT - Error flag