BlockDescriptor Class Reference

#include <fei_BlockDescriptor.hpp>

List of all members.

Public Member Functions

 BlockDescriptor ()
virtual ~BlockDescriptor ()
GlobalID getGlobalBlockID ()
void setGlobalBlockID (GlobalID blockID)
int setNumNodesPerElement (int numNodes)
int getNumNodesPerElement () const
int * fieldsPerNodePtr ()
int allocateFieldIDsTable ()
int ** fieldIDsTablePtr ()
bool containsField (int fieldID)
int getNumDistinctFields ()
void setNumDistinctFields (int nFields)
int getInterleaveStrategy () const
void setInterleaveStrategy (int strat)
int getLumpingStrategy () const
void setLumpingStrategy (int strat)
int getNumElements ()
void setNumElements (int numElems)
size_t getNumElemDofFieldsPerElement ()
int setElemDofFieldIDs (int numFields, const int *fieldIDs)
std::vector< int > & getElemDofFieldIDs ()
void setNumElemDOFPerElement (int ndof)
int getNumElemDOFPerElement ()
std::vector< int > & elemDOFEqnNumbers ()
int getNumEqnsPerElement ()
void setNumEqnsPerElement (int numEqns)
int getNumBlkEqnsPerElement ()
void setNumBlkEqnsPerElement (int numBlkEqns)
int getNumActiveNodes ()
void setNumActiveNodes (int num)
int getTotalNumEqns ()
void setTotalNumEqns (int numEqns)

Detailed Description

The BlockDescriptor class holds the information that the FEI implementation needs to know about an element-block in the finite element problem:

Global block identifier number of nodes per element in this block list containing the number-of-fields-per-node table containing the field identifiers for those nodal fields interleaveStrategy lumpingStrategy number of elements in this block number of element-DOF per element in this block the first element-DOF equation number for each block total number of equations associated with each element

A block is a collection of homogeneous elements -- which means that all elements in a block have the same topology: number of nodes, same solution fields at those nodes, etc.

Usage notes:

There is only one way to set each length/size parameter in this class, and only one way to retrieve each length/size parameter. e.g., you can't set the number of nodes to be one thing, then pass a different value to a function that allocates the fieldsPerNode list. When you set the number of nodes, the fieldsPerNode list is allocated right then. When you retrieve the fieldsPerNode list, you must obtain its length by separately calling the getNumNodesPerElement() function. Similar schemes are in place for the fieldIDsTable, etc.

There are some order-dependencies for these member functions.

In general, out-of-order function calls will be flagged with a message to stderr.

Definition at line 67 of file fei_BlockDescriptor.hpp.

Member Function Documentation

int BlockDescriptor::setNumNodesPerElement ( int  numNodes  ) 

Number of nodes per element, in this element-block.

Definition at line 60 of file fei_BlockDescriptor.cpp.

int** BlockDescriptor::fieldIDsTablePtr (  )  [inline]

Table of field-IDs. number-of-rows is getNumNodesPerElement() The row-lengths are given by the fieldsPerNodePtr() list.

Definition at line 88 of file fei_BlockDescriptor.hpp.

The documentation for this class was generated from the following files:
Generated on Mon Jul 12 09:31:27 2010 for FEI by  doxygen 1.4.7