00001
00009 #ifndef __EXTERN_VARS_H__
00010 #define __EXTERN_VARS_H__
00011
00012 #include "petscmat.h"
00013
00014 #ifdef PETSC_USE_LOG
00015
00016 namespace par {
00017
00020 int searchEvent;
00021 int concatEvent;
00022 int parScatterEvent;
00023 int gatherEvent;
00024 int a2avWaitEvent;
00025 int all2AllvSparseEvent;
00026 int all2AllvDenseEvent;
00027 int allGatherEvent;
00028 int reduceEvent;
00029 int sendRecvEvent;
00030 int allReduceEvent;
00031 int all2AllEvent;
00032 int allGathervEvent;
00033 int bcastEvent;
00034 int scanEvent;
00035 int partwEvent;
00036 int sortEvent;
00037 int remdupEvent;
00038 int splitComm2wayEvent;
00039 int splitCommEvent;
00041 }
00042
00043 namespace ot {
00044
00047 int mergeRecvKeysBalEvent;
00048 int prepBalWlistEvent;
00049 int prepBalComm1MssgEvent;
00050 int prepBalComm2MssgEvent;
00051 int finalBalMergeEvent;
00052 int mergeComboBalEvent;
00053 int pickNhBlocksEvent;
00054 int comboRippleEvent;
00055 int balSubtreeEvent;
00056 int completeSubtreeEvent;
00057 int coarsenEvent;
00058 int coarsenSeqEvent;
00059 int simpleCoarsenEvent;
00060 int balanceEvent;
00061 int mergeOctreesEvent;
00062 int rg2oEvent;
00063 int p2oEvent;
00064 int p2oSeqEvent;
00065 int p2oLocalEvent;
00066 int n2oEvent;
00067 int n2oSeqEvent;
00068 int completeRegionEvent;
00069 int blockPart1Event;
00070 int blockPart2Event;
00071 int blockPart3Event;
00072 int conBalEvent;
00073 int rippleBalEvent;
00074 int ptrRippleBalEvent;
00075 int parRippleType3Event;
00076 int parRippleType2Event;
00077 int parRippleType1Event;
00078 int pickBndEvent;
00079 int balCommEvent;
00080 int balScatterEvent;
00081 int balSplitCommEvent;
00082 int balBpart1Event;
00083 int balBpart2Event;
00084 int markHangingEvent;
00085 int addBdyEvent;
00087
00090 int DAbPart1Event;
00091 int DAbPart2Event;
00092 int DAbPart3Event;
00093 int DAaprioriCommEvent;
00094 int buildDaEvent;
00095 int buildNlistEvent;
00096 int buildNlistCommEvent;
00097 int pickGhostsEvent;
00098 int addBdySiblingsEvent;
00099 int setMatValuesEvent;
00100 int readFromGhostNodesBeginEvent;
00101 int readFromGhostNodesEndEvent;
00102 int readFromGhostElemsBeginEvent;
00103 int readFromGhostElemsEndEvent;
00104 int writeToGhostNodesBeginEvent;
00105 int writeToGhostNodesEndEvent;
00106 int writeToGhostElemsBeginEvent;
00107 int writeToGhostElemsEndEvent;
00108 int daInitEvent;
00109 int daFinalEvent;
00111
00114 int pcKspShellSetupEvent;
00115 int pcKspShellDestroyEvent;
00116 int pcKspShellApplyEvent;
00117 int setDaEvent;
00118 int setUpEvent;
00119 int createRp1Event;
00120 int createRp2Event;
00121 int setKspEvent;
00122 int restrictEvent;
00123 int dummyRestrictEvent;
00124 int prolongEvent;
00125 int scatterEvent;
00126 int damgInitEvent;
00127 int damgFinalEvent;
00129
00130 int buildDAstage1Event;
00131 int buildDAstage2Event;
00132 int buildDAstage3Event;
00133 int buildDAstage4Event;
00134 int buildDAstage5Event;
00135 int buildDAstage6Event;
00136 int buildDAstage7Event;
00137 int buildDAstage8Event;
00138 int buildDAstage9Event;
00139
00140 int setDAstage1Event;
00141 int setDAstage2Event;
00142 int setDAstage3Event;
00143 int setDAstage4Event;
00144 int setDAstage5Event;
00145 int setDAstage6Event;
00146
00147 int FLNstage1Event;
00148 int FLNstage2Event;
00149 int FLNstage3Event;
00150 int FLNstage4Event;
00151 int FLNstage5Event;
00152 int FLNstage6Event;
00153 int FLNstage7Event;
00154 int FLNstage8Event;
00155 int FLNstage9Event;
00156 int FLNstage10Event;
00157 int FLNstage11Event;
00158
00159 }
00160
00161 #endif
00162
00163 namespace ot {
00164
00167 double**** RmatType2Stencil = NULL;
00168 double***** RmatType1Stencil = NULL;
00169 unsigned short**** VtxMap1 = NULL;
00170 unsigned short***** VtxMap2 = NULL;
00171 unsigned short***** VtxMap3 = NULL;
00172 unsigned short****** VtxMap4 = NULL;
00173 double**** ShapeFnCoeffs = NULL;
00175
00178 void (*getDofAndNodeSizeForPC_BlockDiag)(Mat pcMat,
00179 unsigned int & dof, unsigned int & nodeSize) = NULL;
00180
00181 void (*computeInvBlockDiagEntriesForPC_BlockDiag)(Mat pcMat,
00182 double **invBlockDiagEntries) = NULL;
00184
00190 void (*getPrivateMatricesForKSP_Shell)(Mat mat,
00191 Mat *AmatPrivate, Mat *PmatPrivate, MatStructure* pFlag) = NULL;
00193 }
00194
00195 #endif
00196
00197