Execute test(s).
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(oscillation_test), | intent(inout) | :: | self | Test. |
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.
subroutine execute(self)
!< Execute test(s).
class(oscillation_test), intent(inout) :: self !< Test.
character(99), allocatable :: integrator_schemes(:) !< Name of FOODIE integrator schemes.
integer(I_P) :: s !< Counter.
call self%initialize
if (trim(adjustl(self%scheme))/='all') then
if (is_class_available(scheme=self%scheme)) then
integrator_schemes = foodie_integrator_schemes(class_name=self%scheme)
elseif (is_available(scheme=self%scheme)) then
integrator_schemes = [trim(adjustl(self%scheme))]
endif
else
integrator_schemes = foodie_integrator_schemes()
endif
do s=1, size(integrator_schemes, dim=1)
self%scheme = trim(integrator_schemes(s))
call self%test(scheme=self%scheme)
enddo
endsubroutine execute