Base class for all shapesets. More...
#include <shapeset.h>
Inherited by H1ShapesetLobattoHex, H1ShapesetLobattoTetra, HcurlShapesetLobattoHex, RefMapShapesetHex, and RefMapShapesetTetra.
Public Member Functions | |
| Shapeset (int id) | |
| virtual | ~Shapeset () |
| ESpaceType | get_type () |
| int | get_mode () const |
| int | get_num_components () const |
| virtual int | get_vertex_index (int vertex) const =0 |
| virtual int * | get_edge_indices (int edge, int ori, order1_t order)=0 |
| virtual int * | get_face_indices (int face, int ori, order2_t order)=0 |
| virtual int * | get_bubble_indices (order3_t order)=0 |
| virtual int | get_num_edge_fns (order1_t order) const =0 |
| virtual int | get_num_face_fns (order2_t order) const =0 |
| virtual int | get_num_bubble_fns (order3_t order) const =0 |
| virtual int | get_face_orientations (int face) const =0 |
| Get the number of possible orientations on a face. | |
| virtual int | get_edge_orientations () const =0 |
| Get the number of possible orientations on an edge. | |
| virtual int | get_face_fn_variant (int index) const |
| Returns the variant of a face function It is needed only in Hcurl-derived shapesets where we need to distinguish between to variants of shape functions, other shapesets are returning 0. | |
| virtual order3_t | get_order (int index) const =0 |
| virtual order3_t | get_dcmp (int index) const =0 |
| Get function decomposition for product shapesets. | |
| virtual int | get_constrained_edge_index (int edge, int ori, order1_t order, Part part) |
| Get index of a constrained edge function. | |
| virtual int | get_constrained_edge_face_index (int edge, int ori, order2_t order, Part part, int dir, int variant=0) |
| Get index of a edge function constrained by a face function. | |
| virtual int | get_constrained_face_index (int face, int ori, order2_t order, Part part, int variant=0) |
| Get index of a constrained face function. | |
| virtual int | get_shape_type (int index) const =0 |
| virtual void | get_values (int n, int index, int np, QuadPt3D *pt, int component, double *vals)=0 |
| Evaluate function in the set of points. | |
| virtual double | get_value (int n, int index, double x, double y, double z, int component)=0 |
| Evaluate function 'index' in points 'pt'. | |
| void | get_fn_values (int index, int np, QuadPt3D *pt, int component, double *vals) |
| void | get_dx_values (int index, int np, QuadPt3D *pt, int component, double *vals) |
| void | get_dy_values (int index, int np, QuadPt3D *pt, int component, double *vals) |
| void | get_dz_values (int index, int np, QuadPt3D *pt, int component, double *vals) |
| void | get_dxx_values (int index, int np, QuadPt3D *pt, int component, double *vals) |
| void | get_dyy_values (int index, int np, QuadPt3D *pt, int component, double *vals) |
| void | get_dzz_values (int index, int np, QuadPt3D *pt, int component, double *vals) |
| void | get_dxy_values (int index, int np, QuadPt3D *pt, int component, double *vals) |
| void | get_dxz_values (int index, int np, QuadPt3D *pt, int component, double *vals) |
| void | get_dyz_values (int index, int np, QuadPt3D *pt, int component, double *vals) |
| double | get_fn_value (int index, double x, double y, double z, int component) |
| double | get_dx_value (int index, double x, double y, double z, int component) |
| double | get_dy_value (int index, double x, double y, double z, int component) |
| double | get_dz_value (int index, double x, double y, double z, int component) |
| double | get_dxx_value (int index, double x, double y, double z, int component) |
| double | get_dyy_value (int index, double x, double y, double z, int component) |
| double | get_dzz_value (int index, double x, double y, double z, int component) |
| double | get_dxy_value (int index, double x, double y, double z, int component) |
| double | get_dxz_value (int index, double x, double y, double z, int component) |
| double | get_dyz_value (int index, double x, double y, double z, int component) |
Public Attributes | |
| const int | id |
Protected Member Functions | |
| void | get_constrained_values (int n, int index, int np, QuadPt3D *pt, int component, double *vals) |
| double | get_constrained_value (int n, int index, double x, double y, double z, int component) |
| order3_t | get_ced_order (int index) const |
| virtual CEDComb * | calc_constrained_edge_combination (int ori, const order1_t &order, Part part) |
| virtual CEDComb * | calc_constrained_edge_face_combination (int ori, const order2_t &order, Part part, int dir, int variant=0) |
| virtual CEDComb * | calc_constrained_face_combination (int ori, const order2_t &order, Part part, int variant=0) |
| void | free_constrained_combinations () |
| CEDComb * | get_ced_comb (const CEDKey &key) |
| int * | get_ced_indices (const CEDKey &key) |
Protected Attributes | |
| ESpaceType | type |
| int | mode |
| int | num_components |
| Map< CEDKey, CEDComb * > | ced_comb |
| Map< CEDKey, int > | ced_id |
| Array< CEDKey > | ced_key |
| int | ced_idx |
Base class for all shapesets.
| Shapeset::Shapeset | ( | int | id | ) |
| Shapeset::~Shapeset | ( | ) | [virtual] |
| virtual CEDComb* Shapeset::calc_constrained_edge_combination | ( | int | ori, | |
| const order1_t & | order, | |||
| Part | part | |||
| ) | [inline, protected, virtual] |
Reimplemented in H1ShapesetLobattoHex, and HcurlShapesetLobattoHex.
| virtual CEDComb* Shapeset::calc_constrained_edge_face_combination | ( | int | ori, | |
| const order2_t & | order, | |||
| Part | part, | |||
| int | dir, | |||
| int | variant = 0 | |||
| ) | [inline, protected, virtual] |
Reimplemented in H1ShapesetLobattoHex, and HcurlShapesetLobattoHex.
| virtual CEDComb* Shapeset::calc_constrained_face_combination | ( | int | ori, | |
| const order2_t & | order, | |||
| Part | part, | |||
| int | variant = 0 | |||
| ) | [inline, protected, virtual] |
Reimplemented in H1ShapesetLobattoHex, and HcurlShapesetLobattoHex.
| void Shapeset::free_constrained_combinations | ( | ) | [protected] |
| virtual int* Shapeset::get_bubble_indices | ( | order3_t | order | ) | [pure virtual] |
| order | - order of the bubble function |
Implemented in H1ShapesetLobattoHex, H1ShapesetLobattoTetra, HcurlShapesetLobattoHex, RefMapShapesetTetra, and RefMapShapesetHex.
| int * Shapeset::get_ced_indices | ( | const CEDKey & | key | ) | [protected] |
| order3_t Shapeset::get_ced_order | ( | int | index | ) | const [protected] |
| int Shapeset::get_constrained_edge_face_index | ( | int | edge, | |
| int | ori, | |||
| order2_t | order, | |||
| Part | part, | |||
| int | dir, | |||
| int | variant = 0 | |||
| ) | [virtual] |
Get index of a edge function constrained by a face function.
| [in] | edge | The local number of an edge. |
| [in] | order | The polynomial order on the edge. |
| [in] | ori | The orientation of the edge function. |
| [in] | part | The 'part' of an edge |
Get index of a constrained edge function.
| [in] | edge | The local number of an edge. |
| [in] | order | The polynomial order on the edge. |
| [in] | ori | The orientation of the edge function. |
| [in] | part | The 'part' of an edge |
| int Shapeset::get_constrained_face_index | ( | int | face, | |
| int | ori, | |||
| order2_t | order, | |||
| Part | part, | |||
| int | variant = 0 | |||
| ) | [virtual] |
Get index of a constrained face function.
| [in] | face | The local number of a face. |
| [in] | order | The polynomial order on the face. |
| [in] | ori | The orientation of the face function. |
| [in] | part | The 'part' of an face |
| double Shapeset::get_constrained_value | ( | int | n, | |
| int | index, | |||
| double | x, | |||
| double | y, | |||
| double | z, | |||
| int | component | |||
| ) | [protected] |
| void Shapeset::get_constrained_values | ( | int | n, | |
| int | index, | |||
| int | np, | |||
| QuadPt3D * | pt, | |||
| int | component, | |||
| double * | vals | |||
| ) | [protected] |
| virtual order3_t Shapeset::get_dcmp | ( | int | index | ) | const [pure virtual] |
Get function decomposition for product shapesets.
Implemented in H1ShapesetLobattoHex, H1ShapesetLobattoTetra, HcurlShapesetLobattoHex, RefMapShapesetTetra, and RefMapShapesetHex.
| double Shapeset::get_dx_value | ( | int | index, | |
| double | x, | |||
| double | y, | |||
| double | z, | |||
| int | component | |||
| ) | [inline] |
| void Shapeset::get_dx_values | ( | int | index, | |
| int | np, | |||
| QuadPt3D * | pt, | |||
| int | component, | |||
| double * | vals | |||
| ) | [inline] |
| double Shapeset::get_dxx_value | ( | int | index, | |
| double | x, | |||
| double | y, | |||
| double | z, | |||
| int | component | |||
| ) | [inline] |
| void Shapeset::get_dxx_values | ( | int | index, | |
| int | np, | |||
| QuadPt3D * | pt, | |||
| int | component, | |||
| double * | vals | |||
| ) | [inline] |
| double Shapeset::get_dxy_value | ( | int | index, | |
| double | x, | |||
| double | y, | |||
| double | z, | |||
| int | component | |||
| ) | [inline] |
| void Shapeset::get_dxy_values | ( | int | index, | |
| int | np, | |||
| QuadPt3D * | pt, | |||
| int | component, | |||
| double * | vals | |||
| ) | [inline] |
| double Shapeset::get_dxz_value | ( | int | index, | |
| double | x, | |||
| double | y, | |||
| double | z, | |||
| int | component | |||
| ) | [inline] |
| void Shapeset::get_dxz_values | ( | int | index, | |
| int | np, | |||
| QuadPt3D * | pt, | |||
| int | component, | |||
| double * | vals | |||
| ) | [inline] |
| double Shapeset::get_dy_value | ( | int | index, | |
| double | x, | |||
| double | y, | |||
| double | z, | |||
| int | component | |||
| ) | [inline] |
| void Shapeset::get_dy_values | ( | int | index, | |
| int | np, | |||
| QuadPt3D * | pt, | |||
| int | component, | |||
| double * | vals | |||
| ) | [inline] |
| double Shapeset::get_dyy_value | ( | int | index, | |
| double | x, | |||
| double | y, | |||
| double | z, | |||
| int | component | |||
| ) | [inline] |
| void Shapeset::get_dyy_values | ( | int | index, | |
| int | np, | |||
| QuadPt3D * | pt, | |||
| int | component, | |||
| double * | vals | |||
| ) | [inline] |
| double Shapeset::get_dyz_value | ( | int | index, | |
| double | x, | |||
| double | y, | |||
| double | z, | |||
| int | component | |||
| ) | [inline] |
| void Shapeset::get_dyz_values | ( | int | index, | |
| int | np, | |||
| QuadPt3D * | pt, | |||
| int | component, | |||
| double * | vals | |||
| ) | [inline] |
| double Shapeset::get_dz_value | ( | int | index, | |
| double | x, | |||
| double | y, | |||
| double | z, | |||
| int | component | |||
| ) | [inline] |
| void Shapeset::get_dz_values | ( | int | index, | |
| int | np, | |||
| QuadPt3D * | pt, | |||
| int | component, | |||
| double * | vals | |||
| ) | [inline] |
| double Shapeset::get_dzz_value | ( | int | index, | |
| double | x, | |||
| double | y, | |||
| double | z, | |||
| int | component | |||
| ) | [inline] |
| void Shapeset::get_dzz_values | ( | int | index, | |
| int | np, | |||
| QuadPt3D * | pt, | |||
| int | component, | |||
| double * | vals | |||
| ) | [inline] |
| virtual int* Shapeset::get_edge_indices | ( | int | edge, | |
| int | ori, | |||
| order1_t | order | |||
| ) | [pure virtual] |
| [in] | edge | - edge number (local) |
| [in] | ori | - orientation of the edge (0 or 1) |
| [in] | order | - order on the edge |
Implemented in H1ShapesetLobattoHex, H1ShapesetLobattoTetra, HcurlShapesetLobattoHex, RefMapShapesetTetra, and RefMapShapesetHex.
| virtual int Shapeset::get_edge_orientations | ( | ) | const [pure virtual] |
Get the number of possible orientations on an edge.
Implemented in H1ShapesetLobattoHex, H1ShapesetLobattoTetra, HcurlShapesetLobattoHex, RefMapShapesetTetra, and RefMapShapesetHex.
| virtual int Shapeset::get_face_fn_variant | ( | int | index | ) | const [inline, virtual] |
Returns the variant of a face function It is needed only in Hcurl-derived shapesets where we need to distinguish between to variants of shape functions, other shapesets are returning 0.
Reimplemented in HcurlShapesetLobattoHex.
| virtual int* Shapeset::get_face_indices | ( | int | face, | |
| int | ori, | |||
| order2_t | order | |||
| ) | [pure virtual] |
| [in] | face | - face number (local) |
| [in] | ori | - orientation of the face |
| [in] | order | - order on the face |
Implemented in H1ShapesetLobattoHex, H1ShapesetLobattoTetra, HcurlShapesetLobattoHex, RefMapShapesetTetra, and RefMapShapesetHex.
| virtual int Shapeset::get_face_orientations | ( | int | face | ) | const [pure virtual] |
Get the number of possible orientations on a face.
| [in] | face | The number of the face for which the orientations are evaluated |
Implemented in H1ShapesetLobattoHex, H1ShapesetLobattoTetra, HcurlShapesetLobattoHex, RefMapShapesetTetra, and RefMapShapesetHex.
| double Shapeset::get_fn_value | ( | int | index, | |
| double | x, | |||
| double | y, | |||
| double | z, | |||
| int | component | |||
| ) | [inline] |
| void Shapeset::get_fn_values | ( | int | index, | |
| int | np, | |||
| QuadPt3D * | pt, | |||
| int | component, | |||
| double * | vals | |||
| ) | [inline] |
| int Shapeset::get_mode | ( | ) | const [inline] |
| virtual int Shapeset::get_num_bubble_fns | ( | order3_t | order | ) | const [pure virtual] |
Implemented in H1ShapesetLobattoHex, H1ShapesetLobattoTetra, HcurlShapesetLobattoHex, RefMapShapesetTetra, and RefMapShapesetHex.
| int Shapeset::get_num_components | ( | ) | const [inline] |
| virtual int Shapeset::get_num_edge_fns | ( | order1_t | order | ) | const [pure virtual] |
Implemented in H1ShapesetLobattoHex, H1ShapesetLobattoTetra, HcurlShapesetLobattoHex, RefMapShapesetTetra, and RefMapShapesetHex.
| virtual int Shapeset::get_num_face_fns | ( | order2_t | order | ) | const [pure virtual] |
Implemented in H1ShapesetLobattoHex, H1ShapesetLobattoTetra, HcurlShapesetLobattoHex, RefMapShapesetTetra, and RefMapShapesetHex.
| virtual order3_t Shapeset::get_order | ( | int | index | ) | const [pure virtual] |
Implemented in H1ShapesetLobattoHex, H1ShapesetLobattoTetra, HcurlShapesetLobattoHex, RefMapShapesetTetra, and RefMapShapesetHex.
| virtual int Shapeset::get_shape_type | ( | int | index | ) | const [pure virtual] |
Implemented in H1ShapesetLobattoHex, H1ShapesetLobattoTetra, HcurlShapesetLobattoHex, RefMapShapesetTetra, and RefMapShapesetHex.
| ESpaceType Shapeset::get_type | ( | ) | [inline] |
| virtual double Shapeset::get_value | ( | int | n, | |
| int | index, | |||
| double | x, | |||
| double | y, | |||
| double | z, | |||
| int | component | |||
| ) | [pure virtual] |
Evaluate function 'index' in points 'pt'.
Implemented in H1ShapesetLobattoHex, H1ShapesetLobattoTetra, HcurlShapesetLobattoHex, RefMapShapesetTetra, and RefMapShapesetHex.
| virtual void Shapeset::get_values | ( | int | n, | |
| int | index, | |||
| int | np, | |||
| QuadPt3D * | pt, | |||
| int | component, | |||
| double * | vals | |||
| ) | [pure virtual] |
Evaluate function in the set of points.
| [in] | n | |
| [in] | index | - Index of the function being evaluate |
| [in] | np | - The number of points in array 'pt' |
| [in] | pt | - Points where the function is evaluated |
| [in] | component | - The number of component of the evaluated function |
| [out] | vals | - The array of vakues (caller is responsible for freeing this memory) |
Implemented in H1ShapesetLobattoHex, H1ShapesetLobattoTetra, HcurlShapesetLobattoHex, RefMapShapesetTetra, and RefMapShapesetHex.
| virtual int Shapeset::get_vertex_index | ( | int | vertex | ) | const [pure virtual] |
Implemented in H1ShapesetLobattoHex, H1ShapesetLobattoTetra, HcurlShapesetLobattoHex, RefMapShapesetTetra, and RefMapShapesetHex.
Map<CEDKey, CEDComb *> Shapeset::ced_comb [protected] |
Map<CEDKey, int> Shapeset::ced_id [protected] |
int Shapeset::ced_idx [protected] |
Array<CEDKey> Shapeset::ced_key [protected] |
| const int Shapeset::id |
int Shapeset::mode [protected] |
int Shapeset::num_components [protected] |
ESpaceType Shapeset::type [protected] |
1.6.3