function pdemodel
    [pde_fig,ax]=pdeinit;
    pdetool('appl_cb',1);
    set(ax,'DataAspectRatio',[1 1.5 1]);
    set(ax,'PlotBoxAspectRatio',[5 3.3333333333333335 1]);
    set(ax,'XLim',[-5 5]);
    set(ax,'YLim',[-5 5]);
    set(ax,'XTickMode','auto');
    set(ax,'YTickMode','auto');
    pdetool('gridon','on');

    % Geometry description:
    pdepoly([ -4.3918918918918921,...
     -4.3918918918918921,...
     -4.3918918918918921,...
     -3.6261261261261266,...
     -2.3348348348348349,...
     -1.4639639639639643,...
     -0.80330330330330391,...
     0.3078078078078077,...
     0.99849849849849814,...
     1.7042042042042036,...
     2.8153153153153152,...
     3.8513513513513509,...
     4.3318318318318312,...
     4.6921921921921914,...
     4.8123123123123115,...
     4.7222222222222214,...
     4.046546546546546,...
     3.5360360360360357,...
     2.0495495495495497,...
     0.33783783783783772,...
     -0.98348348348348402,...
     -1.3888888888888893,...
     -2.5900900900900901,...
     -4.0165165165165169,...
     -4.6021021021021022,...
     -4.226726726726727,...
    ],...
    [ 0.79954954954954971,...
     1.0472972972972947,...
     2.5337837837837816,...
     3.8175675675675649,...
     4.1779279279279251,...
     4.0878378378378351,...
     3.6824324324324298,...
     3.7499999999999964,...
     4.3581081081081052,...
     4.5833333333333321,...
     4.3806306306306269,...
     3.5022522522522497,...
     2.6013513513513491,...
     0.84459459459459296,...
     -0.41666666666666785,...
     -1.7680180180180187,...
     -3.2545045045045047,...
     -4.0202702702702702,...
     -4.763513513513514,...
     -4.718468468468469,...
     -4.1328828828828836,...
     -3.6148648648648649,...
     -4.0653153153153152,...
     -3.2770270270270281,...
     -2.173423423423424,...
     -0.16891891891892108,...
    ],...
     'P1');
    set(findobj(get(pde_fig,'Children'),'Tag','PDEEval'),'String','P1')

    % Boundary conditions:
    pdetool('changemode',0)
    pdesetbd(26,...
    'dir',...
    1,...
    '1',...
    '0')
    pdesetbd(25,...
    'dir',...
    1,...
    '1',...
    '0')
    pdesetbd(24,...
    'dir',...
    1,...
    '1',...
    '0')
    pdesetbd(23,...
    'dir',...
    1,...
    '1',...
    '0')
    pdesetbd(22,...
    'dir',...
    1,...
    '1',...
    '0')
    pdesetbd(21,...
    'dir',...
    1,...
    '1',...
    '0')
    pdesetbd(20,...
    'dir',...
    1,...
    '1',...
    '0')
    pdesetbd(19,...
    'dir',...
    1,...
    '1',...
    '0')
    pdesetbd(18,...
    'dir',...
    1,...
    '1',...
    '0')
    pdesetbd(17,...
    'dir',...
    1,...
    '1',...
    '0')
    pdesetbd(16,...
    'dir',...
    1,...
    '1',...
    '0')
    pdesetbd(15,...
    'dir',...
    1,...
    '1',...
    '0')
    pdesetbd(14,...
    'dir',...
    1,...
    '1',...
    '0')
    pdesetbd(13,...
    'dir',...
    1,...
    '1',...
    '0')
    pdesetbd(12,...
    'dir',...
    1,...
    '1',...
    '0')
    pdesetbd(11,...
    'dir',...
    1,...
    '1',...
    '0')
    pdesetbd(10,...
    'dir',...
    1,...
    '1',...
    '0')
    pdesetbd(9,...
    'dir',...
    1,...
    '1',...
    '0')
    pdesetbd(8,...
    'dir',...
    1,...
    '1',...
    '0')
    pdesetbd(7,...
    'dir',...
    1,...
    '1',...
    '0')
    pdesetbd(6,...
    'dir',...
    1,...
    '1',...
    '0')
    pdesetbd(5,...
    'dir',...
    1,...
    '1',...
    '0')
    pdesetbd(4,...
    'dir',...
    1,...
    '1',...
    '0')
    pdesetbd(3,...
    'dir',...
    1,...
    '1',...
    '0')
    pdesetbd(2,...
    'dir',...
    1,...
    '1',...
    '0')
    pdesetbd(1,...
    'dir',...
    1,...
    '1',...
    '0')

    % Mesh generation:
    setappdata(pde_fig,'Hgrad',1.3);
    setappdata(pde_fig,'refinemethod','regular');
    setappdata(pde_fig,'jiggle',char('on','mean',''));
    pdetool('initmesh')

    % Plotflags and user data strings:
    setappdata(pde_fig,'plotflags',[1 1 1 1 1 1 1 1 0 0 0 2 1 0 0 0 0 1]);
    setappdata(pde_fig,'colstring','');
    setappdata(pde_fig,'arrowstring','');
    setappdata(pde_fig,'deformstring','');
    setappdata(pde_fig,'heightstring','');


    u = get(findobj(pde_fig,'Tag','PDEPlotMenu'),'UserData');
    h=findobj(get(pde_fig,'Children'),'flat','Tag','PDEMeshMenu');
    hp=findobj(get(h,'Children'),'flat','Tag','PDEInitMesh');
    he=findobj(get(h,'Children'),'flat','Tag','PDERefine');
    ht=findobj(get(h,'Children'),'flat','Tag','PDEMeshParam');
    p=get(hp,'UserData'); 
    e=get(he,'UserData');
    t=get(ht,'UserData');

    N = 50;
    tlist = linspace(0, 1.5, N);

    b = @pdebound;
    d = 1;
    a = 1;
    f = '0';
    c = '1';

    u0 = '10*exp(-1./(2 - (x.^2 + y.^2))).*(x.^2 + y.^2 < 2)';

    u = parabolic(u0, tlist, b, p, e,t,c,a,f,d);

    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    %                            Michael Pokojovy                             % 
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    figure(1);

    set(gcf, 'PaperUnits', 'centimeters');
    xSize = 24; ySize = 14;
    xLeft = (21 - xSize)/2; yTop = (30 - ySize)/2;
    set(gcf,'PaperPosition', [xLeft yTop xSize ySize]);
    set(gcf,'Position',[0 0 xSize*50 ySize*50]);

    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    hold on;

    h = title('L\"osung des ARWP $u_{t} - \triangle u = u$', 'interpreter', 'latex');
    set(h, 'FontSize', 16);

    k = 0;
    for i = 1:3
    for j = 1:3
        k = k + 1;
        subplot(3, 3, k);

        tt = min(1 + floor((k - 1)*N/8), N);

        pdeplot(p,e,t,'xydata',u(:,tt),'zdata',u(:,tt),'colormap','jet')
        axis([-5 5 -5 5 0 5]);
        h = title(['$t = $ ' num2str(tlist(tt))], 'interpreter', 'latex');
        set(h, 'FontSize', 16);
        view(-45, 22)

        xlabel('x_{1}');
        ylabel('x_{2}');
        zlabel('u(t, x_{1}, x_{2})');
    end
    end
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
