## Contents

- Simple RAPTOR speed benchmark in various cases
- Run the first case with explicit evaluation of neoclassics, chie.
- Run the second case with implicit evaluation of neoclassics, chie (slower).
- Compare results

## Simple RAPTOR speed benchmark in various cases

    close all hidden;
    clear

    run(fullfile(pwd,'..','RAPTOR_path.m')); % add RAPTOR path
    [config] = RAPTOR_config; % load default params
    config.echcd = echcd('echcd_gaussian');

    % Now we can change the default module parameters for ECRH/CD
    config.echcd.params.active = true; % activate the module, otherwise it does nothing.
    config.echcd.params.rdep = [0 0.4]; % two actuators, set rdep=0 for first, rdep=0.4 for second
    config.echcd.params.wdep = [0.35, 0.35];  % wdep =0.35 for each
    config.echcd.params.cd_eff = [0 1];  % current drive efficiency factor: pure ECH for first, co-ECCD for second
    config.echcd.params.uindices = [2 3]; % index of power for each actuator in input vector

    config.grid.tgrid = [0:0.002:1]; % time grid
    nt = numel(config.grid.tgrid);

    % generate the following structures for these params: model, params, init, geometry g, kinetic profiles v
    [model,params,init,g,v,U] = build_RAPTOR_model(config);

Define inputs We must now define more inputs than the plasma current alone

    % plasma current
    U(1,:) = 120e3;
    U(1,params.tgrid<0.02) = linspace(80e3,120e3,sum(params.tgrid<0.02));

    % first EC actautor: on-axis heating 1MW starting at 60ms
    U(2,:) = zeros(size(params.tgrid)); U(2,params.tgrid>0.06) = 1e6;

    init.Ip0 = U(1,1);
    % Define the initial condition
    x0 = RAPTOR_initial_conditions(model,init,g(:,1),v(:,1));

    params.debug.iterdisp = 0;

## Run the first case with explicit evaluation of neoclassics, chie.

    params.neos.implicit = false;
    params.chi_e.implicit = false;
    params.debug.iterdisp = 100;
    tic
    simres = RAPTOR_predictive(x0,g,v,U,model,params);
    toc
    out{1} = RAPTOR_out(simres,model,params);

         it  telaps newt     res   t[ s]  dt[ s]  Ip[kA] Icd[kA] Ibs[kA] Ioh[kA]      qe    qmin      q0   Vl[V] Te0[keV] Ti0[keV] ne0[e19]   f_ss
          1   0.046    2 8.1e-16       0   0.002      80       0    1.41    78.6    15.3    4.63    4.63 4.7e+00    0.27    0.27    1.00 1.4e+01
        101     1.4    1 4.3e-10     0.2   0.002     120       0    40.5    79.5    10.2    1.01    1.01 1.3e-01    8.22    8.22    1.00 4.4e-01
        201     2.6    1 2.3e-11     0.4   0.002     120       0    38.1    81.8    10.2    0.73    0.73 1.0e-01    8.33    8.33    1.00 1.7e-01
        301     3.8    1 2.9e-12     0.6   0.002     120       0    37.5    82.5    10.2   0.636   0.636 9.5e-02    8.37    8.37    1.00 6.1e-02
        401       5    1 3.8e-13     0.8   0.002     120       0    37.3    82.7    10.2   0.607   0.607 9.2e-02    8.39    8.39    1.00 2.2e-02
        501     6.2    1 6.9e-14       1   0.002     120       0    37.2    82.7    10.2   0.597   0.597 9.1e-02    8.40    8.40    1.00 8.2e-03
    Elapsed time is 6.171168 seconds.

## Run the second case with implicit evaluation of neoclassics, chie (slower).

    params.neos.implicit = true;
    params.chi_e.implicit = true;
    tic
    simres2 = RAPTOR_predictive(x0,g,v,U,model,params);
    toc
    out{2} = RAPTOR_out(simres2,model,params);

         it  telaps newt     res   t[ s]  dt[ s]  Ip[kA] Icd[kA] Ibs[kA] Ioh[kA]      qe    qmin      q0   Vl[V] Te0[keV] Ti0[keV] ne0[e19]   f_ss
          1   0.057    4 9.0e-10       0   0.002      80       0    1.41    78.6    15.3    5.07    5.07 3.4e+00    0.22    0.22    1.00 9.1e+00
        101     2.1    2 2.2e-14     0.2   0.002     120       0    40.3    79.6    10.2   0.999   0.999 1.3e-01    8.22    8.22    1.00 4.3e-01
        201     3.6    1 3.9e-10     0.4   0.002     120       0    38.1    81.8    10.2   0.726   0.726 1.0e-01    8.33    8.33    1.00 1.6e-01
        301     4.9    1 5.7e-11     0.6   0.002     120       0    37.5    82.5    10.2   0.635   0.635 9.5e-02    8.37    8.37    1.00 5.9e-02
        401     6.3    1 8.5e-12     0.8   0.002     120       0    37.3    82.7    10.2   0.607   0.607 9.2e-02    8.39    8.39    1.00 2.2e-02
        501     7.7    1 1.2e-12       1   0.002     120       0    37.2    82.7    10.2   0.597   0.597 9.1e-02    8.40    8.40    1.00 8.0e-03
    Elapsed time is 7.713110 seconds.

## Compare results

    RAPTOR_plot_GUI(out)

    ans =

      Figure (1: RAPTOR output) with properties:

          Number: 1
            Name: 'RAPTOR output'
           Color: [0.9400 0.9400 0.9400]
        Position: [0.0490 0.1983 0.9010 0.7058]
           Units: 'normalized'

      Use GET to show all properties