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

% Geometry description:
pderect([-1 1 1 -1],'SQ1');
pderect([1 0 -1 0],'SQ2');
set(findobj(get(pde_fig,'Children'),'Tag','PDEEval'),'String','SQ1-SQ2')

% Boundary conditions:
pdetool('changemode',0)
pdesetbd(6,...
'neu',...
1,...
'0',...
'0')
pdesetbd(5,...
'dir',...
1,...
'1',...
'1')
pdesetbd(4,...
'dir',...
1,...
'1',...
'1')
pdesetbd(3,...
'dir',...
1,...
'1',...
'1')
pdesetbd(2,...
'dir',...
1,...
'1',...
'1')
pdesetbd(1,...
'dir',...
1,...
'1',...
'1')

% Mesh generation:
setuprop(pde_fig,'Hgrad',1.3);
setuprop(pde_fig,'refinemethod','regular');
pdetool('initmesh')
pdetool('refine')
pdetool('refine')

% PDE coefficients:
pdeseteq(1,...
'exp(u)',...
'(x+1)',...
'5*(u-1)',...
'1.0',...
'0:10',...
'0.0',...
'0.0',...
'[0 100]')
setuprop(pde_fig,'currparam',...
['exp(u) ';...
'(x+1)  ';...
'5*(u-1)';...
'1.0    '])

% Solve parameters:
setuprop(pde_fig,'solveparam',...
str2mat('0','5760','10','pdeadworst',...
'0.5','longest','1','1e-4','','lumped','inf'))

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

% Solve PDE:
pdetool('solve')
