Diffpack Documentation


Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Search  

DynElement Class Reference

class for holding information about a finite element. More...

#include <DynElement.h>

Inheritance diagram for DynElement::

HandleId List of all members.

Public Methods

 DynElement (int elm_no, const GridFE &grid, const VecSimplest(Handle(DynNode)) &node_vec)
 DynElement (int nne_, const String &elm_tp_, const Ptv(real) &global_centroid_, int material_no_, const Handle(DynNode) &node1, const Handle(DynNode) &node2, const Handle(DynNode) &node3)
 DynElement ()
 ~DynElement ()
bool operator!= (const DynElement &element) const
bool operator== (const DynElement &element) const
DynElement& operator= (const DynElement &element)
bool operator< (const DynElement &element) const
void print (Os &os)
void setElmType (const String &type)
void setNoNodesInElm (int number_of_nodes_in_elm)
void setLocNodeVec (const VecSimplest(Handle(DynNode)) &l_n_vec)
void replaceNode (int local_node, DynNode &new_node)
const StringgetElmType () const
int getNoNodesInElm () const
void getLocNodeVec (VecSimplest(Handle(DynNode)) &l_n_vec) const
const Ptv(real)& getGlobalCentroid () const
int getMaterialType () const

Protected Attributes

int nne
int material_no
String elm_tp
Ptv(real) global_centroid
VecSimplest(Handle(DynNode)) loc_node_vec
bool is_outside

Friends

class  DpList
class  ManipGridDynFE
Osoperator<< (Os &os, DynElement &element)

Detailed Description

class for holding information about a finite element.

NAME: DynElement - class for holding information about a finite element

DESCRIPTION:

The class implements a finite element. That is, the class stores all the relevant information on one finite element. In detail the class contains: a "VecSimplest" containing the nodes in the element, number of nodes in the element, the element type, the elements material number and the elements global centroid. The last variable, "is_outside", determines whether the element centroid is outside a user given domain or not. The variable is used in "removeDomainExtended", "triangularElement" and "twoTriangularElements" in "GridDynFE". Each element is included in the element list in "GridDynFE". The public "HandleId" ensures that handles can be used on the class. The friend class "DpList" ensures that the element can be included in a element list in class "GridDynFE".


Constructor & Destructor Documentation

DynElement::DynElement ( int elm_no,
const GridFE & grid,
const VecSimplest(Handle(DynNode)) & node_vec )
 

There are three constructors. One empty constructor and one that takes the element number, a "GridFE" object and a "VecSimplest" containing "Handle" pointers to the elements nodes as argument. The third constructor takes the number of nodes, the element type, the global centroid, the material number and three handles pointing to three nodes as argument, and constructs a triangular element.

DynElement::DynElement ( int nne_,
const String & elm_tp_,
const Ptv(real) & global_centroid_,
int material_no_,
const Handle(DynNode) & node1,
const Handle(DynNode) & node2,
const Handle(DynNode) & node3 )
 

See documentation of one of the overloaded constructor.

DynElement::DynElement ( ) [inline]
 

See documentation of one of the overloaded constructor.

DynElement::~DynElement ( ) [inline]
 


Member Function Documentation

const String & DynElement::getElmType ( ) const
 

returns the element type.

const Ptv(real) & DynElement::getGlobalCentroid ( ) const
 

returns the coordinates of the global centroid.

void DynElement::getLocNodeVec ( VecSimplest(Handle(DynNode)) & l_n_vec ) const
 

assigns the local node vector given as argument to the elements local node vector.

int DynElement::getMaterialType ( ) const
 

returns the material number of the element.

int DynElement::getNoNodesInElm ( ) const
 

returns the number of nodes in the element.

bool DynElement::operator!= ( const DynElement & element ) const
 

tests for equality by comparing the global centroids. The function is called for by the "DpList" class.

bool DynElement::operator< ( const DynElement & element ) const
 

compares two elements and returns "true" if this element has smaller global centroid than the element given as argument. This function is required by the "sort" function in the element list. The element with the smallest global centroid coordinates is the element which is nearest the origin.

DynElement & DynElement::operator= ( const DynElement & element )
 

assigns this element to the element given as argument.

bool DynElement::operator== ( const DynElement & element ) const
 

uses "operator!=" to determine whether the element given as argument and this element are alike or not. Returns "true" if they are, and "false" if not.

void DynElement::print ( Os & os )
 

print the contents of the element to the output given as argument. Mainly for debugging purposes.

void DynElement::replaceNode ( int local_node,
DynNode & new_node )
 

given a local node number "local_node", the node handle of this local node is rebound to a new node ("new_node").

void DynElement::setElmType ( const String & type )
 

sets the element type to the element type given as argument.

void DynElement::setLocNodeVec ( const VecSimplest(Handle(DynNode)) & l_n_vec )
 

sets the local node vector.

void DynElement::setNoNodesInElm ( int number_of_nodes_in_elm )
 

sets number of nodes in the element.


Friends And Related Function Documentation

class DpList [friend]
 

class ManipGridDynFE [friend]
 

Os & operator<< ( Os & os,
DynElement & element ) [friend]
 

calls the print function. The function is called for by the "DpList" class.


Member Data Documentation

String DynElement::elm_tp [protected]
 

Ptv(real) DynElement::global_centroid [protected]
 

bool DynElement::is_outside [protected]
 

VecSimplest(Handle(DynNode)) DynElement::loc_node_vec [protected]
 

int DynElement::material_no [protected]
 

int DynElement::nne [protected]
 


The documentation for this class was generated from the following file:
Copyright © 2003 inuTech GmbH. All rights reserved.