fm_basis {fmesher}R Documentation

Compute mapping matrix between mesh function space and points

Description

Computes the basis mapping matrix between a function space on a mesh, and locations.

Usage

fm_basis(x, ...)

## Default S3 method:
fm_basis(x, loc, ...)

## S3 method for class 'fm_mesh_1d'
fm_basis(x, loc, weights = NULL, derivatives = NULL, ...)

## S3 method for class 'fm_mesh_2d'
fm_basis(x, loc, weights = NULL, derivatives = NULL, ...)

## S3 method for class 'inla.mesh.1d'
fm_basis(x, loc, ...)

## S3 method for class 'inla.mesh'
fm_basis(x, loc, ...)

## S3 method for class 'fm_evaluator'
fm_basis(x, ...)

## S3 method for class 'fm_tensor'
fm_basis(x, loc, weights = NULL, ...)

Arguments

x

An object supported by the fm_evaluator() class

...

Currently unused

loc

A set of points of a class supported by fm_evaluator(x, loc = loc)

weights

Optional weight vector to apply (from the left, one weight for each row of the basis matrix)

derivatives

If non-NULL and logical, return a list, optionally including derivative matrices.

Value

A sparseMatrix

For fm_mesh_1d, a matrix, or if derivatives is TRUE, a list with elements

A

The projection matrix, ⁠u(loc_i)=sum_j A_ij w_i⁠

d1A, d2A

Derivative weight matrices, ⁠du/dx(loc_i)=sum_j dx_ij w_i⁠, etc.

For fm_mesh_2d, a matrix, or if derivatives is TRUE, a list with elements

A

The projection matrix, ⁠u(loc_i)=sum_j A_ij w_i⁠

dx, dy, dz

Derivative weight matrices, ⁠du/dx(loc_i)=sum_j dx_ij w_i⁠, etc.

For fm_tensor, a matrix

See Also

fm_raw_basis()

Examples

# Compute basis mapping matrix
str(fm_basis(fmexample$mesh, fmexample$loc))

[Package fmesher version 0.1.7 Index]