HexBeamCR.hpp

00001 /*--------------------------------------------------------------------*/
00002 /*    Copyright 2005 Sandia Corporation.                              */
00003 /*    Under the terms of Contract DE-AC04-94AL85000, there is a       */
00004 /*    non-exclusive license for use of this work by or on behalf      */
00005 /*    of the U.S. Government.  Export of this program may require     */
00006 /*    a license from the United States Government.                    */
00007 /*--------------------------------------------------------------------*/
00008 
00009 #ifndef _HexBeamCR_hpp_
00010 #define _HexBeamCR_hpp_
00011 
00012 #include "fei_macros.hpp"
00013 
00014 #include "test_utils/HexBeam.hpp"
00015 
00033 class HexBeamCR : public HexBeam {
00034  public:
00035   enum { OneD = 0, TwoD = 1, ThreeD = 2 };
00036 
00037   HexBeamCR(int W, int D, int DofPerNode,
00038     int decomp, int numProcs, int localProc);
00039   virtual ~HexBeamCR();
00040 
00041   int getElemConnectivity(int elemID, int* nodeIDs);
00042 
00043   int getElemStiffnessMatrix(int elemID, double* elemMat);
00044 
00045   int getElemLoadVector(int elemID, double* elemVec);
00046 
00047   int getNumBCNodes();
00048 
00049   int getBCNodes(int numNodes, int* nodeIDs);
00050 
00051   int getBCGammaValues(int numBCDofs, double* gamma);
00052 
00053   int getNumSharedNodes();
00054 
00055   int getSharedNodes(int numSharedNodes,
00056          int*& sharedNodes,
00057          int*& numSharingProcsPerNode,
00058          int**& sharingProcs);
00059 
00060   int getNumCRs() { return( numLocalCRs_ ); }
00061 
00062   int getNumNodesPerCR(){ return( numNodesPerCR_ ); }
00063 
00064   int getCRNodes(int** nodeIDs);
00065 
00066   int numLocalCRs_;
00067   int numNodesPerCR_;
00068 
00069   int firstLocalSlice_;
00070   int localCRslice_;
00071 };
00072 
00073 #endif // _HexBeamCR_hpp_

Generated on Wed May 12 21:30:42 2010 for FEI by  doxygen 1.4.7