GenericFunction.h¶
Note
The documentation on this page was automatically extracted from the DOLFIN C++ code and may need to be edited or expanded.
-
class
GenericFunction
¶ Parent class(es)
ufc::function
Variable
This is a common base class for functions. Functions can be evaluated at a given point and they can be restricted to a given cell in a finite element mesh. This functionality is implemented by sub-classes that implement the eval() and restrict() functions.
DOLFIN provides two implementations of the GenericFunction interface in the form of the classes Function and Expression.
Sub-classes may optionally implement the update() function that will be called prior to restriction when running in parallel.
-
GenericFunction
()¶ Constructor
-
std::size_t
value_rank
() const = 0¶ Return value rank
-
std::size_t
value_dimension
(std::size_t i) const = 0¶ Return value dimension for given axis
-
void
eval
(Array<double> &values, const Array<double> &x, const ufc::cell &cell) const¶ Evaluate at given point in given cell
-
void
restrict
(double *w, const FiniteElement &element, const Cell &dolfin_cell, const double *vertex_coordinates, const ufc::cell &ufc_cell) const = 0¶ Restrict function to local cell (compute expansion coefficients w)
-
void
compute_vertex_values
(std::vector<double> &vertex_values, const Mesh &mesh) const = 0¶ Compute values at all mesh vertices
-
void
update
() const¶ Update off-process ghost coefficients
-
double
operator()
(double x) const¶ Evaluation at given point (scalar function)
-
double
operator()
(double x, double y) const¶ Evaluation at given point (scalar function)
-
double
operator()
(double x, double y, double z) const¶ Evaluation at given point (scalar function)
-
void
operator()
(Array<double> &values, double x) const¶ Evaluation at given point (vector-valued function)
-
void
operator()
(Array<double> &values, double x, double y) const¶ Evaluation at given point (vector-valued function)
-
void
operator()
(Array<double> &values, double x, double y, double z) const¶ Evaluation at given point (vector-valued function)
-
void
operator()
(Array<double> &values, const Point &p) const¶ Evaluation at given point (vector-valued function)
-
std::size_t
value_size
() const¶ Evaluation at given point Return value size (product of value dimensions)
-
void
evaluate
(double *values, const double *coordinates, const ufc::cell &cell) const¶ Evaluate function at given point in cell