view +time/+rk/get_rk4_time_step.m @ 1111:1a265a376b36 feature/timesteppers

Clean up time.rk.get_rk4_time_step()
author Jonatan Werpers <jonatan@werpers.com>
date Wed, 10 Apr 2019 22:21:13 +0200
parents 50d5a3843099
children
line wrap: on
line source

% Calculate the size of the largest time step given the largest evalue for a operator with pure imaginary e.values.
function k = get_rk4_time_step(lambda,l_type)
    default_arg('l_type','complex')
	assertIsMember(l_type, {'real', 'imag', 'complex'})

    rad = abs(lambda);
    switch l_type
    	case 'real'
	        % kl > -2.7852
	        k = 2.7852/rad;
    	case 'imag'
		    % |kl| < 2.8284
		    k = 2.8284/rad;
		case 'complex'
	        % |kl| < 2.5
	        k = 2.5/rad;
    end
end