Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Source Code
subroutine load_frictions(cfgs)class(input_t),intent(in)::cfgs(:)character(20)::names(3)=['blasius','katheder','central_spiral']integer::itype(c_funptr)::init_friction_ext_ptrdo i=1,size(lib_handles)init_friction_ext_ptr=GetProcAddress(lib_handles(i),'init_friction_ext'//c_null_char)if(c_associated(init_friction_ext_ptr))then call c_f_procpointer(init_friction_ext_ptr,init_friction_ext)exit endif enddo allocate(frictions(size(cfgs)+size(names)))do i=1,size(cfgs)call set_friction_correlation(frictions(i),cfgs(i),'')enddo do i=1,size(names)call set_friction_correlation(frictions(size(cfgs)+i),empty_cfg(),names(i))enddo end subroutine load_frictions