FEI Package Browser (Single Doxygen Collection)
Version of the Day
|
#include <HexBeamCR.hpp>
Public Types | |
enum | { OneD = 0, TwoD = 1, ThreeD = 2 } |
Public Types inherited from HexBeam | |
enum | { OneD = 0, TwoD = 1, ThreeD = 2 } |
Public Member Functions | |
HexBeamCR (int W, int D, int DofPerNode, int decomp, int numProcs, int localProc) | |
virtual | ~HexBeamCR () |
int | getElemConnectivity (int elemID, int *nodeIDs) |
int | getElemStiffnessMatrix (int elemID, double *elemMat) |
int | getElemLoadVector (int elemID, double *elemVec) |
int | getNumBCNodes () |
int | getBCNodes (int numNodes, int *nodeIDs) |
int | getBCGammaValues (int numBCDofs, double *gamma) |
int | getNumSharedNodes () |
int | getSharedNodes (int numSharedNodes, int *&sharedNodes, int *&numSharingProcsPerNode, int **&sharingProcs) |
int | getNumCRs () |
int | getNumNodesPerCR () |
int | getCRNodes (int **nodeIDs) |
Public Member Functions inherited from HexBeam | |
HexBeam (int W, int D, int DofPerNode, int decomp, int numProcs, int localProc) | |
virtual | ~HexBeam () |
virtual bool | inErrorState () |
virtual int | numNodesPerElem () |
virtual int | numDofPerNode () |
virtual int | numLocalElems () |
virtual int | numLocalNodes () |
virtual int | firstLocalElem () |
virtual int | getBCValues (int numBCNodes, int *offsetsIntoField, double *vals) |
Public Attributes | |
int | numLocalCRs_ |
int | numNodesPerCR_ |
int | firstLocalSlice_ |
int | localCRslice_ |
Public Attributes inherited from HexBeam | |
int | W_ |
int | D_ |
int | decomp_ |
int | numProcs_ |
int | localProc_ |
int | totalNumElems_ |
int | totalNumNodes_ |
int | localNumElems_ |
int | localNumNodes_ |
int | firstLocalElem_ |
int | firstLocalNode_ |
int | numElemsPerSlice_ |
int | numNodesPerSlice_ |
int | numLocalSlices_ |
bool | inErrorState_ |
int | nodesPerElem_ |
int | dofPerNode_ |
int | numLocalDOF_ |
int | numGlobalDOF_ |
HexBeamCR is a data generator used for testing the FEI. It generates data that represents a beam of hex elements. More precisely, it's a cube that can be elongated in one dimension, forming an arbitrarily long 3D beam. The dimensions of the beam are WxWxD. In parallel runs, the beam is divided such that each processor has roughly D/numprocs "slices" each with WxW elements.
HexBeamCR is the same as HexBeam, except that when slices are made to form a parallel decomposition, the slices are bound together using constraint-relations. i.e., the slices that are separated by processor boundaries do not share common nodes as they do in the case of HexBeam. Instead the opposing faces have distinct (non-shared) nodes which are tied together by the constraints. In addition, HexBeamCR has a constraint-bound slice in the middle of each processor's partition so that there are constraints even in the case of a serial run on a single processor.
Definition at line 33 of file HexBeamCR.hpp.
anonymous enum |
Enumerator | |
---|---|
OneD | |
TwoD | |
ThreeD |
Definition at line 35 of file HexBeamCR.hpp.
HexBeamCR::HexBeamCR | ( | int | W, |
int | D, | ||
int | DofPerNode, | ||
int | decomp, | ||
int | numProcs, | ||
int | localProc | ||
) |
Definition at line 13 of file HexBeamCR.cpp.
References fei::console_out(), HexBeam::dofPerNode_, FEI_ENDL, HexBeam::firstLocalElem_, HexBeam::firstLocalNode_, firstLocalSlice_, HexBeam::inErrorState_, localCRslice_, HexBeam::localNumElems_, HexBeam::localNumNodes_, HexBeam::localProc_, HexBeam::numElemsPerSlice_, HexBeam::numGlobalDOF_, numLocalCRs_, HexBeam::numLocalDOF_, HexBeam::numLocalSlices_, numNodesPerCR_, HexBeam::numNodesPerSlice_, fei::numProcs(), HexBeam::numProcs_, OneD, ThreeD, HexBeam::totalNumElems_, HexBeam::totalNumNodes_, and TwoD.
|
virtual |
Definition at line 73 of file HexBeamCR.cpp.
|
virtual |
Reimplemented from HexBeam.
Definition at line 77 of file HexBeamCR.cpp.
References HexBeam::firstLocalElem_, localCRslice_, HexBeam::localNumElems_, HexBeam::localProc_, HexBeam::numElemsPerSlice_, HexBeam::numNodesPerSlice_, and HexBeam::W_.
|
virtual |
Reimplemented from HexBeam.
Definition at line 128 of file HexBeamCR.cpp.
References HexBeam::dofPerNode_, HexBeam::firstLocalElem_, HexBeam::localNumElems_, and HexBeam::nodesPerElem_.
|
virtual |
Reimplemented from HexBeam.
Definition at line 174 of file HexBeamCR.cpp.
References HexBeam::dofPerNode_, HexBeam::firstLocalElem_, HexBeam::localNumElems_, and HexBeam::nodesPerElem_.
|
virtual |
Reimplemented from HexBeam.
Definition at line 188 of file HexBeamCR.cpp.
References HexBeam::numLocalSlices_, and HexBeam::W_.
Referenced by getBCGammaValues(), and getBCNodes().
|
virtual |
Reimplemented from HexBeam.
Definition at line 194 of file HexBeamCR.cpp.
References HexBeam::firstLocalNode_, getNumBCNodes(), and HexBeam::W_.
int HexBeamCR::getBCGammaValues | ( | int | numBCDofs, |
double * | gamma | ||
) |
Definition at line 209 of file HexBeamCR.cpp.
References HexBeam::dofPerNode_, and getNumBCNodes().
|
virtual |
Reimplemented from HexBeam.
Definition at line 222 of file HexBeamCR.cpp.
References HexBeam::localProc_, HexBeam::numNodesPerSlice_, and HexBeam::numProcs_.
Referenced by getSharedNodes().
|
virtual |
Reimplemented from HexBeam.
Definition at line 234 of file HexBeamCR.cpp.
References HexBeam::firstLocalNode_, getNumSharedNodes(), HexBeam::localProc_, HexBeam::numLocalSlices_, HexBeam::numNodesPerSlice_, and HexBeam::numProcs_.
|
inlinevirtual |
|
inlinevirtual |
|
virtual |
Reimplemented from HexBeam.
Definition at line 107 of file HexBeamCR.cpp.
References HexBeam::firstLocalNode_, localCRslice_, HexBeam::localNumNodes_, HexBeam::localProc_, HexBeam::numNodesPerSlice_, and HexBeam::numProcs_.
int HexBeamCR::numLocalCRs_ |
Definition at line 66 of file HexBeamCR.hpp.
Referenced by getNumCRs(), and HexBeamCR().
int HexBeamCR::numNodesPerCR_ |
Definition at line 67 of file HexBeamCR.hpp.
Referenced by getNumNodesPerCR(), and HexBeamCR().
int HexBeamCR::firstLocalSlice_ |
Definition at line 69 of file HexBeamCR.hpp.
Referenced by HexBeamCR().
int HexBeamCR::localCRslice_ |
Definition at line 70 of file HexBeamCR.hpp.
Referenced by getCRNodes(), getElemConnectivity(), and HexBeamCR().