Meshes

Mesh Specification

Finite element meshes are specified in the (node,elem) structure due to Long Chen. For the standard elements used in this package, we describe a geometric figure by a triangulation. The nodes are the vertices of the triangle and the elements are the triangles themselves. These are encoded as follows:

For example, to know the $(x,y)$ locations of the vertices of triangle $j$, we would see that node[elem[j,i],:] are the $(x,y)$ locations of the $i$th vertex for $i=1,2,3$.

For more information, please see Programming of Finite Element Methods by Long Chen.

Mesh Type

FiniteElementDiffEq.FEMmesh
FiniteElementDiffEq.SimpleMesh
DiffEqBase.Mesh

Mesh Generation Functions

FiniteElementDiffEq.findboundary
FiniteElementDiffEq.setboundary
FiniteElementDiffEq.fem_squaremesh
FiniteElementDiffEq.notime_squaremesh
FiniteElementDiffEq.parabolic_squaremesh
Base.size(::StokesDiffEq.FDMMesh)

Example Meshes

meshExample_bunny() : Returns a 3D SimpleMesh.

source

meshExample_flowpastcylindermesh() : Returns a 2D SimpleMesh.

source

meshExample_lakemesh() : Returns a 2D SimpleMesh.

source

meshExample_Lshapemesh() : Returns a 2D SimpleMesh.

source

meshExample_Lshapeunstructure() : Returns a 2D SimpleMesh.

source

meshExample_oilpump() : Returns a 3D SimpleMesh.

source

meshExample_wavymesh() : Returns a 2D SimpleMesh.

source

meshExample_wavyperturbmesh() : Returns a 3D SimpleMesh.

source

Plot Functions

The plot functionality is provided by a Plots.jl recipe. What is plotted is a "trisurf" of the mesh. To plot a mesh, simply use:

plot(mesh::Mesh)

All of the functionality (keyword arguments) provided by Plots.jl are able to be used in this command. Please see the Plots.jl documentation for more information.