|
Jive reference manual
|
Encapsulates the geometrical properties of a boundary of a finite element. More...

Public Types | |
| typedef Shape | Super |
Public Types inherited from jive::geom::Shape | |
| typedef util::Vector | Vector |
| A vector type. More... | |
| typedef util::Matrix | Matrix |
| A matrix type. More... | |
Public Member Functions | |
| virtual int | globalRank () const |
| Returns the global rank of this shape. More... | |
| virtual void | getNormals (const Matrix &q, const Vector &w, const Matrix &c) const =0 |
| Computes the normal vectors in the integration points. More... | |
| virtual void | getNodeNormals (const Matrix &q, const Matrix &c) const =0 |
| Computes the normal vectors in the nodes of this shape. More... | |
| virtual void | evalNormal (const Vector &q, const Vector &u, const Matrix &c) const =0 |
| Computes the normal vector in a given point. More... | |
| virtual jem::Class * | getClass () const |
Returns the Class instance representing the runtime class of this object. More... | |
Public Member Functions inherited from jive::geom::Shape | |
| virtual int | localRank () const =0 |
| Returns the local rank of this shape. More... | |
| virtual int | nodeCount () const =0 |
| Returns the number of nodes. More... | |
| virtual int | shapeFuncCount () const =0 |
| Returns the number of shape functions. More... | |
| virtual int | integrationPointCount () const =0 |
| Returns the number of integration points. More... | |
| virtual Matrix | getLocalNodeCoords () const =0 |
| Returns the coordinates of the nodes in the local coordinate system. More... | |
| virtual Matrix | getIntegrationPoints () const =0 |
| Returns the integration points in the local coordinate system. More... | |
| virtual void | getGlobalIntegrationPoints (const Matrix &x, const Matrix &c) const |
| Computes the integration points in the global coordinate system. More... | |
| virtual void | getIntegrationWeights (const Vector &w, const Matrix &c) const =0 |
| Computes the integration weights in the global coordinate system. More... | |
| virtual Matrix | getShapeFunctions () const =0 |
| Returns the shape functions evaluated in the integration points. More... | |
| virtual void | evalShapeFunctions (const Vector &h, const Vector &u) const =0 |
| Computes the shape functions in a given point. More... | |
| virtual void | getGlobalPoint (const Vector &x, const Vector &u, const Matrix &c) const =0 |
| Converts a local coordinate vector to a global coordinate vector. More... | |
| virtual bool | getLocalPoint (const Vector &u, const Vector &x, double eps, const Matrix &c) const |
| Converts a global coordinate vector to a local coordinate vector. More... | |
| virtual bool | containsLocalPoint (const Vector &u) const =0 |
| Tests whether a point lies within this shape. More... | |
Public Member Functions inherited from jem::Object | |
| virtual String | toString () const |
| Returns a short textual description of this object. More... | |
| virtual long | hashValue () const |
| Returns a hash value for this object. More... | |
| virtual bool | equals (const Ref< Object > &obj) const |
| Tests whether two objects are equal. More... | |
| Ref< Object > | clone () const |
| Returns a copy of this object. More... | |
Static Public Member Functions | |
| static jem::Class * | getType () |
Returns a pointer to a Class object representing this class. More... | |
Static Public Member Functions inherited from jive::geom::Shape | |
| static jem::Class * | getType () |
Returns a pointer to a Class object representing this class. More... | |
Static Public Member Functions inherited from jem::Object | |
| static Class * | getType () |
Returns the Class instance representing the Object class. More... | |
Protected Member Functions | |
| virtual | ~BoundaryShape () |
Protected Member Functions inherited from jem::Collectable | |
| Collectable () | |
Creates an empty Collectable. More... | |
| ~Collectable () | |
| Frees resources. More... | |
#include <jive/geom/BoundaryShape.h>
The abstract class BoundaryShape encapsulates the geometrical properties of a boundary of a finite element. It can be used to evaluate an integral over a boundary of en element; to evaluate the shape functions on a boundary of an element; and to evaluate the normals on a boundary of an element.
The BoundaryShape class extends the Shape class with the functions getNormals(), getNodeNormals() and evalNormal(). These functions compute the normal vectors on an element boundary in different points on that boundary.
The rank of the local coordinate system of a boundary shape is one less than the rank of the global coordinate system of that shape. For instance, a boundary line has a one-dimensional local coordinate system and `lives' in a two-dimensional global coordinate system.
InternalShape
|
protectedvirtual |
|
static |
Returns a pointer to a jem::Class object that represents the BoundaryShape class. This pointer remains valid during the entire lifetime of the current program.
jem::Class object that represents this class.
|
virtual |
Returns the rank (number of dimensions) of the global coordinate system in which this boundary shape `lives'. The implementation provided by the BoundaryShape class returns
this->localRank() + 1
Implements jive::geom::Shape.
|
pure virtual |
Fills the matrix q with the normal vectors in the integration points of this boundary shape: q(i,j) is set to the i-th component of the normal vector in the j-th integration point. As a bonus, the vector w is filled with the integration weights in the global coordinate system: w[i] is set to the integration weight associated with the i-th integration point. The matrix c should contain the global node coordinates: c(i,j) should be equal to the i-th global coordinate of the j-th node.
| q | - a matrix that will be filled with the normal vectors in the integration points. |
| w | - a vector that will be filled with the global integration points. |
| c | - a matrix containing the global node coordinates. |
q.size(0) == this->globalRank() &&
q.size(1) == this->integrationPointCount() &&
w.size() == this->integrationPointCount() &&
c.size(0) == this->globalRank() &&
c.size(1) == this->nodeCount() Implemented in jive::geom::BoundaryPoint, and jive::geom::ParametricBoundary.
|
pure virtual |
Fills the matrix q with the normal vectors in the nodes of this boundary shape: q(i,j) is set to the i-th component of the normal vector in the j-th node. The matrix c should contain the global node coordinates: c(i,j) should be equal to the i-th global coordinate of the j-th node.
| q | - a matrix that will be filled with the normal vectors in the nodes. |
| c | - a matrix containing the global node coordinates. |
q.size(0) == this->globalRank() &&
q.size(1) == this->nodeCount() &&
c.size(0) == this->globalRank() &&
c.size(1) == this->nodeCount()
|
pure virtual |
Fills the vector q with the components of the normal vector in a specific point within this boundary shape: q[i] is set to the i-th component of the normal vector. The vector u should contain the local coordinates of that point: u[i] should be equal to the i-th local coordinate. The matrix c should contain the global node coordinates: c(i,j) should be equal to the i-th global coordinate of the j-th node.
| q | - a vector that will be filled with the components of the normal vector in the specified point. |
| u | - a vector containing the local coordinates of that point. |
| c | - a matrix containing the global node coordinates. |
q.size() == this->globalRank() &&
u.size() == this->localRank() &&
c.size(0) == this->globalRank() &&
c.size(1) == this->nodeCount() Implemented in jive::geom::BoundaryPoint, jive::geom::ParametricEdge, jive::geom::ParametricSurface, and jive::geom::Parametric4DSurf.
|
virtual |
Returns a pointer to the Class instance representing the runtime class of this object. If T denotes the runtime class of this object, then this function is equivalent with T::getType(). The pointer is valid during the entire lifetime of the program.
Class instance representing the runtime class of this object. Reimplemented from jive::geom::Shape.