pdemesh
Plot PDE mesh
Syntax
Description
pdemesh(___,
plots the mesh or solution data using any of the arguments in the previous
syntaxes and one or more Name,Value
)Name,Value
pair arguments.
returns
handles to the graphics, using any of the arguments of the previous
syntaxes.h
= pdemesh(___)
Examples
Mesh Plot for LShaped Membrane
Create a mesh plot and display the node and element labels of the mesh.
Create a PDE model. Include the geometry of the builtin function lshapeg
. Mesh the geometry.
model = createpde; geometryFromEdges(model,@lshapeg); mesh = generateMesh(model);
Plot the mesh.
pdemesh(model)
Alternatively, you can plot a mesh by using mesh
as an input argument.
pdemesh(mesh)
Another approach is to use the nodes and elements of the mesh as input arguments for pdemesh
.
pdemesh(mesh.Nodes,mesh.Elements)
Display node labels.
pdemesh(model,"NodeLabels","on")
Use xlim
and ylim
to zoom in on particular nodes.
xlim([0.4,0.4]) ylim([0.4,0.4])
Display element labels.
pdemesh(model,"ElementLabels","on") xlim([0.4,0.4]) ylim([0.4,0.4])
Apply boundary conditions, specify coefficients, and solve the PDE.
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;
Plot the solution at nodal locations by using pdemesh
.
pdemesh(model,u)
The pdemesh
function ignores NodeLabels
and ElementLabels
when you plot solution data as a 3D plot.
Transparency for 3D Mesh
Create a PDE model, include the geometry and mesh it.
model = createpde; importGeometry(model,"Plate10x10x1.stl"); generateMesh(model,"Hmax",5);
Plot the mesh setting the transparency to 0.5.
pdemesh(model,"FaceAlpha",0.5)
Elements Associated with Particular Face
Find the elements associated with a geometric region.
Create a PDE model.
model = createpde;
Include the geometry of the builtin function lshapeg
. Plot the geometry.
geometryFromEdges(model,@lshapeg); pdegplot(model,"FaceLabels","on","EdgeLabels","on")
Generate a mesh.
mesh = generateMesh(model,"Hmax",0.5);
Find the elements associated with face 2.
Ef2 = findElements(mesh,"region","Face",2);
Highlight these elements in green on the mesh plot.
figure pdemesh(mesh,"ElementLabels","on") hold on pdemesh(mesh.Nodes,mesh.Elements(:,Ef2),"EdgeColor","green")
[p,e,t] Mesh Plot
Plot the mesh for the geometry of the Lshaped membrane.
[p,e,t] = initmesh("lshapeg"); [p,e,t] = refinemesh("lshapeg",p,e,t); pdemesh(p,e,t)
Now solve Poisson's equation $$\Delta u=1$$ over the geometry defined by the Lshaped membrane. Use Dirichlet boundary conditions $$u=0$$ on $$\delta \Omega $$, and plot the result.
u = assempde("lshapeb",p,e,t,1,0,1);
pdemesh(p,e,t,u)
Input Arguments
model
— Model container
PDEModel
object  ThermalModel
object  StructuralModel
object  ElectromagneticModel
object
Model container, specified as a PDEModel
object,
ThermalModel
object, StructuralModel
object,
or ElectromagneticModel
object.
Example: model = createpde(3)
Example: thermalmodel =
createpde("thermal","steadystate")
Example: structuralmodel =
createpde("structural","staticsolid")
Example: emagmodel =
createpde("electromagnetic","electrostatic")
u
— PDE solution
vector  matrix
PDE solution, specified as a vector or matrix.
Example: results = solvepde(model); u = results.NodalSolution;
or u
= assempde(model,c,a,f);
mesh
— Mesh object
Mesh
property of a PDEModel
object  output of generateMesh
Mesh object, specified as the Mesh
property of a PDEModel
object or as the
output of generateMesh
.
Example: model.Mesh
nodes
— Nodal coordinates
2byNumNodes matrix  3byNumNodes matrix
Nodal coordinates, specified as a 2byNumNodes matrix for a 2D mesh and 3byNumNodes matrix for a 3D mesh. NumNodes is the number of nodes.
elements
— Element connectivity matrix in terms of node IDs
NodesPerElembyNumElements
matrix
Element connectivity matrix in terms of node IDs, specified as an NodesPerElembyNumElements matrix. NodesPerElem is the number of nodes per element. Linear meshes contain only corner nodes, so there are three nodes per a 2D element and four nodes per a 3D element. Quadratic meshes contain corner nodes and nodes in the middle of each edge of an element. For quadratic meshes, there are six nodes per a 2D element and 10 nodes per a 3D element.
p
— Mesh points
matrix
Mesh points, specified as a 2byNp
matrix of points, where
Np
is the number of points in the mesh. For a description of the
(p
,e
,t
) matrices, see Mesh Data as [p,e,t] Triples.
Typically, you use the p
, e
, and t
data exported from the PDE Modeler app, or generated by initmesh
or refinemesh
.
Example: [p,e,t] = initmesh(gd)
Data Types: double
e
— Mesh edges
matrix
Mesh edges, specified as a 7
byNe
matrix of edges,
where Ne
is the number of edges in the mesh. For a description of the
(p
,e
,t
) matrices, see Mesh Data as [p,e,t] Triples.
Typically, you use the p
, e
, and t
data exported from the PDE Modeler app, or generated by initmesh
or refinemesh
.
Example: [p,e,t] = initmesh(gd)
Data Types: double
t
— Mesh triangles
matrix
Mesh triangles, specified as a 4
byNt
matrix of
triangles, where Nt
is the number of triangles in the mesh. For a
description of the (p
,e
,t
)
matrices, see Mesh Data as [p,e,t] Triples.
Typically, you use the p
, e
, and t
data exported from the PDE Modeler app, or generated by initmesh
or refinemesh
.
Example: [p,e,t] = initmesh(gd)
Data Types: double
NameValue Arguments
Specify optional pairs of arguments as
Name1=Value1,...,NameN=ValueN
, where Name
is
the argument name and Value
is the corresponding value.
Namevalue arguments must appear after other arguments, but the order of the
pairs does not matter.
Before R2021a, use commas to separate each name and value, and enclose
Name
in quotes.
Example: pdemesh(model,"NodeLabels","on")
NodeLabels
— Node labels
"off"
(default)  "on"
Node labels, specified as the commaseparated pair consisting of
"NodeLabels"
and "off"
or
"on"
.
pdemesh
ignores NodeLabels
when you plot solution data as a 3D plot.
Example: "NodeLabels","on"
Data Types: char
 string
