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 helmholtz_set_methods(mg)type(mg_t),intent(inout)::mgmg%subtract_mean=.false.select case(mg%geometry_type)case(mg_cartesian)mg%box_op=>box_helmhselect case(mg%smoother_type)case(mg_smoother_gs,mg_smoother_gsrb)mg%box_smoother=>box_gs_helmhcase defaulterror stop"helmholtz_set_methods: unsupported smoother type"end select case defaulterror stop"helmholtz_set_methods: unsupported geometry"end select end subroutine helmholtz_set_methods