form_element(9)
NAME
form_element - bilinear form on a single element
SYNOPSYS
The form_element class defines functions that compute a bilinear form
defined between two polynomial basis on a single geometrical element.
This bilinear form is represented by a matrix.
The bilinear form is designated by a string, e.g. "mass", "grad_grad",
... indicating the form. The form depends also of the geometrical element: triangle, square, tetrahedron (see . geo_element internal}').
IMPLEMENTATION NOTE
The form_element class is managed by (see . smart_pointer internal}').
This class uses a pointer on a pure virtual class form_element_rep
while the effective code refers to the specific concrete derived
classes: mass, grad_grad, etc.
IMPLEMENTATION
class form_element : public smart_pointer<form_element_rep> {
public:
- // typedefs:
- typedef size_t size_type;
- // allocators:
form_element (std::string name = "");- // modifier:
void initialize (const space& X, const space& Y) const;- // optional, for scalar-weighted forms:
void set_weight (const field& wh) const;
// for special forms for which coordinate-system specific weights (ie, cylindrical // coordinates weights) should not be used:
void set_use_coordinate_system_weight(bool use) const; - // accessor:
void operator() (const geo_element& K, ublas::matrix<Float>& m) const;
const field& get_weight() const;- };