fm_fem: Compute finite element matrices

View source: R/fem.R

fm_femR Documentation

Compute finite element matrices

Description

Compute finite element mass and structure matrices

Usage

fm_fem(mesh, order = 2, ...)

## S3 method for class 'fm_mesh_1d'
fm_fem(mesh, order = 2, ...)

## S3 method for class 'fm_mesh_2d'
fm_fem(mesh, order = 2, aniso = NULL, ...)

## S3 method for class 'fm_tensor'
fm_fem(mesh, order = 2, ...)

## S3 method for class 'fm_collect'
fm_fem(mesh, order = 2, ...)

## S3 method for class 'fm_mesh_3d'
fm_fem(mesh, order = 2, ...)

Arguments

mesh

fm_mesh_1d(), fm_mesh_2d(), or other supported mesh class object

order

integer; the maximum operator order

...

Currently unused

aniso

If non-NULL, a list(gamma, v). Calculates anisotropic structure matrices (in addition to the regular) for \gamma and v for an anisotropic operator \nabla\cdot H \nabla, where H=\gamma I + v v^\top. Currently (2023-08-05) the fields need to be given per vertex.

Value

fm_fem.fm_mesh_1d: A list with elements c0, c1, g1, g2, etc. When mesh$degree == 2, also g01, g02, and g12.

fm_fem.fm_mesh_2d: A list with elements c0, c1, g1, va, ta, and more if order > 1. When aniso is non-NULL, also g1aniso matrices, etc.

fm_fem.fm_tensor: A list with elements cc, g1, g2.

fm_fem.fm_collect: A list with elements c0, c1, g1, g2, etc, and cc (c0 for every model except fm_mesh_1d with degree=2, for which it is c1). If the base type for the collection provides va and ta values, those are also returned.

fm_fem.fm_mesh_3d: A list with elements c0, c1, g1, g2, va, ta, and more if order > 2.

Examples

names(fm_fem(fm_mesh_1d(1:4), order = 3))
names(fm_fem(fmexample$mesh, order = 3))


fmesher documentation built on June 12, 2025, 5:09 p.m.