FEI
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
test_utils
Poisson_Elem.hpp
1
#ifndef __Poisson_Elem_H
2
#define __Poisson_Elem_H
3
4
/*--------------------------------------------------------------------*/
5
/* Copyright 2005 Sandia Corporation. */
6
/* Under the terms of Contract DE-AC04-94AL85000, there is a */
7
/* non-exclusive license for use of this work by or on behalf */
8
/* of the U.S. Government. Export of this program may require */
9
/* a license from the United States Government. */
10
/*--------------------------------------------------------------------*/
11
12
class
Poisson_Elem {
13
14
public
:
15
Poisson_Elem();
16
~Poisson_Elem();
17
18
19
GlobalID getElemID()
const
{
return
globalElemID_;};
20
void
setElemID(GlobalID gNID) {globalElemID_ = gNID;
21
ID_IsSet_ =
true
;};
22
23
int
numElemRows()
const
{
return
numElemRows_;};
24
void
numElemRows(
int
gNERows) {numElemRows_ = gNERows;};
25
26
int
numElemNodes()
const
{
return
numElemNodes_;};
27
void
numElemNodes(
int
gNodes) {numElemNodes_ = gNodes;};
28
29
double
getElemLength()
const
{
return
elemLength_;};
30
void
setElemLength(
double
len) {elemLength_ = len;
31
elemLengthIsSet_ =
true
;};
32
33
double
getTotalLength()
const
{
return
totalLength_;};
34
void
setTotalLength(
double
len) {totalLength_ = len;
35
totalLengthIsSet_ =
true
;};
36
37
int
allocateInternals(
int
DOF);
38
int
allocateLoad(
int
DOF);
39
int
allocateStiffness(
int
DOF);
40
41
GlobalID* getElemConnPtr(
int
& size);
42
43
void
calculateLoad();
44
double
* getElemLoad(
int
& size);
45
46
void
calculateStiffness();
47
double
** getElemStiff(
int
& size);
48
49
double
* getNodalX(
int
& size) {size = numElemNodes_;
return
(nodalX_);};
50
double
* getNodalY(
int
& size) {size = numElemNodes_;
return
(nodalY_);};
51
52
void
calculateCoords();
53
54
void
messageAbort(
const
char
* str);
55
56
void
deleteMemory();
57
58
//$ temporary output for debugging...
59
60
void
dumpToScreen();
61
62
63
private
:
64
GlobalID globalElemID_;
// global ID number for this element
65
bool
ID_IsSet_;
// whether ID has been set or not.
66
int
numElemNodes_;
// number of nodes associated with this element
67
int
numElemRows_;
// number of rows in the element matrices
68
69
GlobalID *nodeList_;
// list of nodes associated with this element
70
double
* nodalX_;
// list of nodal x-coordinates
71
double
* nodalY_;
// list of nodal y-coordinates
72
73
double
**elemStiff_;
// stiffness matrix for this element
74
double
*elemLoad_;
// load vector for this element
75
bool
internalsAllocated_;
76
77
double
elemLength_;
// length of a side of this 2D element
78
double
totalLength_;
// total length of a side of the square region
79
// that this element is in.
80
bool
elemLengthIsSet_;
// indicates whether length has been set.
81
bool
totalLengthIsSet_;
// indicates whether length has been set.
82
83
bool
loadAllocated_;
84
bool
stiffAllocated_;
85
};
86
87
#endif
88
Generated by
1.17.0