Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

odaUtils.h File Reference

A list of non-member functions for the ot::DA class. More...

#include "mpi.h"
#include <vector>
#include "petscvec.h"
#include "odaUtils.txx"

Go to the source code of this file.

Namespaces

namespace  ot
namespace  ot::DA_FLAGS

Defines

#define GET_ETYPE_BLOCK(type, hnMask, cNum)
 A macro used to map the childnumber and hanging mask of an octant to one of the 18 hanging configurations.
#define PROF_ADD_BDY_SIBLINGS_BEGIN
#define PROF_ADD_BDY_SIBLINGS_END   return ;
#define PROF_DA_APRIORI_COMM_BEGIN
#define PROF_DA_APRIORI_COMM_END   return;
#define PROF_DA_BPART1_BEGIN
#define PROF_DA_BPART1_END
#define PROF_DA_BPART2_BEGIN
#define PROF_DA_BPART2_END
#define PROF_DA_BPART3_BEGIN
#define PROF_DA_BPART3_END
#define PROF_DA_FINAL_BEGIN
#define PROF_DA_FINAL_END   return ;
#define PROF_DA_INIT_BEGIN
#define PROF_DA_INIT_END   return ;
#define PROF_PICK_GHOSTS_BEGIN
#define PROF_PICK_GHOSTS_END   return;

Enumerations

enum  ElementFlagType { DEP_ELEM = 32, FOREIGN = 255 }
 A flag to identify the type of octant. More...
enum  loopType {
  ALL, WRITABLE, DEPENDENT, INDEPENDENT,
  W_DEPENDENT, FROM_STORED
}
 A flag to determine the type of iterator used. More...
enum  SortOrderType {
  XYZ, YXZ, XZY, ZXY,
  YZX, ZYX
}
 A flag to identify the relative order of the vertices of an octant. More...

Functions

template<unsigned char cNum>
unsigned char getElemType (unsigned char hnMask)
 A function that maps a given child number and hanging mask to one of the 18 standard hanging configurations.


Detailed Description

A list of non-member functions for the ot::DA class.

Author:
Rahul S. Sampath, rahul.sampath@gmail.com

Definition in file odaUtils.h.


Define Documentation

#define GET_ETYPE_BLOCK type,
hnMask,
cNum   ) 
 

A macro used to map the childnumber and hanging mask of an octant to one of the 18 hanging configurations.

Author:
Rahul Sampath

See also:
getChildNumber()

getHangingNodeIndex()

Definition at line 334 of file odaUtils.h.

Referenced by ComputeDirichletJacobian(), ComputeDirichletLaplacian(), ComputeError5(), ComputeFBM2_RHS_Part1(), ComputeFBM_RHS_Part1(), ComputeFBM_RHS_Part2(), computeInvBlockDiagEntriesForElasticityMat(), ComputeRHS2(), ComputeRHS7(), ComputeRHS8(), ComputeRHS9(), ComputeRHS_omgNeumann(), CreateAndComputeFullActiveJacobian1(), CreateAndComputeFullJacobian1(), DirichletJacobianMatGetDiagonal(), DirichletJacobianMatMult(), DirichletLaplacianMatGetDiagonal(), DirichletLaplacianMatMult(), ot::interpolateData(), Jacobian1MatGetDiagonal(), MassMatGetDiagonal(), TmpDirichletJacobianMatMult(), and TmpDirichletLaplacianMatMult().

#define PROF_ADD_BDY_SIBLINGS_BEGIN
 

Definition at line 74 of file odaUtils.h.

Referenced by ot::includeSiblingsOfBoundary().

#define PROF_ADD_BDY_SIBLINGS_END   return ;
 

Definition at line 75 of file odaUtils.h.

Referenced by ot::includeSiblingsOfBoundary().

#define PROF_DA_APRIORI_COMM_BEGIN
 

Definition at line 80 of file odaUtils.h.

Referenced by ot::prepareAprioriCommMessagesInDAtype1(), and ot::prepareAprioriCommMessagesInDAtype2().

#define PROF_DA_APRIORI_COMM_END   return;
 

Definition at line 81 of file odaUtils.h.

Referenced by ot::prepareAprioriCommMessagesInDAtype1(), and ot::prepareAprioriCommMessagesInDAtype2().

