findBoundaryConditions

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

Описание

пример

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

Примеры

свернуть все

Создайте модель PDE и импортируйте простую геометрию блока. Постройте геометрию, отображающую метки поверхности.

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

Figure contains an axes object. The axes object 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' для 2D геометрии.

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

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

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

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

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

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

свернуть все

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

Введенный в R2017b