pdemesh

Постройте mesh УЧП

Описание

пример

pdemesh(model) строит mesh, содержавшуюся в 2D или 3-D model объект типа PDEModel.

пример

pdemesh(mesh) строит mesh, заданную как Mesh свойство 2D или 3-D model объект типа PDEModel.

пример

pdemesh(nodes,elements) строит mesh, заданную nodes и elements.

пример

pdemesh(model,u) отображает данные о решении на графике u как 3-D график. Этот синтаксис допустим только для 2D геометрии.

пример

pdemesh(___,Name,Value) строит mesh или данные о решении с помощью любого из аргументов в предыдущих синтаксисах и одном или нескольких Name,Value парные аргументы.

пример

pdemesh(p,e,t) строит mesh, заданную данными о mesh pET.

пример

pdemesh(p,e,t,u) узел УЧП графиков или треугольные данные u использование сетчатого графика. Графики функций данные об узле, если u вектор-столбец и треугольные данные если u вектор-строка.

Если вы хотите иметь больше контроля над своим сетчатым графиком, использовать pdeplot или pdeplot3D вместо pdemesh.

h = pdemesh(___) возвращает указатели на графику, с помощью любого из аргументов предыдущих синтаксисов.

Примеры

свернуть все

Создайте сетчатый график и отобразите узел и метки элемента mesh.

Создайте модель PDE. Включайте геометрию встроенной функции lshapeg. Поймайте в сети геометрию.

model = createpde;
geometryFromEdges(model,@lshapeg);
mesh = generateMesh(model);

Постройте mesh.

pdemesh(model)

Figure contains an axes. The axes contains 2 objects of type line.

В качестве альтернативы можно построить mesh при помощи mesh как входной параметр.

pdemesh(mesh)

Figure contains an axes. The axes contains 2 objects of type line.

Другой подход должен использовать узлы и элементы mesh как входные параметры для pdemesh.

pdemesh(mesh.Nodes,mesh.Elements)

Figure contains an axes. The axes contains an object of type line.

Отобразите метки узла.

pdemesh(model,'NodeLabels','on')

Figure contains an axes. The axes contains 2 objects of type line.

Используйте xlim и ylim увеличить масштаб конкретных узлов.

xlim([-0.4,0.4])
ylim([-0.4,0.4])

Figure contains an axes. The axes contains 2 objects of type line.

Метки элемента отображения.

pdemesh(model,'ElementLabels','on')
xlim([-0.4,0.4])
ylim([-0.4,0.4])

Figure contains an axes. The axes contains 2 objects of type line.

Примените граничные условия, задайте коэффициенты и решите УЧП.

applyBoundaryCondition(model,'dirichlet','Edge',1:model.Geometry.NumEdges,'u',0);
specifyCoefficients(model,'m',0,...
                          'd',0,...
                          'c',1,...
                          'a',0,...
                          'f',1);
generateMesh(model);
results = solvepde(model)
results = 
  StationaryResults with properties:

    NodalSolution: [1177x1 double]
       XGradients: [1177x1 double]
       YGradients: [1177x1 double]
       ZGradients: []
             Mesh: [1x1 FEMesh]

u = results.NodalSolution;

Постройте решение в узловых местоположениях при помощи pdemesh.

pdemesh(model,u)

Figure contains an axes. The axes contains an object of type line.

pdemesh функция игнорирует NodeLabels и ElementLabels когда вы отображаете данные о решении на графике как 3-D график.

Создайте модель PDE, включайте геометрию и поймайте в сети ее.

model = createpde;
importGeometry(model,'Plate10x10x1.stl');
generateMesh(model,'Hmax',5);

Постройте mesh, устанавливающую прозрачность на 0,5.

pdemesh(model,'FaceAlpha',0.5)

Найдите элементы сопоставленными с геометрической областью.

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

model = createpde;

Включайте геометрию встроенной функции lshapeg. Постройте геометрию.

geometryFromEdges(model,@lshapeg);
pdegplot(model,'FaceLabels','on','EdgeLabels','on')

Figure contains an axes. The axes contains 14 objects of type line, text.

Сгенерируйте mesh.

mesh = generateMesh(model,'Hmax',0.5);

Найдите элементы сопоставленными с поверхностью 2.

Ef2 = findElements(mesh,'region','Face',2);

Подсветите эти элементы зеленого цвета на сетчатом графике.

figure
pdemesh(mesh,'ElementLabels','on')
hold on
pdemesh(mesh.Nodes,mesh.Elements(:,Ef2),'EdgeColor','green')

Figure contains an axes. The axes contains 3 objects of type line.

Постройте mesh для геометрии L-образной мембраны.

[p,e,t] = initmesh('lshapeg');
[p,e,t] = refinemesh('lshapeg',p,e,t);
pdemesh(p,e,t)

Figure contains an axes. The axes contains 2 objects of type line.

Теперь решите уравнение Пуассона -Δu=1 по геометрии, заданной L-образной мембраной. Используйте граничные условия Дирихле u=0 on δΩ, и постройте результат.

