view +noname/benchmark.m @ 1331:60c875c18de3 feature/D2_boundary_opt

Merge with feature/poroelastic for Elastic schemes
author Vidar Stiernström <vidar.stiernstrom@it.uu.se>
date Thu, 10 Mar 2022 16:54:26 +0100
parents 1fe783681f9f
children
line wrap: on
line source

% animate(discretization, N, time_method)
%
% Example:
%      benchmark(discr,100)
%      benchmark(discr,1000,'rk4')

function hand = benchmark(discretization,N ,time_method,do_profile)
    default_arg('N',100);
    default_arg('time_method',[]);
    default_arg('do_profile',true);

    fprintf('Creating time discretization');
    tic
    ts = discretization.getTimestepper(time_method);
    fprintf(' - done  %fs\n', toc());

    if do_profile
        profile on
    end

    fprintf('Taking %d steps',N);
    tic;
    ts.stepN(N,true);
    fprintf(' - done  %fs\n', toc());

    if do_profile
        profile viewer
    end
end