Diffpack Documentation

(Functionality not available, requires installation of an additional Diffpack Toolbox)


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

GridPart Class Reference

abstract base class of a method hierarchy for preparing subgrids to be used in parallel computing. More...

#include <GridPart.h>

Inheritance diagram for GridPart::

HandleId GridPartFileSource GridPartUniform GridPartUnstruct GridPartMetis List of all members.

Public Methods

 GridPart (const GridPart_prm &pm)
virtual ~GridPart ()
virtual bool makeSubgrids ()=0
virtual bool makeSubgrids (const GridFE &global_grid)=0
virtual GridFEgetSubgrid (int i=1)
virtual VecSimplest(Handle(GridFE))& getAllSubgrids ()
const VecSimplest(VecSimple(int))& getGlobalNnrs () const
const VecSimplest(VecSimple(int))& getGlobalEnrs () const

Static Public Methods

bool initNeighbor (GridFE &grid, MatSimple(int) &elm_neigh)

Public Attributes

Handle(GridPart_prmpart_param
VecSimplest(Handle(GridFE)) subd_grids
bool overlapping_subgrids
bool matching_grids
bool global_nnr_available
bool global_enr_available
int gno
int gne
VecSimplest(VecSimple(int)) global_nnrs
VecSimplest(VecSimple(int)) global_enrs
VecSimplest(VecSimple(int)) neighbor_ids
VecSimple(int) num_ib_nodes
VecSimplest(VecSimple(int)) ib_node_ids

Detailed Description

abstract base class of a method hierarchy for preparing subgrids to be used in parallel computing.

NAME: GridPart - abstract base class of a method hierarchy for preparing subgrids to be used in parallel computing

DESCRIPTION:

This abstract base class gives a generic interface of methods that can be used to prepare subgrids for doing parallel computing in Diffpack. Different subclasses are already developed to handle different situations (see "GridPartFileSource", "GridPartUnstruct", and "GridPartUniform"). The user normally does not work directly with "GridPart". Instead, class "GridPartAdm" takes care of instantiating an object of a subclass of "GridPart" and invoking one relevant member function from it to prepare the subgrids.


Constructor & Destructor Documentation

GridPart::GridPart ( const GridPart_prm & pm )
 

There is only one constructor that takes an input "GridPart_prm" object and binds the internal "Handle(GridPart_prm)" to it. The information contained in "GridPart_prm" will be used extensively in later operations.

GridPart::~GridPart ( ) [inline, virtual]
 


Member Function Documentation

VecSimplest(Handle(GridFE)) & GridPart::getAllSubgrids ( ) [inline, virtual]
 

returns all the subgrids (one or multiple) located on one processor.

const VecSimplest(VecSimple(int)) & GridPart::getGlobalEnrs ( ) const [inline]
 

returns a "VecSimplest" of "VecSimple(int)" containing global element numbering for all the elements in all the subgrids on one processor.

const VecSimplest(VecSimple(int)) & GridPart::getGlobalNnrs ( ) const [inline]
 

returns a "VecSimplest" of "VecSimple(int)" containing global node numbering for all the nodes of all the subgrids on one processor.

GridFE & GridPart::getSubgrid ( int i = 1 ) [inline, virtual]
 

returns the desired subgrid. The optional integer input is the local number of the subgrid when there exist multiple subgrids on the current processor. This function is normally invoked by "GridPartAdm" through its own member function with the same name.

static bool GridPart::initNeighbor ( GridFE & grid,
MatSimple(int) & elm_neigh ) [static]
 

is a function for calculating e2e information. It is a lightweight version of the "NeighborFE init" function. The result is returned in an integer matrix, where each row contains neighbor information for a particular element on each of its sides. A positive number gives the neighbor element index, while 0 means there is no neighbor. This member function is static so it can be used outside the "GridPart" hierarchy.

bool GridPart::makeSubgrids ( const GridFE & global_grid ) [pure virtual]
 

See documentation of one of the overloaded functions.

Reimplemented in GridPartFileSource, GridPartUniform, and GridPartUnstruct.

bool GridPart::makeSubgrids ( ) [pure virtual]
 

has two versions, one takes an object of "GridFE" as input, the other has no input parameter. Some of the subclasses of "GridPart" support only one version. This function is normally invoked by "GridPartAdm", and information contained in the "GridPart_prm" object will be used extensively during the preparation of subgrids.

Reimplemented in GridPartFileSource, GridPartUniform, and GridPartUnstruct.


Friends And Related Function Documentation

class GridPartAdm [friend]
 


Member Data Documentation

bool GridPart::global_enr_available
 

VecSimplest(VecSimple(int)) GridPart::global_enrs
 

bool GridPart::global_nnr_available
 

VecSimplest(VecSimple(int)) GridPart::global_nnrs
 

int GridPart::gne
 

int GridPart::gno
 

VecSimplest(VecSimple(int)) GridPart::ib_node_ids
 

bool GridPart::matching_grids
 

VecSimplest(VecSimple(int)) GridPart::neighbor_ids
 

VecSimple(int) GridPart::num_ib_nodes
 

bool GridPart::overlapping_subgrids
 

Handle(GridPart_prm) GridPart::part_param
 

VecSimplest(Handle(GridFE)) GridPart::subd_grids
 


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