multicylinder

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

Описание

пример

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

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

Cylinder in x, y, z coordinates with its base in the x-y plane and the center of its base at the origin

пример

gm = multicylinder(R,H,Name,Value) создает мультицилиндрическую геометрию с помощью одного или нескольких Name,Value парные аргументы.

Примеры

свернуть все

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

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

gm = multicylinder([5 10 15],2)
gm = 
  DiscreteGeometry with properties:

       NumCells: 3
       NumFaces: 9
       NumEdges: 6
    NumVertices: 6
       Vertices: [6x3 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.

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

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

       NumCells: 4
       NumFaces: 9
       NumEdges: 5
    NumVertices: 5
       Vertices: [5x3 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.

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

gm = multicylinder(5,10)
gm = 
  DiscreteGeometry with properties:

       NumCells: 1
       NumFaces: 3
       NumEdges: 2
    NumVertices: 2
       Vertices: [2x3 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.

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

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

       NumCells: 1
       NumFaces: 4
       NumEdges: 4
    NumVertices: 4
       Vertices: [4x3 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.

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

свернуть все

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

Радиус R и высота H могут быть скаляры или векторы из той же длины. Для комбинации скалярных и векторных входных параметров, multicylinder реплицирует скалярные аргументы в векторы из той же длины.

Примечание

Или радиус или высота должны быть тем же самым для всех ячеек в геометрии.

Пример: gm = multicylinder([1 2 3],1)

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

Радиус R и высота H могут быть скаляры или векторы из той же длины. Для комбинации скалярных и векторных входных параметров, multicylinder реплицирует скалярные аргументы в векторы из той же длины.

Примечание

Или радиус или высота должны быть тем же самым для всех ячеек в геометрии.

Пример: gm = multicylinder(1,[1 2 3],'Zoffset',[0 1 3])

Аргументы name-value

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

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

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

Примечание

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

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

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

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

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

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

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

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

свернуть все

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

Совет

Цилиндр имеет одну ячейку, три поверхности и два ребра. Кроме того, поскольку каждое ребро имеет запуск и вершину конца, цилиндр имеет вершины. Оба ребра являются кругами, их вершины начала и конца совпадают. Таким образом цилиндр имеет две вершины - один для каждого ребра.

Ограничения

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

  • multicylinder не позволяет вам создать вложенные цилиндры того же радиуса. Вызов multicylinder(r,[h1,h2,...]) не поддерживается.

Введенный в R2017a