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)

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

pdemesh(mesh)

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

pdemesh(mesh.Nodes,mesh.Elements)

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

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

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

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

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

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

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

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)

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')

Сгенерируйте 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')

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

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

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

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

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

свернуть все

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

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

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

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

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

Пример: 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.

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

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

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

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

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

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

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

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

Как правило, вы используете 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