Никакие граничные условия между субдоменами

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

  • Контуры между внутренней частью области и внешним видом области

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

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

Например, посмотрите на прямоугольную область с круговым субдоменом. Красные числа являются метками субдомена, черные числа являются метками сегмента ребра.

% 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.