MCPcopy Create free account
hub / github.com/OpenSees/OpenSees / SSPbrick

Method SSPbrick

SRC/element/UWelements/SSPbrick.cpp:110–165  ·  view source on GitHub ↗

full constructor

Source from the content-addressed store, hash-verified

108
109// full constructor
110SSPbrick::SSPbrick(int tag, int Nd1, int Nd2, int Nd3, int Nd4, int Nd5, int Nd6, int Nd7, int Nd8,
111 NDMaterial &theMat, double b1, double b2, double b3)
112 :Element(tag,ELE_TAG_SSPbrick),
113 theMaterial(0),
114 mExternalNodes(SSPB_NUM_NODE),
115 mTangentStiffness(SSPB_NUM_DOF,SSPB_NUM_DOF),
116 mInternalForces(SSPB_NUM_DOF),
117 Q(SSPB_NUM_DOF),
118 mMass(SSPB_NUM_DOF,SSPB_NUM_DOF),
119 mNodeCrd(SSPB_NUM_DIM,SSPB_NUM_NODE),
120 mVol(0),
121 Bnot(6,SSPB_NUM_DOF),
122 Kstab(SSPB_NUM_DOF,SSPB_NUM_DOF),
123 xi(8),
124 et(8),
125 ze(8),
126 hut(8),
127 hus(8),
128 hst(8),
129 hstu(8)
130{
131 mExternalNodes(0) = Nd1;
132 mExternalNodes(1) = Nd2;
133 mExternalNodes(2) = Nd3;
134 mExternalNodes(3) = Nd4;
135 mExternalNodes(4) = Nd5;
136 mExternalNodes(5) = Nd6;
137 mExternalNodes(6) = Nd7;
138 mExternalNodes(7) = Nd8;
139
140 b[0] = b1;
141 b[1] = b2;
142 b[2] = b3;
143
144 applyLoad = 0;
145
146 appliedB[0] = 0.0;
147 appliedB[1] = 0.0;
148 appliedB[2] = 0.0;
149
150 // get copy of the material object
151 NDMaterial *theMatCopy = theMat.getCopy("ThreeDimensional");
152 if (theMatCopy != 0) {
153 theMaterial = (NDMaterial *)theMatCopy;
154 } else {
155 opserr << "SSPbrick::SSPbrick - failed to get copy of material model\n";;
156 }
157
158 // check material
159 if (theMaterial == 0) {
160 opserr << "SSPbrick::SSPbrick - failed to allocate material model pointer\n";
161 exit(-1);
162 }
163
164 mInitialize = true;
165}
166
167// null constructor

Callers

nothing calls this directly

Calls 2

exitFunction · 0.85
getCopyMethod · 0.45

Tested by

no test coverage detected