Существует два типа контуров:
Контуры между внутренним и внешним пространствами области
Контуры между поддоменами - эти контуры внутри области
Граничные условия, либо Дирихле, либо обобщенный Нейман, применяются только к контурам между внутренним и внешним пространствами области. Это связано с тем, что в формулировке тулбокса используется слабая форма PDE. См. Основы метода конечных элементов. В слабой формулировке вы не задаете граничные условия между поддоменами, даже если коэффициенты являются прерывистыми между поддоменами. Таким образом, тулбокс не поддерживает определение граничных условий на контурах поддомена.
Например, посмотрите на прямоугольную область с круговым поддоменом. Красные номера являются метками поддомена, черные - метками сегмента ребра.
% Rectangle is code 3, 4 sides, followed by x-coordinates and then y-coordinates R1 = [3,4,-1,1,1,-1,-.4,-.4,.4,.4]'; % Circle is code 1, center (.5,0), radius .2 C1 = [1,.5,0,.2]'; % Pad C1 with zeros to enable concatenation with R1 C1 = [C1;zeros(length(R1)-length(C1),1)]; geom = [R1,C1]; % Names for the two geometric objects ns = (char('R1','C1'))'; % Set formula sf = 'R1 + C1'; % Create geometry gd = decsg(geom,sf,ns); % View geometry pdegplot(gd,'EdgeLabels','on','SubdomainLabels','on') xlim([-1.1 1.1]) axis equal
Вы не должны давать граничные условия для сегментов 5, 6, 7 и 8, потому что это контуры поддомена, а не внешние контуры.
Однако, если окружность является отверстием, что означает, что она не является частью области, тогда вы задаете граничные условия для сегментов 5, 6, 7 и 8.