Jive reference manual
List of all members | Static Public Member Functions
jive::geom::LinearLine Class Reference

Constructs shape objects that encapsulate the geometrical properties of linear line elements. More...

Inheritance diagram for jive::geom::LinearLine:
Inheritance graph

Static Public Member Functions

static jem::Ref< InternalShapegetShape (int ipCount=2)
 Returns a shape with a specified number of integration points. More...
 
static jem::Ref< InternalShapegetShape (const Matrix &intPoints, const Vector &intWeights)
 Returns a shape with a specific set of integration points. More...
 

Additional Inherited Members

- Public Types inherited from jive::geom::TypeDefs
typedef jem::util::Properties Properties
 A type representing a set of properties. More...
 
typedef util::Vector Vector
 A vector type. More...
 
typedef util::Matrix Matrix
 A matrix type. More...
 

Detailed Description

#include <jive/geom/Line.h>

The LinearLine class provides functions for constructing InternalShape objects that encapsulate the geometrical properties of line elements with two nodes and linear shape functions. The following figure shows how the nodes are numbered (left image) and where they are located in the local coordinate system (right image).

LinearLine.jpg

Note that the local node coordinates of a linear line are identical to the node coordinates of a standard linear line.

A linear line has two boundaries (boundary points, to be precise). Boundary 0 coincides with node 0, and boundary 1 coincides with node 1. The normals on these boundaries point away from the interior of the line.

Note that the LinearLine class has only static members; it should be used as a mini name space.

See also
QuadraticLine

Member Function Documentation

static jem::Ref<InternalShape> jive::geom::LinearLine::getShape ( int  ipCount = 2)
static

Returns an InternalShape object that encapsulates the geometrical properties of a linear line element. The integer ipCount specifies the number of integration points within the element.

This function simply executes:

return getShape (
StdLine::getGaussPoints ( ipCount ),
StdLine::getGaussWeights ( ipCount )
);

Note that the returned shape object may have less integration points than ipCount; read the documentation of the StdLine class for more information.

Parameters
ipCount- the number of integration points.
Returns
An InternalShape object representing a linear line element.
See also
StdLine
static jem::Ref<InternalShape> jive::geom::LinearLine::getShape ( const Matrix intPoints,
const Vector intWeights 
)
static

Returns an InternalShape object that represents a linear line element with a specific set of integration points. The matrix intPoints should contain the local coordinates of the integration points: intPoints(i,j) should be equal to the i-th local coordinate of the j-th integration point. The vector intWeights should contain the integration weights in the local coordinate system: intWeights[j] should be equal to the local integration weight associated with the j-th integration point.

Note that the arrays intPoints and intWeights are copied by reference. You should not modify the contents of the arrays after calling this function.

You can use the StdLine class to compute the integration point coordinates and weights. Here is an example:

Ref<InternalShape> s = LinearLine::getShape (
StdLine::getGaussPoints ( 3 ),
StdLine::getGaussWeights ( 3 )
);
Parameters
intPoints- a matrix containing the local coordinates of the integration points.
intWeights- a vector containing the local integration weights.
Precondition
intPoints.size(0) == 1 &&
intPoints.size(1) == intWeights.size()
Returns
An InternalShape object representing a linear line element.
See also
StdLine