Description Usage Arguments Value See Also Examples

This function is a wrapper of the Triangle library (http://www.cs.cmu.edu/~quake/triangle.html). It can be used
to create a triangulation of the domain of interest starting from a list of points, to be used as triangles' vertices, and a list of segments, that define the domain boundary. The resulting
mesh is a Constrained Delaunay triangulation. This is constructed in a way to preserve segments provided in the input `segments`

without splitting them. This imput can be used to define the boundaries
of the domain. If this imput is NULL, it generates a triangulation over the
convex hull of the points.
It is also possible to create a mesh.2D from the nodes locations and the connectivity matrix.

1 2 |

`nodes` |
A #nodes-by-2 matrix containing the x and y coordinates of the mesh nodes. |

`nodesattributes` |
A matrix with #nodes rows containing nodes' attributes. These are passed unchanged to the output. If a node is added during the triangulation process or mesh refinement, its attributes are computed by linear interpolation using the attributes of neighboring nodes. This functionality is for instance used to compute the value of a Dirichlet boundary condition at boundary nodes added during the triangulation process. |

`segments` |
A #segments-by-2 matrix. Each row contains the row's indices in |

`holes` |
A #holes-by-2 matrix containing the x and y coordinates of a point internal to each hole of the mesh. These points are used to carve holes in the triangulation, when the domain has holes. |

`triangles` |
A #triangles-by-3 (when |

`order` |
Either '1' or '2'. It specifies wether each mesh triangle should be represented by 3 nodes (the triangle' vertices) or by 6 nodes (the triangle's vertices and midpoints).
These are
respectively used for linear (order = 1) and quadratic (order = 2) Finite Elements. Default is |

`verbosity` |
This can be '0', '1' or '2'. It indicates the level of verbosity in the triangulation process. When |

An object of the class mesh.2D with the following output:

`nodes`

A #nodes-by-2 matrix containing the x and y coordinates of the mesh nodes.`nodesmarkers`

A vector of length #nodes, with entries either '1' or '0'. An entry '1' indicates that the corresponding node is a boundary node; an entry '0' indicates that the corresponding node is not a boundary node.`nodesattributes`

A matrix with #nodes rows containing nodes' attributes. These are passed unchanged from the input.`triangles`

A #triangles-by-3 (when`order`

= 1) or #triangles-by-6 (when`order`

= 2) matrix. This option is used when a triangulation is already available. It specifies the triangles giving the indices in`nodes`

of the triangles' vertices and (when`nodes`

= 2) also if the triangles' edges midpoints. The triangles' vertices and midpoints are ordered as described at

https://www.cs.cmu.edu/~quake/triangle.highorder.html.`segmentsmarker`

A vector of length #segments with entries either '1' or '0'. An entry '1' indicates that the corresponding element in`segments`

is a boundary segment; an entry '0' indicates that the corresponding segment is not a boundary segment.`edges`

A #edges-by-2 matrix containing all the edges of the triangles in the output triangulation. Each row contains the row's indices in`nodes`

, indicating the nodes where the edge starts from and ends to.`edgesmarkers`

A vector of lenght #edges with entries either '1' or '0'. An entry '1' indicates that the corresponding element in`edge`

is a boundary edge; an entry '0' indicates that the corresponding edge is not a boundary edge.`neighbors`

A #triangles-by-3 matrix. Each row contains the indices of the three neighbouring triangles. An entry '-1' indicates that one edge of the triangle is a boundary edge.`holes`

A #holes-by-2 matrix containing the x and y coordinates of a point internal to each hole of the mesh. These points are used to carve holes in the triangulation, when the domain has holes.`order`

Either '1' or '2'. It specifies wether each mesh triangle should be represented by 3 nodes (the triangle' vertices) or by 6 nodes (the triangle's vertices and midpoints). These are respectively used for linear (order = 1) and quadratic (order = 2) Finite Elements.

`refine.mesh.2D`

, `create.FEM.basis`

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | ```
library(fdaPDE)
## Upload the quasicirle2D data
data(quasicircle2D)
boundary_nodes = quasicircle2D$boundary_nodes
boundary_segments = quasicircle2D$boundary_segments
locations = quasicircle2D$locations
data = quasicircle2D$data
## Create mesh from boundary
## if the domain is convex it is sufficient to call:
mesh = create.mesh.2D(nodes = rbind(boundary_nodes, locations))
plot(mesh)
## if the domain is not convex, pass in addition the segments the compose the boundary:
mesh = create.mesh.2D(nodes = rbind(boundary_nodes, locations), segments = boundary_segments)
## Create mesh from data locations (without knowing the boundary)
mesh = create.mesh.2D(nodes = locations)
plot(mesh)
## In this case the domain is the convex hull of the data locations.
## Do this only if you do not have any information about the shape of the domain of interest.
``` |

```
Loading required package: geometry
Loading required package: rgl
Loading required package: Matrix
Loading required package: plot3D
Loading required package: plot3Drgl
Warning messages:
1: In rgl.init(initValue, onlyNULL) : RGL: unable to open X11 display
2: 'rgl.init' failed, running with 'rgl.useNULL = TRUE'.
3: no DISPLAY variable so Tk is not available
```

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.