u = assempde('lshapeb',p,e,t,1,0,1); 
pdemesh(p,e,t,u)

Figure contains an axes. The axes contains an object of type line.

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

свернуть все

Объект модели в виде PDEModel объект, ThermalModel объект, StructuralModel объект или ElectromagneticModel объект.

Пример: model = createpde(3)

Пример: thermalmodel = createpde('thermal','steadystate')

Пример: structuralmodel = createpde('structural','static-solid')

Пример: emagmodel = createpde('electromagnetic','electrostatic')

Решение для УЧП в виде вектора или матрицы.

Пример: results = solvepde(model); u = results.NodalSolution; или u = assempde(model,c,a,f);

Объект ячейки в виде Mesh свойство PDEModel возразите или как выход generateMesh.

Пример: model.Mesh

Узловые координаты в виде 2 NumNodes матрицей для 2D mesh и 3 NumNodes матрицей для 3-D mesh. NumNodes является количеством узлов.

Матрица смежности элемента в терминах идентификаторов узла в виде NodesPerElem-by-NumElements матрица. NodesPerElem является количеством узлов на элемент. Линейные сетки содержат только угловые узлы, таким образом, существует три узла на 2D элемент и четыре узла на 3-D элемент. Квадратичные сетки содержат угловые узлы и узлы посреди каждого ребра элемента. Для квадратичных сеток существует шесть узлов на 2D элемент и 10 узлов на 3-D элемент.

Поймайте в сети точки в виде 2 Np матрица точек, где Np число точек в mesh. Для описания (pET) матрицы, смотрите Данные о Mesh, когда [p, e, t] Утраивается.

Как правило, вы используете pE, и t данные, экспортированные из приложения PDE Modeler или сгенерированные initmesh или refinemesh.

Пример: [p,e,t] = initmesh(gd)

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

Поймайте в сети ребра в виде 7- Ne матрица ребер, где Ne количество ребер в mesh. Для описания (pET) матрицы, смотрите Данные о Mesh, когда [p, e, t] Утраивается.

Как правило, вы используете pE, и t данные, экспортированные из приложения PDE Modeler или сгенерированные initmesh или refinemesh.

Пример: [p,e,t] = initmesh(gd)

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

Поймайте в сети треугольники в виде 4- Nt матрица треугольников, где Nt количество треугольников в mesh. Для описания (pET) матрицы, смотрите Данные о Mesh, когда [p, e, t] Утраивается.

Как правило, вы используете pE, и t данные, экспортированные из приложения PDE Modeler или сгенерированные initmesh или refinemesh.

Пример: [p,e,t] = initmesh(gd)

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

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

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

Пример: pdemesh(model,'NodeLabels','on')

Узел помечает в виде разделенной запятой пары, состоящей из 'NodeLabels' и 'off' или 'on'.

pdemesh игнорирует NodeLabels когда вы отображаете данные о решении на графике как 3-D график.

Пример: 'NodeLabels','on'

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

Элемент помечает в виде разделенной запятой пары, состоящей из 'ElementLabels' и 'off' или 'on'.

pdemesh игнорирует ElementLabels когда вы отображаете данные о решении на графике как 3-D график.

Пример: 'ElementLabels','on'

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

Поверхностная прозрачность для 3-D геометрии в виде разделенной запятой пары, состоящей из 'FaceAlpha' и вещественное число от 0 через 1. Значение по умолчанию 1 не указывает ни на какую прозрачность. Значение 0 указывает на полную прозрачность.

Пример: 'FaceAlpha',0.5

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

Цвет ребер mesh в виде короткого или длинного названия цвета или триплета RGB. По умолчанию для 2D сеток ребра в одной поверхности являются синими (Триплет RGB [0 0 1]) и ребра между поверхностями являются красными (Триплет RGB [1 0 0]). Для 3-D сеток цвет обводки по умолчанию является черным (Триплет RGB [0 0 0]).

Краткие названия и длинные имена являются векторами символов, которые задают один из восьми предопределенных цветов. Триплет RGB является трехэлементным вектором-строкой, элементы которого задают интенсивность красных, зеленых, и синих компонентов цвета; интенсивность должна быть в области значений [0 1]. В следующей таблице перечислены предопределенные цвета и их эквиваленты триплета RGB.

Триплет RGB

Краткое название

Длинное имя

[1 1 0]

y

yellow

[1 0 1]

m

magenta

[0 1 1]

c

cyan

[1 0 0]

r

red

[0 1 0]

g

green

[0 0 1]

b

blue

[1 1 1]

w

white

[0 0 0]

k

black

Пример: 'EdgeColor','green'

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

Цвет mesh стоит для 3-D сеток в виде короткого или длинного названия цвета или триплета RGB. Цвет поверхности по умолчанию является голубым (Триплет RGB [0 1 1]). Для получения дополнительной информации о доступных цветах, см. 'EdgeColor'.

Пример: 'FaceColor','green'

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

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

свернуть все

Указатели на графические объекты, возвращенные как вектор.

Представлено до R2006a