Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
17
Добавлен:
18.07.2022
Размер:
5.76 Кб
Скачать
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')
Соседние файлы в папке Лабораторные работы