multicuboid

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

Описание

пример

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

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

Cube in x, y, z coordinates with one of its faces in the x-y plane and the center of that face at the origin. The cube protrudes along the z-axis.

пример

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
       Vertices: [24x3 double]

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

model = createpde
model = 
  PDEModel with properties:

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

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

model.Geometry = gm
model = 
  PDEModel with properties:

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

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

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

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

Создайте геометрию, которая состоит из четырех сложенных кубоидов, и включайте эту геометрию в модель 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
       Vertices: [20x3 double]

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

model = createpde
model = 
  PDEModel with properties:

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

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

model.Geometry = gm
model = 
  PDEModel with properties:

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

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

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

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

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

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

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

       NumCells: 1
       NumFaces: 6
       NumEdges: 12
    NumVertices: 8
       Vertices: [8x3 double]

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

model = createpde
model = 
  PDEModel with properties:

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

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

model.Geometry = gm
model = 
  PDEModel with properties:

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

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

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

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

Создайте полый куб и включайте его как геометрию в модели 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
       Vertices: [16x3 double]

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

model = createpde
model = 
  PDEModel with properties:

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

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

model.Geometry = gm
model = 
  PDEModel with properties:

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

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

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

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

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

свернуть все

Ширина ячеек в виде положительного вещественного числа или вектора из положительных вещественных чисел. Если 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,Value аргументы. 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