Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
29
Добавлен:
18.07.2022
Размер:
6 Кб
Скачать
function pdemodel
[pde_fig,ax]=pdeinit;
pdetool('appl_cb',9);
set(ax,'DataAspectRatio',[1 0.88421052631578934 1]);
set(ax,'PlotBoxAspectRatio',[4.75 3.166666666666667 1]);
set(ax,'XLim',[0 9.5]);
set(ax,'YLim',[-1.6000000000000001 4]);
set(ax,'XTick',[ 0,...
 0.40000000000000002,...
 0.80000000000000004,...
 1.2000000000000002,...
 1.6000000000000001,...
 2,...
 2.4000000000000004,...
 2.8000000000000003,...
 3.2000000000000002,...
 3.6000000000000001,...
 4,...
 4.4000000000000004,...
 4.8000000000000007,...
 5.1999999999999993,...
 5.5999999999999996,...
 6,...
 6.4000000000000004,...
 6.7999999999999998,...
 7.1999999999999993,...
 7.5999999999999996,...
 8,...
 8.4000000000000004,...
 8.8000000000000007,...
 9.1999999999999993,...
 9.5999999999999996,...
 10,...
]);
set(ax,'YTick',[ -2,...
 -1.8,...
 -1.6000000000000001,...
 -1.3999999999999999,...
 -1.2,...
 -1,...
 -0.79999999999999982,...
 -0.59999999999999987,...
 -0.39999999999999991,...
 -0.19999999999999996,...
 0,...
 0.20000000000000018,...
 0.40000000000000036,...
 0.60000000000000009,...
 0.80000000000000027,...
 1,...
 1.2000000000000002,...
 1.4000000000000004,...
 1.6000000000000001,...
 1.8000000000000003,...
 2,...
 2.2000000000000002,...
 2.4000000000000004,...
 2.6000000000000005,...
 2.8000000000000007,...
 3,...
 3.1999999999999993,...
 3.3999999999999995,...
 3.5999999999999996,...
 3.7999999999999998,...
 4,...
 4.1999999999999993,...
 4.4000000000000004,...
 4.5999999999999996,...
 4.7999999999999998,...
 5,...
 5.1999999999999993,...
 5.4000000000000004,...
 5.5999999999999996,...
 5.7999999999999998,...
 6,...
 6.2000000000000002,...
 6.4000000000000004,...
 6.5999999999999996,...
 6.7999999999999998,...
 7,...
 7.2000000000000002,...
 7.4000000000000004,...
 7.5999999999999996,...
 7.7999999999999998,...
 8,...
]);
pdetool('gridon','on');

% Geometry description:
pderect([1.5 7.5 2.3999999999999999 2.6000000000000001],'R2');
pdepoly([ 2,...
 4.5,...
 7,...
],...
[ 2.6000000000000001,...
 3.4300000000000002,...
 2.6000000000000001,...
],...
 'P2');
pderect([4 4.7999999999999998 0 1],'R3');
pderect([2 2.2000000000000002 2.3999999999999999 0],'R4');
pderect([6.7999999999999998 7 2.3999999999999999 0],'R5');
pdepoly([ 1.5,...
 2,...
 4.5,...
 7,...
 7.5,...
 4.5,...
],...
[ 2.6000000000000001,...
 2.6000000000000001,...
 3.4300000000000002,...
 2.6000000000000001,...
 2.6000000000000001,...
 3.6000000000000001,...
],...
 'P1');
pderect([1.2 7.7999999999999998 0 -0.40000000000000002],'R6');
pdepoly([ 1.2000000000000002,...
 1.2000000000000002,...
 7.7999999999999998,...
 7.7999999999999998,...
 8.8000000000000007,...
 8.8000000000000007,...
 0.40000000000000002,...
 0.40000000000000002,...
],...
[ 0,...
 -0.39999999999999991,...
 -0.39999999999999991,...
 0,...
 0,...
 -1,...
 -1,...
 0,...
],...
 'P3');
