exponenta event banner

мультикубоид

Создайте геометрию, сформированную несколькими кубическими ячейками

Синтаксис

gm = multicuboid(W,D,H)
gm = multicuboid(W,D,H,Name,Value)

Описание

пример

gm = multicuboid(W,D,H) создает геометрию путем объединения нескольких кубических ячеек.

При создании каждого кубоида multicuboid использует следующую систему координат.

пример

gm = multicuboid(W,D,H,Name,Value) создает геометрию мультикубоида с помощью одного или нескольких аргументов пары Name,Value.

Примеры

свернуть все

Создайте геометрию, которая состоит из трех вложенных кубоидов той же высоты, и включайте эту геометрию в модель PDE.

Создайте геометрию при помощи функции multicuboid. Получившаяся геометрия состоит из трех ячеек.

gm = multicuboid([2 3 5],[4 6 10],3)
gm = 
  DiscreteGeometry with properties:

       NumCells: 3
       NumFaces: 18
       NumEdges: 36
    NumVertices: 24

Создайте модель PDE.

model = createpde
model = 
  PDEModel with properties:

           PDESystemSize: 1
         IsTimeDependent: 0
                Geometry: []
    EquationCoefficients: []
      BoundaryConditions: []
       InitialConditions: []
                    Mesh: []
           SolverOptions: [1x1 PDESolverOptions]

Включайте геометрию в модель.

model.Geometry = gm
model = 
  PDEModel with properties:

           PDESystemSize: 1
         IsTimeDependent: 0
                Geometry: [1x1 DiscreteGeometry]
    EquationCoefficients: []
      BoundaryConditions: []
       InitialConditions: []
                    Mesh: []
           SolverOptions: [1x1 PDESolverOptions]

Постройте геометрию.

pdegplot(model,'CellLabels','on','FaceAlpha',0.5)

Создайте геометрию, которая состоит из четырех сложенных кубоидов, и включайте эту геометрию в модель PDE.

Создайте геометрию при помощи функции multicuboid с аргументом ZOffset. Получившаяся геометрия состоит из четырех ячеек, сложенных друг на друге.

gm = multicuboid(5,10,[1 2 3 4],'ZOffset',[0 1 3 6])
gm = 
  DiscreteGeometry with properties:

       NumCells: 4
       NumFaces: 21
       NumEdges: 36
    NumVertices: 20

Создайте модель PDE.

model = createpde
model = 
  PDEModel with properties:

           PDESystemSize: 1
         IsTimeDependent: 0
                Geometry: []
    EquationCoefficients: []
      BoundaryConditions: []
       InitialConditions: []
                    Mesh: []
           SolverOptions: [1x1 PDESolverOptions]

Включайте геометрию в модель.

model.Geometry = gm
model = 
  PDEModel with properties:

           PDESystemSize: 1
         IsTimeDependent: 0
                Geometry: [1x1 DiscreteGeometry]
    EquationCoefficients: []
      BoundaryConditions: []
       InitialConditions: []
                    Mesh: []
           SolverOptions: [1x1 PDESolverOptions]

Постройте геометрию.

pdegplot(model,'CellLabels','on','FaceAlpha',0.5)

Создайте геометрию, которая состоит из одного кубоида, и включайте эту геометрию в модель PDE.

Используйте функцию multicuboid, чтобы создать один кубоид. Получившаяся геометрия состоит из одной ячейки.

gm = multicuboid(5,10,7)
gm = 
  DiscreteGeometry with properties:

       NumCells: 1
       NumFaces: 6
       NumEdges: 12
    NumVertices: 8

Создайте модель PDE.

model = createpde
model = 
  PDEModel with properties:

           PDESystemSize: 1
         IsTimeDependent: 0
                Geometry: []
    EquationCoefficients: []
      BoundaryConditions: []
       InitialConditions: []
                    Mesh: []
           SolverOptions: [1x1 PDESolverOptions]

Включайте геометрию в модель.

model.Geometry = gm
model = 
  PDEModel with properties:

           PDESystemSize: 1
         IsTimeDependent: 0
                Geometry: [1x1 DiscreteGeometry]
    EquationCoefficients: []
      BoundaryConditions: []
       InitialConditions: []
                    Mesh: []
           SolverOptions: [1x1 PDESolverOptions]

Постройте геометрию.

pdegplot(model,'CellLabels','on')

Создайте полый куб и включайте его как геометрию в модели PDE.