#define PROF_DA_BPART1_BEGIN
 

Definition at line 83 of file odaUtils.h.

Referenced by ot::DA::DA_FactoryPart3().

#define PROF_DA_BPART1_END
 

Definition at line 84 of file odaUtils.h.

Referenced by ot::DA::DA_FactoryPart3().

#define PROF_DA_BPART2_BEGIN
 

Definition at line 86 of file odaUtils.h.

Referenced by ot::DA::DA_FactoryPart3().

#define PROF_DA_BPART2_END
 

Definition at line 87 of file odaUtils.h.

Referenced by ot::DA::DA_FactoryPart3().

#define PROF_DA_BPART3_BEGIN
 

Definition at line 89 of file odaUtils.h.

Referenced by ot::DA::DA_FactoryPart3().

#define PROF_DA_BPART3_END
 

Definition at line 90 of file odaUtils.h.

Referenced by ot::DA::DA_FactoryPart3().

#define PROF_DA_FINAL_BEGIN
 

Definition at line 71 of file odaUtils.h.

Referenced by ot::DA_Finalize().

#define PROF_DA_FINAL_END   return ;
 

Definition at line 72 of file odaUtils.h.

Referenced by ot::DA_Finalize().

#define PROF_DA_INIT_BEGIN
 

Definition at line 68 of file odaUtils.h.

Referenced by ot::DA_Initialize().

#define PROF_DA_INIT_END   return ;
 

Definition at line 69 of file odaUtils.h.

Referenced by ot::DA_Initialize().

#define PROF_PICK_GHOSTS_BEGIN
 

Definition at line 77 of file odaUtils.h.

Referenced by ot::pickGhostCandidates().

#define PROF_PICK_GHOSTS_END   return;
 

Definition at line 78 of file odaUtils.h.

Referenced by ot::pickGhostCandidates().


Enumeration Type Documentation

enum ElementFlagType
 

A flag to identify the type of octant.

Author:
Hari Sundar
Enumeration values:
DEP_ELEM 
FOREIGN 

Definition at line 110 of file odaUtils.h.

enum loopType
 

A flag to determine the type of iterator used.

The set of elements a processor owns will be referred to as local elements. ot::DA allows each processor to loop over its local elements and also the set of ghost octants recieved from processors with a lower rank than itself (pre-ghosts). Since, the octants are globally sorted to begin with, the pre-ghosts will have a lower Morton id compared to the first local element. The elements (both ghosts and local) will be traversed in the Morton order.

Each element has 8 node indices stored in it. Some of them could be pointing to ghosts.

use ALL to loop over all the local elements and pre-ghost elements as well.

use WRITABLE to loop over all the elements the current processor owns.

use DEPENDENT to loop over pre-ghosts as well as local elements, which have atleast one node index pointing to some ghost octant.

use INDEPENDENT to loop over local elements, which do not have any node index pointing to a ghost octant.

use W_DEPENDENT to loop over local elements, which have atleast one node index pointing to some ghost octant.

use FROM_STORED to initialize a loop at the location of the last call to the function currWithInfo(). Note unlike, the other loopTypes FROM_STORED must be used only in the init portion.

A sample usage would look like:

      for ( init<loopType> ; curr() < end<loopType>(); next<loopType>() ) { 
    // process current element ...
    } 
Author:
Rahul Sampath
Enumeration values:
ALL 
WRITABLE 
DEPENDENT 
INDEPENDENT 
W_DEPENDENT 
FROM_STORED 

Definition at line 151 of file odaUtils.h.

enum SortOrderType
 

A flag to identify the relative order of the vertices of an octant.

Author:
Hari Sundar
Enumeration values:
XYZ 
YXZ 
XZY 
ZXY 
YZX 
ZYX 

Definition at line 102 of file odaUtils.h.


Function Documentation

template<unsigned char cNum>
unsigned char ot::getElemType unsigned char  hnMask  ) 
 

A function that maps a given child number and hanging mask to one of the 18 standard hanging configurations.

Parameters:
hnMask The hanging mask returned using the function getHangingNodeIndex()
Author:
Rahul Sampath
See also:
getHangingNodeIndex

getChildNumber

Definition at line 14 of file odaUtils.txx.


Generated on Tue Mar 24 16:14:13 2009 for DENDRO by  doxygen 1.3.9.1