ElementLabels
— Element labels
"off"
(default)  "on"
Element labels, specified as the commaseparated pair consisting of
"ElementLabels"
and "off"
or
"on"
.
pdemesh
ignores ElementLabels
when you plot solution data as a 3D plot.
Example: "ElementLabels","on"
Data Types: char
 string
FaceAlpha
— Surface transparency for 3D geometry
1
(default)  real number from 0
through 1
Surface transparency for 3D geometry, specified as a real number from 0
through 1
. The default value 1
indicates no
transparency. The value 0
indicates complete transparency.
Example: "FaceAlpha",0.5
Data Types: double
EdgeColor
— Color of mesh edges
short color name  long color name  RGB triplet
Color of mesh edges, specified as a short or long color name or an RGB
triplet. By default, for 2D meshes the edges within one face are blue
(RGB triplet [0 0 1]
) and the edges between faces are
red (RGB triplet [1 0 0]
). For 3D meshes, the
default edge color is black (RGB triplet [0 0
0]
).
The short names and long names are character vectors that specify one of eight predefined colors. The RGB triplet is a threeelement row vector whose elements specify the intensities of the red, green, and blue components of the color; the intensities must be in the range [0 1]. The following table lists the predefined colors and their RGB triplet equivalents.
RGB Triplet  Short Name  Long Name 

























Example: "EdgeColor","green"
Data Types: double
 char
 string
FaceColor
— Color of mesh faces for 3D meshes
[0 1 1]
 short color name  long color name  RGB triplet
Color of mesh faces for 3D meshes, specified as a short or long color
name or an RGB triplet. The default face color is cyan (RGB triplet
[0 1 1]
). For details about available colors, see
EdgeColor.
Example: "FaceColor","green"
Data Types: double
 char
 string
Output Arguments
h
— Handles to graphics objects
vector
Handles to graphics objects, returned as a vector.
Version History
Introduced before R2006aR2020a: Improved performance for plots with many text labels
pdemesh
shows faster rendering and better responsiveness for
plots that display many text labels. Code containing
findobj(fig,'Type','Text')
no longer returns labels on
figures produced by pdemesh
.
R2018a: Highlighting particular nodes and elements on mesh plots
pdemesh
accepts node and element IDs as input arguments,
letting you highlight particular nodes and elements on mesh plots.
R2016b: Transparency, node and element labels
You can now set plot transparency by using FaceAlpha
, and
display node and element labels by using NodeLabels
and
ElementLabels
, respectively.
Open Example
You have a modified version of this example. Do you want to open this example with your edits?
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
 América Latina (Español)
 Canada (English)
 United States (English)
Europe
 Belgium (English)
 Denmark (English)
 Deutschland (Deutsch)
 España (Español)
 Finland (English)
 France (Français)
 Ireland (English)
 Italia (Italiano)
 Luxembourg (English)
 Netherlands (English)
 Norway (English)
 Österreich (Deutsch)
 Portugal (English)
 Sweden (English)
 Switzerland
 United Kingdom (English)