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.