Reference page for Nodal2D
Contents
Summary
Nodal2D Lagrange (nodal) shape function in 2D.
Class for representing and evaluating shape functions and their partial derivatives. Objects of the class can be instantiated with
- N = Nodal2D( Operators.I ) or Nodal2D() for evaluating the function itself.
- N = Nodal2D( Operators.grad ) for evaluating function gradients.
- N = Nodal2D( Operators.curl ) for evaluating curls.
The actual evaluation is performed with N.eval(args) by specifying
- the mesh used
- elements of the mesh to evaluate on
- LOCAL coordinates to evaluate on. The local coordinates must fall within the so-called reference element (unit-triangle ((0,0), (1,0), (0,1)) for triangular elements) associated with the mesh element types. The actual evaluation then takes place on the GLOBAL coordinates, i.e. a point within each of the listed elements corresponding to the given local coordinate. For instance, the local point [0.25;0.25] is mapped (more or less) to the global element center.
- Index of shape function. As nodal shape functions are each associated with a mesh node, there are 3 shape functions that are non-zero over a first-order element. Example: for the element e, the shape function k is associated the node mesh.t(k, e). Documentation for Nodal2D doc Nodal2D
PROPERTIES
- op - operator
METHODS
Class methods are listed below. Inherited methods are not included.
this = Nodal2D(arguments) Constructor
this = Nodal()
For evaluating raw nodal shape function N.
this = Nodal( Operators.grad )
this = Nodal( Operators.curl )
For evaluating grad N or curl N, respectively.
this.eval(arguments) Global evaluation.
vals = eval(this, k, x_local, mesh, elements)
Evaluates (this.op x N_k), where N_k is the k:th node of the elementType of the given mesh. The expression is *eval*uated at the global coordinates corresponding to the given local coordinates, on the specified elements of the given mesh.
Input arguments:
- k : index of shape function to *eval*uate. 1...3 for first-order triangular elements.
- x_local : local coordinates to *eval*uate at.
- mesh : the mesh to *eval*uate on.
- elements : indices of elements (mesh.t(:, elements)) to *eval*uate on.
vals = eval(this, k, x_local, mapping, mapping_determinant)
The same as above, but specify the local-to-global mapping and its determinant instead of the element indices. Mainly used for speed purposes.
Input arguments:
- mapping : see SimpleMesh.getMappingMatrix
- mapping_determinant : see MatrixDeterminant
evaluates the reference shape function (either identity or
gradient)
Nref = eval(ref, this, k, x_local, mesh)
this.getData(arguments) Data for matrix assembly.
Nodal2D/this.getIndices(arguments) is a function.
inds = getIndices(~, k, msh, varargin)