function pdemodel
[pde_fig,ax]=pdeinit;
pdetool('appl_cb',1);
pdetool('snapon','on');
set(ax,'DataAspectRatio',[1 1 1]);
set(ax,'PlotBoxAspectRatio',[750.40000000000009 517.68888888888887 129.42222222222222]);
set(ax,'XLimMode','auto');
set(ax,'YLim',[-2 2]);
set(ax,'XTickMode','auto');
set(ax,'YTickMode','auto');
pdetool('gridon','on');

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

% Boundary conditions:
pdetool('changemode',0)
pdesetbd(4,...      % bdary segment
'dir',...           % type, Dirichlet
1,...               % scalar
'1',...             % h=1
'1')                % r=1
pdesetbd(3,...
'neu',...
1,...
'0',...
'1')
pdesetbd(2,...
'dir',...
1,...
'1',...
'1+y')
pdesetbd(1,...
'dir',...
1,...
'1',...
'1+x')

% PDE coefficients:
pdeseteq(1,...
'1.0',...
'0.0',...
'0',...
'0',...
'0:10',...
'0.0',...
'0.0',...
'[0 100]')
setuprop(pde_fig,'currparam',...
['1.0 ';...
'0.0 ';...
'10.0';...
'1.0 '])

% Solve parameters:
setuprop(pde_fig,'solveparam',...
str2mat('0','1000','10','pdeadworst',...
'0.5','longest','0','1E-4','','fixed','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','');