Создайте полый куб при помощи функции multicuboid с аргументом Void. Получившаяся геометрия состоит из одной ячейки.

gm = multicuboid([6 10],[6 10],10,'Void',[true,false])
gm = 
  DiscreteGeometry with properties:

       NumCells: 1
       NumFaces: 10
       NumEdges: 24
    NumVertices: 16

Создайте модель PDE.

model = createpde
model = 
  PDEModel with properties:

           PDESystemSize: 1
         IsTimeDependent: 0
                Geometry: []
    EquationCoefficients: []
      BoundaryConditions: []
       InitialConditions: []
                    Mesh: []
           SolverOptions: [1x1 PDESolverOptions]

Включайте геометрию в модель.

model.Geometry = gm
model = 
  PDEModel with properties:

           PDESystemSize: 1
         IsTimeDependent: 0
                Geometry: [1x1 DiscreteGeometry]
    EquationCoefficients: []
      BoundaryConditions: []
       InitialConditions: []
                    Mesh: []
           SolverOptions: [1x1 PDESolverOptions]

Постройте геометрию.

pdegplot(model,'CellLabels','on','FaceAlpha',0.5)

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

свернуть все

Ширина ячеек, заданная как положительное вещественное число или вектор положительных вещественных чисел. Если W является вектором, то W(i) задает ширину i th ячейка.

Ширина W, глубина D и высота H может быть скалярами или векторами той же длины. Для комбинации скалярных и векторных входных параметров multicuboid реплицирует скалярные аргументы в векторы той же длины.

Примечание

Все ячейки в геометрии или должны иметь ту же высоту или должны иметь и ту же ширину и ту же глубину.

Пример: gm = multicuboid([1 2 3],[2.5 4 5.5],5)

Глубина ячейки, заданная как положительное вещественное число или вектор положительных вещественных чисел. Если D является вектором, то D(i) задает глубину i th ячейка.

Ширина W, глубина D и высота H может быть скалярами или векторами той же длины. Для комбинации скалярных и векторных входных параметров multicuboid реплицирует скалярные аргументы в векторы той же длины.

Примечание

Все ячейки в геометрии или должны иметь ту же высоту или должны иметь и ту же ширину и ту же глубину.

Пример: gm = multicuboid([1 2 3],[2.5 4 5.5],5)

Ширина ячеек, заданная как положительное вещественное число или вектор положительных вещественных чисел. Если H является вектором, то H(i) задает высоту i th ячейка.

Ширина W, глубина D и высота H может быть скалярами или векторами той же длины. Для комбинации скалярных и векторных входных параметров multicuboid реплицирует скалярные аргументы в векторы той же длины.

Примечание

Все ячейки в геометрии или должны иметь ту же высоту или должны иметь и ту же ширину и ту же глубину.

Пример: gm = multicuboid(4,5,[1 2 3],'ZOffset',[0 1 3])

Аргументы в виде пар имя-значение

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: gm = multicuboid([1 2],[1 2],[3 3],'Void',[true,false])

Z смещение для каждой ячейки, заданной как вектор вещественных чисел. ZOffset(i) задает смещение Z i th ячейка. Этот вектор должен иметь ту же длину как вектор ширины W, вектор глубины D или вектор высоты H.

Примечание

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

Пример: gm = multicuboid(20,30,[10 10],'ZOffset',[0 10])

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

Индикатор пустой ячейки, заданный как вектор логического true или значений false. Этот вектор должен иметь ту же длину как вектор ширины W, вектор глубины D или вектор высоты H.

Значение true соответствует пустой ячейке. По умолчанию multicuboid принимает, что все ячейки не пусты.

Пример: gm = multicuboid([1 2],[1 2],[3 3],'Void',[true,false])

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

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

свернуть все

Геометрический объект, возвращенный как объект DiscreteGeometry Properties.

Ограничения

  • multicuboid позволяет вам создать только конфигурации, состоящие из сложенных или вложенных кубоидов. Для вложенных кубоидов высота должна быть тем же самым для всех ячеек в геометрии. Для сложенных кубоидов ширина и глубина должны быть тем же самым для всех ячеек в геометрии. Используйте аргумент ZOffset, чтобы сложить ячейки друг на друге, не перекрывая их.

  • multicuboid не позволяет вам создать вложенные кубоиды той же ширины и глубины. Вызов multicuboid(w,d,[h1,h2,...]) не поддержан.

Введенный в R2017a