multicylinder

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

Описание

пример

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

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

пример

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]

Создайте модель УЧП.

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. The axes 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]

Создайте модель УЧП.

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. The axes 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]

Создайте модель УЧП.

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. The axes 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]

Создайте модель УЧП.

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. The axes contains 3 objects of type quiver, patch, line.

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

свернуть все

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

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

Примечание

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

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

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

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

Примечание

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

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

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

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

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

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

Примечание

The 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