DOLFIN
DOLFIN C++ interface
|
#include <GenericFunction.h>
Public Member Functions | |
GenericFunction () | |
Constructor. | |
virtual | ~GenericFunction () |
Destructor. | |
virtual std::size_t | value_rank () const =0 |
Return value rank. | |
virtual std::size_t | value_dimension (std::size_t i) const =0 |
Return value dimension for given axis. | |
virtual std::vector< std::size_t > | value_shape () const =0 |
Return value shape. | |
virtual void | eval (Array< double > &values, const Array< double > &x, const ufc::cell &cell) const |
Evaluate at given point in given cell (deprecated) | |
virtual void | eval (Array< double > &values, const Array< double > &x) const |
Evaluate at given point (deprecated) | |
virtual void | eval (Eigen::Ref< Eigen::VectorXd > values, Eigen::Ref< const Eigen::VectorXd > x, const ufc::cell &cell) const |
Evaluate at given point in given cell. | |
virtual void | eval (Eigen::Ref< Eigen::VectorXd > values, Eigen::Ref< const Eigen::VectorXd > x) const |
Evaluate at given point. | |
virtual void | restrict (double *w, const FiniteElement &element, const Cell &dolfin_cell, const double *coordinate_dofs, const ufc::cell &ufc_cell) const =0 |
Restrict function to local cell (compute expansion coefficients w) | |
virtual void | compute_vertex_values (std::vector< double > &vertex_values, const Mesh &mesh) const =0 |
Compute values at all mesh vertices. | |
virtual 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) | |
double | operator() (const Point &p) 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. More... | |
virtual void | evaluate (double *values, const double *coordinates, const ufc::cell &cell) const override |
virtual std::shared_ptr< const FunctionSpace > | function_space () const =0 |
Pointer to FunctionSpace, if appropriate, otherwise NULL. | |
Public Member Functions inherited from dolfin::Variable | |
Variable () | |
Create unnamed variable. | |
Variable (const std::string name, const std::string label) | |
Create variable with given name and label. | |
Variable (const Variable &variable) | |
Copy constructor. | |
virtual | ~Variable () |
Destructor. | |
const Variable & | operator= (const Variable &variable) |
Assignment operator. | |
void | rename (const std::string name, const std::string label) |
Rename variable. | |
std::string | name () const |
Return name. | |
std::string | label () const |
Return label (description) | |
std::size_t | id () const |
virtual std::string | str (bool verbose) const |
Return informal string representation (pretty-print) | |
Protected Member Functions | |
void | restrict_as_ufc_function (double *w, const FiniteElement &element, const Cell &dolfin_cell, const double *coordinate_dofs, const ufc::cell &ufc_cell) const |
Restrict as UFC function (by calling eval) | |
Additional Inherited Members | |
Public Attributes inherited from dolfin::Variable | |
Parameters | parameters |
Parameters. | |
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.
|
overridevirtual |
Evaluate function at given point in cell
values | (double*) |
coordinates | (const double*) |
cell | (ufc::cell&) |
std::size_t GenericFunction::value_size | ( | ) | const |
Evaluation at given point.
Return value size (product of value dimensions)