pdepoly([ 4.5,...
 7.5,...
 7.5,...
 4.5,...
 1.5,...
 1.5,...
],...
[ 3.7999999999999998,...
 2.8000000000000007,...
 2.6000000000000005,...
 3.6000000000000001,...
 2.6000000000000005,...
 2.8000000000000007,...
],...
 'P4');
pdepoly([ 2.2000000000000002,...
 4,...
 4,...
 4.8000000000000007,...
 4.8000000000000007,...
 6.7999999999999998,...
 6.7999999999999998,...
 2.2000000000000002,...
],...
[ 0,...
 0,...
 1,...
 1,...
 0,...
 0,...
 2.4000000000000004,...
 2.4000000000000004,...
],...
 'P5');
set(findobj(get(pde_fig,'Children'),'Tag','PDEEval'),'String','R2+P2+R3+R4+R5+P1+R6+P3+P4+P5')

% Boundary conditions:
pdetool('changemode',0)
pdesetbd(39,...
'dir',...
1,...
'1',...
'253')
pdesetbd(35,...
'dir',...
1,...
'1',...
'253')
pdesetbd(33,...
'dir',...
1,...
'1',...
'253')
pdesetbd(32,...
'dir',...
1,...
'1',...
'253')
pdesetbd(26,...
'dir',...
1,...
'1',...
'253')
pdesetbd(25,...
'dir',...
1,...
'1',...
'253')
pdesetbd(21,...
'dir',...
1,...
'1',...
'253')
pdesetbd(20,...
'dir',...
1,...
'1',...
'253')
pdesetbd(17,...
'dir',...
1,...
'1',...
'253')
pdesetbd(16,...
'dir',...
1,...
'1',...
'253')
pdesetbd(7,...
'dir',...
1,...
'1',...
'253')
pdesetbd(6,...
'dir',...
1,...
'1',...
'253')
pdesetbd(5,...
'dir',...
1,...
'1',...
'273')
pdesetbd(4,...
'dir',...
1,...
'1',...
'273')
pdesetbd(3,...
'dir',...
1,...
'1',...
'273')
pdesetbd(2,...
'dir',...
1,...
'1',...
'253')
pdesetbd(1,...
'dir',...
1,...
'1',...
'253')

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

% PDE coefficients:
pdeseteq(2,...
'0.2!0.2!0.4!0.15!0.026!0.15!1.7!47!47!0.026',...
'0!0!0!0!0!0!0!0!15!0',...
'(0)+(0).*(253)!(0)+(0).*(253)!(0)+(0).*(273)!(0)+(0).*(253)!(0)+(0).*(253)!(0)+(0).*(253)!(0)+(0).*(273)!(0)+(0).*(253)!(30000)+(15).*(273)!(0)+(0).*(273)',...
'(500).*(840)!(500).*(840)!(1500).*(850)!(200).*(2090)!(1.2).*(1005)!(450).*(2700)!(2500).*(840)!(7900).*(462)!(7900).*(462)!(1.2).*(1005)',...
'0:5000:300000',...
'253',...
'0.0',...
'[0 100]')
setappdata(pde_fig,'currparam',...
['500!500!1500!200!1.2!450!2500!7900!7900!1.2';...
'840!840!850!2090!1005!2700!840!462!462!1005';...
'0.2!0.2!0.4!0.15!0.026!0.15!1.7!47!47!0.026';...
'0!0!0!0!0!0!0!0!30000!0                    ';...
'0!0!0!0!0!0!0!0!15!0                       ';...
'253!253!273!253!253!253!273!253!273!273    '])

% Solve parameters:
setappdata(pde_fig,'solveparam',...
char('0','28056','10','pdeadworst',...
'0.5','longest','0','1E-4','','fixed','Inf'))

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

% Solve PDE:
pdetool('solve')
Соседние файлы в папке Лабораторные работы