Нет граничных условий между поддоменами

Существует два типа контуров:

  • Контуры между внутренним и внешним пространствами области

  • Контуры между поддоменами - эти контуры внутри области

Граничные условия, либо Дирихле, либо обобщенный Нейман, применяются только к контурам между внутренним и внешним пространствами области. Это связано с тем, что в формулировке тулбокса используется слабая форма 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

Figure contains an axes. The axes contains 11 objects of type line, text.

Вы не должны давать граничные условия для сегментов 5, 6, 7 и 8, потому что это контуры поддомена, а не внешние контуры.

Однако, если окружность является отверстием, что означает, что она не является частью области, тогда вы задаете граничные условия для сегментов 5, 6, 7 и 8.