FiniteElement.h

Note

The documentation on this page was automatically extracted from the DOLFIN C++ code and may need to be edited or expanded.

class FiniteElement

This is a wrapper for a UFC finite element (ufc::finite_element).

FiniteElement(std::shared_ptr<const ufc::finite_element> element)

Create finite element from UFC finite element (data may be shared)

std::string signature() const

Return a string identifying the finite element

ufc::shape cell_shape() const

Return the cell shape

std::size_t space_dimension() const

Return the dimension of the finite element function space

std::size_t value_rank() const

Return the rank of the value space

std::size_t value_dimension(std::size_t i) const

Return the dimension of the value space for axis i

void evaluate_basis(std::size_t i, double *values, const double *x, const double *coordinate_dofs, int cell_orientation) const

Evaluate basis function i at given point in cell

void evaluate_basis_all(double *values, const double *x, const double *coordinate_dofs, int cell_orientation) const

Evaluate all basis functions at given point in cell

void evaluate_basis_derivatives(unsigned int i, unsigned int n, double *values, const double *x, const double *coordinate_dofs, int cell_orientation) const

Evaluate order n derivatives of basis function i at given point in cell

void evaluate_basis_derivatives_all(unsigned int n, double *values, const double *x, const double *coordinate_dofs, int cell_orientation) const

Evaluate order n derivatives of all basis functions at given point in cell

double evaluate_dof(std::size_t i, const ufc::function &function, const double *coordinate_dofs, int cell_orientation, const ufc::cell &c) const

Evaluate linear functional for dof i on the function f

void evaluate_dofs(double *values, const ufc::function &f, const double *coordinate_dofs, int cell_orientation, const ufc::cell &c) const

Evaluate linear functionals for all dofs on the function f

void interpolate_vertex_values(double *vertex_values, double *coefficients, const double *coordinate_dofs, int cell_orientation, const ufc::cell &cell) const

Interpolate vertex values from dof values

void tabulate_dof_coordinates(boost::multi_array<double, 2> &coordinates, const std::vector<double> &coordinate_dofs, const Cell &cell) const

Tabulate the coordinates of all dofs on an element

Arguments
coordinates (boost::multi_array<double, 2>)
The coordinates of all dofs on a cell.
coordinate_dofs (std::vector<double>)
The cell coordinates
cell (Cell)
The cell.
std::size_t num_sub_elements() const

Return the number of sub elements (for a mixed element)

std::size_t hash() const

Return simple hash of the signature string

std::shared_ptr<const FiniteElement> create_sub_element(std::size_t i) const

Create a new finite element for sub element i (for a mixed element)

std::shared_ptr<const FiniteElement> create() const

Create a new class instance

std::shared_ptr<const FiniteElement> extract_sub_element(const std::vector<std::size_t> &component) const

Extract sub finite element for component

std::shared_ptr<const ufc::finite_element> ufc_element() const

Return underlying UFC element. Intended for libray usage only and may change.