findBoundaryConditions

Найдите назначение граничных условий для геометрической области

Описание

пример

BCregion = findBoundaryConditions(BCs,RegionType,RegionID) возвращает граничное условие BCregion присвоен указанной области.

Примеры

свернуть все

Создайте модель УЧП и импортируйте простую геометрию блока. Постройте график геометрии с отображением меток граней.

model = createpde(3);
importGeometry(model,'Block.stl');
pdegplot(model,'FaceLabels','on','FaceAlpha',0.5)

Figure contains an axes. The axes contains 3 objects of type quiver, patch, line.

Установите нулевые условия Дирихле на гранях 1 и 2 для всех уравнений.

applyBoundaryCondition(model,'dirichlet','Face',1:2,'u',[0,0,0]);

На грани 3 установите граничное условие Неймана для уравнения 1 и граничное условие Дирихле для уравнений 2 и 3.

h = [0 0 0;0 1 0;0 0 1];
r = [0;3;3];
q = [1 0 0;0 0 0;0 0 0];
g = [10;0;0];
applyBoundaryCondition(model,'mixed','Face',3,'h',h,'r',r,'g',g,'q',q);

Установите граничные условия Неймана с противоположными знаками на гранях 5 и 6 для всех уравнений.

applyBoundaryCondition(model,'neumann','Face',4:5,'g',[1;1;1]);
applyBoundaryCondition(model,'neumann','Face',6,'g',[-1;-1;-1]);

Проверьте спецификацию граничных условий на грани 1.

findBoundaryConditions(model.BoundaryConditions,'Face',1)
ans = 
  BoundaryCondition with properties:

           BCType: 'dirichlet'
       RegionType: 'Face'
         RegionID: [1 2]
                r: []
                h: []
                g: []
                q: []
                u: [0 0 0]
    EquationIndex: []
       Vectorized: 'off'

Проверьте спецификацию граничных условий на грани 3.

findBoundaryConditions(model.BoundaryConditions,'Face',3)
ans = 
  BoundaryCondition with properties:

           BCType: 'mixed'
       RegionType: 'Face'
         RegionID: 3
                r: [3x1 double]
                h: [3x3 double]
                g: [3x1 double]
                q: [3x3 double]
                u: []
    EquationIndex: []
       Vectorized: 'off'

Проверьте спецификацию граничных условий на грани 5.

findBoundaryConditions(model.BoundaryConditions,'Face',5)
ans = 
  BoundaryCondition with properties:

           BCType: 'neumann'
       RegionType: 'Face'
         RegionID: [4 5]
                r: []
                h: []
                g: [3x1 double]
                q: []
                u: []
    EquationIndex: []
       Vectorized: 'off'

Входные параметры

свернуть все

Краевые условия модели PDE, заданные как BoundaryConditions свойство PDEModel.

Пример: model.BoundaryConditions

Тип геометрической области, заданный как 'Face' для 3-D геометрии или 'Edge' для 2-D геометрии.

Пример: findBoundaryConditions(model.BoundaryConditions,'Face',3)

Типы данных: char | string

Идентификатор геометрической области, заданный как вектор положительных целых чисел. Поиск идентификаторов областей при помощи pdegplot с 'FaceLabels' (3-D) или 'EdgeLabels' (2-D) значение установлено на 'on'.

Пример: findBoundaryConditions(model.BoundaryConditions,'Face',3)

Типы данных: double

Выходные аргументы

свернуть все

Граничное условие для конкретной области, возвращаемое как BoundaryCondition объект.

Введенный в R2016b