FEI Package Browser (Single Doxygen Collection)
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
test_utils
HexBeam.hpp
Go to the documentation of this file.
1
/*--------------------------------------------------------------------*/
2
/* Copyright 2005 Sandia Corporation. */
3
/* Under the terms of Contract DE-AC04-94AL85000, there is a */
4
/* non-exclusive license for use of this work by or on behalf */
5
/* of the U.S. Government. Export of this program may require */
6
/* a license from the United States Government. */
7
/*--------------------------------------------------------------------*/
8
9
#ifndef _HexBeam_h_
10
#define _HexBeam_h_
11
12
#include <
fei_base.hpp
>
13
24
class
HexBeam
{
25
public
:
26
enum
{
OneD
= 0,
TwoD
= 1,
ThreeD
= 2 };
27
28
HexBeam
(
int
W,
int
D,
int
DofPerNode,
29
int
decomp,
int
numProcs,
int
localProc);
30
virtual
~HexBeam
();
31
32
virtual
bool
inErrorState
() {
return
(
inErrorState_
); }
33
34
virtual
int
numNodesPerElem
() {
return
(
nodesPerElem_
); }
35
36
virtual
int
numDofPerNode
() {
return
(
dofPerNode_
); }
37
38
virtual
int
numLocalElems
() {
return
(
localNumElems_
); }
39
40
virtual
int
numLocalNodes
() {
return
(
localNumNodes_
); }
41
42
virtual
int
firstLocalElem
() {
return
(
firstLocalElem_
); }
43
44
virtual
int
getElemConnectivity
(
int
elemID,
int
* nodeIDs);
45
46
virtual
int
getElemStiffnessMatrix
(
int
elemID,
double
* elemMat);
47
48
virtual
int
getElemLoadVector
(
int
elemID,
double
* elemVec);
49
50
virtual
int
getNumBCNodes
();
51
52
virtual
int
getBCNodes
(
int
numNodes,
int
* nodeIDs);
53
54
virtual
int
getBCValues
(
int
numBCNodes,
int
* offsetsIntoField,
double
* vals);
55
56
virtual
int
getNumSharedNodes
();
57
58
virtual
int
getSharedNodes
(
int
numSharedNodes,
59
int
*&
sharedNodes
,
60
int
*& numSharingProcsPerNode,
61
int
**& sharingProcs);
62
63
virtual
int
getNumCRs
() {
return
( 0 ); }
64
65
virtual
int
getNumNodesPerCR
() {
return
( 0 ); }
66
67
virtual
int
getCRNodes
(
int
** nodeIDs) { (void)nodeIDs;
return
(0); }
68
69
int
W_
;
70
int
D_
;
71
int
decomp_
;
72
int
numProcs_
;
73
int
localProc_
;
74
75
int
totalNumElems_
;
76
int
totalNumNodes_
;
77
int
localNumElems_
;
78
int
localNumNodes_
;
79
int
firstLocalElem_
;
80
int
firstLocalNode_
;
81
82
int
numElemsPerSlice_
;
83
int
numNodesPerSlice_
;
84
int
numLocalSlices_
;
85
86
bool
inErrorState_
;
87
88
int
nodesPerElem_
;
89
int
dofPerNode_
;
90
91
int
numLocalDOF_
;
92
int
numGlobalDOF_
;
93
};
94
95
namespace
HexBeam_Functions
{
96
97
int
init_elem_connectivities
(
FEI
*
fei
,
HexBeam
& hexcube);
98
99
int
init_shared_nodes
(
FEI
*
fei
,
HexBeam
& hexcube);
100
101
int
init_constraints
(
FEI
*
fei
,
HexBeam
& hexcube,
int
& firstLocalCRID);
102
103
int
load_elem_data
(
FEI
*
fei
,
HexBeam
& hexcube);
104
105
int
load_constraints
(
FEI
*
fei
,
HexBeam
& hexcube,
int
firstLocalCRID);
106
107
int
load_BC_data
(
FEI
*
fei
,
HexBeam
& hexcube);
108
109
int
print_cube_data
(
HexBeam
& hexcube,
int
numProcs,
int
localProc);
110
111
112
int
init_elem_connectivities
(
fei::MatrixGraph
* matrixGraph,
HexBeam
& hexcube);
113
114
int
init_shared_nodes
(
fei::MatrixGraph
* matrixGraph,
HexBeam
& hexcube);
115
116
int
init_constraints
(
fei::MatrixGraph
* matrixGraph,
HexBeam
& hexcube,
117
int
localProc,
int
& firstLocalCRID);
118
119
int
init_slave_constraints
(
fei::MatrixGraph
* matrixGraph,
HexBeam
& hexcube);
120
121
int
load_elem_data
(
fei::MatrixGraph
* matrixGraph,
122
fei::Matrix
* mat,
123
fei::Vector
* rhs,
124
HexBeam
& hexcube);
125
126
int
load_constraints
(
fei::LinearSystem
* linSys,
HexBeam
& hexcube,
127
int
firstLocalCRID);
128
129
int
load_BC_data
(
fei::LinearSystem
* linSys,
HexBeam
& hexcube);
130
131
}
//namespace HexBeam_Functions
132
133
#endif
// _HexBeam_h_
FEI
Definition
FEI.hpp:144
HexBeam
Definition
HexBeam.hpp:24
HexBeam::localNumNodes_
int localNumNodes_
Definition
HexBeam.hpp:78
HexBeam::getNumBCNodes
virtual int getNumBCNodes()
Definition
HexBeam.cpp:162
HexBeam::HexBeam
HexBeam(int W, int D, int DofPerNode, int decomp, int numProcs, int localProc)
Definition
HexBeam.cpp:16
HexBeam::numLocalSlices_
int numLocalSlices_
Definition
HexBeam.hpp:84
HexBeam::getNumSharedNodes
virtual int getNumSharedNodes()
Definition
HexBeam.cpp:197
HexBeam::numNodesPerElem
virtual int numNodesPerElem()
Definition
HexBeam.hpp:34
HexBeam::W_
int W_
Definition
HexBeam.hpp:69
HexBeam::numDofPerNode
virtual int numDofPerNode()
Definition
HexBeam.hpp:36
HexBeam::totalNumNodes_
int totalNumNodes_
Definition
HexBeam.hpp:76
HexBeam::getElemLoadVector
virtual int getElemLoadVector(int elemID, double *elemVec)
Definition
HexBeam.cpp:148
HexBeam::getSharedNodes
virtual int getSharedNodes(int numSharedNodes, int *&sharedNodes, int *&numSharingProcsPerNode, int **&sharingProcs)
Definition
HexBeam.cpp:209
HexBeam::firstLocalNode_
int firstLocalNode_
Definition
HexBeam.hpp:80
HexBeam::numLocalDOF_
int numLocalDOF_
Definition
HexBeam.hpp:91
HexBeam::totalNumElems_
int totalNumElems_
Definition
HexBeam.hpp:75
HexBeam::D_
int D_
Definition
HexBeam.hpp:70
HexBeam::dofPerNode_
int dofPerNode_
Definition
HexBeam.hpp:89
HexBeam::localProc_
int localProc_
Definition
HexBeam.hpp:73
HexBeam::~HexBeam
virtual ~HexBeam()
Definition
HexBeam.cpp:72
HexBeam::nodesPerElem_
int nodesPerElem_
Definition
HexBeam.hpp:88
HexBeam::numNodesPerSlice_
int numNodesPerSlice_
Definition
HexBeam.hpp:83
HexBeam::getElemStiffnessMatrix
virtual int getElemStiffnessMatrix(int elemID, double *elemMat)
Definition
HexBeam.cpp:102
HexBeam::getNumNodesPerCR
virtual int getNumNodesPerCR()
Definition
HexBeam.hpp:65
HexBeam::numLocalElems
virtual int numLocalElems()
Definition
HexBeam.hpp:38
HexBeam::decomp_
int decomp_
Definition
HexBeam.hpp:71
HexBeam::inErrorState_
bool inErrorState_
Definition
HexBeam.hpp:86
HexBeam::getElemConnectivity
virtual int getElemConnectivity(int elemID, int *nodeIDs)
Definition
HexBeam.cpp:76
HexBeam::firstLocalElem_
int firstLocalElem_
Definition
HexBeam.hpp:79
HexBeam::ThreeD
@ ThreeD
Definition
HexBeam.hpp:26
HexBeam::TwoD
@ TwoD
Definition
HexBeam.hpp:26
HexBeam::OneD
@ OneD
Definition
HexBeam.hpp:26
HexBeam::getNumCRs
virtual int getNumCRs()
Definition
HexBeam.hpp:63
HexBeam::numProcs_
int numProcs_
Definition
HexBeam.hpp:72
HexBeam::getCRNodes
virtual int getCRNodes(int **nodeIDs)
Definition
HexBeam.hpp:67
HexBeam::numElemsPerSlice_
int numElemsPerSlice_
Definition
HexBeam.hpp:82
HexBeam::firstLocalElem
virtual int firstLocalElem()
Definition
HexBeam.hpp:42
HexBeam::getBCValues
virtual int getBCValues(int numBCNodes, int *offsetsIntoField, double *vals)
Definition
HexBeam.cpp:183
HexBeam::inErrorState
virtual bool inErrorState()
Definition
HexBeam.hpp:32
HexBeam::getBCNodes
virtual int getBCNodes(int numNodes, int *nodeIDs)
Definition
HexBeam.cpp:168
HexBeam::numLocalNodes
virtual int numLocalNodes()
Definition
HexBeam.hpp:40
HexBeam::localNumElems_
int localNumElems_
Definition
HexBeam.hpp:77
HexBeam::numGlobalDOF_
int numGlobalDOF_
Definition
HexBeam.hpp:92
fei::LinearSystem
Definition
fei_LinearSystem.hpp:26
fei::MatrixGraph
Definition
fei_MatrixGraph.hpp:33
fei::Matrix
Definition
fei_Matrix.hpp:30
fei::Vector
Definition
fei_Vector.hpp:57
sharedNodes
Definition
driverData.hpp:109
fei_base.hpp
HexBeam_Functions
Definition
HexBeam.cpp:256
HexBeam_Functions::init_elem_connectivities
int init_elem_connectivities(FEI *fei, HexBeam &hexcube)
Definition
HexBeam.cpp:280
HexBeam_Functions::load_elem_data
int load_elem_data(FEI *fei, HexBeam &hexcube)
Definition
HexBeam.cpp:440
HexBeam_Functions::init_constraints
int init_constraints(FEI *fei, HexBeam &hexcube, int &firstLocalCRID)
Definition
HexBeam.cpp:355
HexBeam_Functions::load_constraints
int load_constraints(FEI *fei, HexBeam &hexcube, int firstLocalCRID)
Definition
HexBeam.cpp:397
HexBeam_Functions::load_BC_data
int load_BC_data(FEI *fei, HexBeam &hexcube)
Definition
HexBeam.cpp:484
HexBeam_Functions::init_slave_constraints
int init_slave_constraints(fei::MatrixGraph *matrixGraph, HexBeam &hexcube)
Definition
HexBeam.cpp:636
HexBeam_Functions::print_cube_data
int print_cube_data(HexBeam &hexcube, int numProcs, int localProc)
Definition
HexBeam.cpp:258
HexBeam_Functions::init_shared_nodes
int init_shared_nodes(FEI *fei, HexBeam &hexcube)
Definition
HexBeam.cpp:328
fei
Definition
fei_ArrayUtils.hpp:16
Generated by
1.17.0