% Title: PDE toolbox example, circular area % Summary: Example for Discretization of Laplace Operator, % Dirichlet Boundary Conditions, with the PDE Toolbox. % File name: pde_tool_example.m % % Description: % Solution of a PDE boundary value problem with the Matlab PDE Toolbox: % -Laplace u = 0 over a segment of a circle, % Dirichlet Boundary Conditions with u = sin(2/3*phi) on the % boundary. % % Author: Bernd Flemisch/Andreas Klimke % function pdemodel [pde_fig,ax]=pdeinit; pdetool('appl_cb',1); pdetool('snapon','on'); set(ax,'DataAspectRatio',[1 1 1]); set(ax,'PlotBoxAspectRatio',[1.5 1 1]); set(ax,'XLim',[-1.5 1.5]); set(ax,'YLim',[-1 1]); set(ax,'XTickMode','auto'); set(ax,'YTickMode','auto'); pdetool('gridon','on'); % Geometry description: pdecirc(0,0,1,'C1'); pderect([0 1 0 -1],'SQ1'); set(findobj(get(pde_fig,'Children'),'Tag','PDEEval'),'String','C1-SQ1') % Boundary conditions: pdetool('changemode',0) pdesetbd(5,... 'dir',... 1,... '1',... 'sin(2/3*(pi-asin(y)))') pdesetbd(4,... 'dir',... 1,... '1',... 'sin(2/3*asin(y))') pdesetbd(3,... 'dir',... 1,... '1',... 'sin(2/3*(pi+asin(-y)))') pdesetbd(2,... 'dir',... 1,... '1',... '0') pdesetbd(1,... 'dir',... 1,... '1',... '0') % Mesh generation: setuprop(pde_fig,'Hgrad',1.3); setuprop(pde_fig,'refinemethod','regular'); pdetool('initmesh') pdetool('refine') % PDE coefficients: pdeseteq(1,... '1.0',... '0.0',... '0',... '1.0',... '0:10',... '0.0',... '0.0',... '[0 100]') setuprop(pde_fig,'currparam',... ['1.0';... '0.0';... '0 ';... '1.0']) % Solve parameters: setuprop(pde_fig,'solveparam',... str2mat('0','1176','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 1 0 1 1 1 1 0 0 1]); setuprop(pde_fig,'colstring',''); setuprop(pde_fig,'arrowstring',''); setuprop(pde_fig,'deformstring',''); setuprop(pde_fig,'heightstring',''); % Solve PDE: pdetool('solve')