Существует два типа контуров:
Контуры между внутренней частью области и внешним видом области
Контуры между субдоменами - это контуры во внутренней части области
Граничные условия, или Дирихле или обобщенный Нейман, применяются только к контурам между внутренней частью и внешним видом области. Это вызвано тем, что формулировка тулбокса использует слабую форму УЧП. Смотрите Основы метода конечных элементов. В слабой формулировке вы не задаете граничные условия между субдоменами, даже если коэффициенты прерывисты между субдоменами. Таким образом, тулбокс не поддерживает граничные условия определения на контурах субдомена.
Например, посмотрите на прямоугольную область с круговым субдоменом. Красные числа являются метками субдомена, черные числа являются метками сегмента ребра.
% 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.