basis(9)
NAME
basis - polynomial basis
SYNOPSYS
The basis class defines functions that evaluates a polynomial basis and
its derivatives on a point. The polynomial basis is designated by a
string, e.g. "P0", "P1", "P2", "bubble",... indicating the basis. The
basis depends also of the reference element: triangle, square, tetrahedron (see . reference_element internal}'). For instance, on a square,
the "P1" string designates the common Q1 four-nodes basis on the reference square.
The nodes associated to the Lagrange polynomial basis are also available by its associated accessor.
IMPLEMENTATION NOTE
The basis class is a see . smart_pointer internal}') class on a
basis_rep class that is a pure virtual base class for effective bases,
e.g. basis_P1, basis_P1, etc.
IMPLEMENTATION
class basis : public smart_pointer<basis_rep> {
public:
- // typedefs:
- typedef size_t size_type;
- // allocators:
basis (std::string name = "");- // accessors:
std::string name() const;
size_type degree() const;
size_type size (reference_element hat_K) const;- Float eval(
reference_element hat_K,
size_type i_dof_local,
const point& hat_x) const; - point grad_eval(
reference_element hat_K,
size_type i_dof_local,
const point& hat_x) const; - void eval(
reference_element hat_K,
const point& hat_x,
std::vector<Float>& values) const; - void grad_eval(
reference_element hat_K,
const point& hat_x,
std::vector<point>& values) const; - void hat_node(
reference_element hat_K,
std::vector<point>& hat_node) const; - void dump(std::ostream& out = std::cerr) const;
- };