# RAPTOR Sawtooth Tutorial

RAPTOR includes a sawtooth module. This tutorial explains how to use it

    close all hidden;
    run('../RAPTOR_path.m');
    [config] = RAPTOR_config; % load default params

    % set some things
    config.init.te0 = 100;
    config.debug.iterdisp = 50;
    config.grid.tgrid = [0.:0.0005:0.2]; % small time step to see crashes well

    % load sawtooth model
    config.saw = saw('porcelli'); % this is a dummy sawtooth model that just reduces Te
    % set critical temperature
    config.saw.params.s1crit = 0.4; % critical shear for reconnection

    % generate model structure for these params.
    [model,params,init,g,v,U] = build_RAPTOR_model(config);

    % define input
    rampfun = @(t,tmin,ymin,tmax,ymax) ...
        max(ymin,min((ymax-ymin)/(tmax-tmin)*(t-tmin),ymax-ymin)+ymin); % anonymous function for ramps
    init.Ip0 = 80e3;
    U(1,:) = rampfun(config.grid.tgrid,0,init.Ip0,0.05,200e3);

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

    % run RAPTOR
    simres = RAPTOR_predictive(x0,g,v,U,model,params);
    out = RAPTOR_out(simres,model,params);
    % inspect result
    figure;
    plot(out.time,out.te);

         it  telaps newt     res   t[ms]  dt[ms]  Ip[kA] Icd[kA] Ibs[kA] Ioh[kA]      qe    qmin      q0   Vl[V] Te0[keV] Ti0[keV] ne0[e19]   f_ss
          1   0.051    5 7.1e-12       0     0.5      80       0   0.532    79.4    15.3    5.86    5.86 3.5e+00    0.14    0.29    1.00 1.2e+01
         51       1    2 1.1e-14      25     0.5     140       0    6.02     134    8.76    1.91    1.91 3.7e+00    0.53    1.06    1.00 9.4e+00
        101       2    2 5.3e-14      50     0.5     200       0    8.41     192    6.13     1.2     1.2 3.2e+00    0.88    1.76    1.00 8.9e+00
        151       3    2 5.2e-14      75     0.5     200       0    8.55     191    6.13   0.873   0.873 1.9e+00    1.14    2.28    1.00 4.4e+00
        201       4    3 6.0e-10     100     0.5     200       0    8.19     192    6.13   0.923   0.923 1.6e+00    1.13    2.26    1.00 7.2e+00
        251       5    2 2.6e-09     125     0.5     200       0    8.47     191    6.13   0.881   0.881 1.5e+00    1.27    2.54    1.00 6.2e+00
        301     6.1    4 9.6e-14     150     0.5     200       0    8.59     191    6.13   0.959   0.959 1.4e+00    1.01    2.03    1.00 1.1e+01
        351     7.2    2 5.1e-11     175     0.5     200       0    8.56     191    6.13   0.862   0.862 1.5e+00    1.31    2.62    1.00 5.9e+00
        401     8.3    3 9.0e-09     200     0.5     200       0    8.18     192    6.13   0.928   0.928 1.4e+00    1.13    2.26    1.00 8.9e+00