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

Method SSPquad

SRC/element/UWelements/SSPquad.cpp:238–285  ·  view source on GitHub ↗

full constructor

Source from the content-addressed store, hash-verified

236
237// full constructor
238SSPquad::SSPquad(int tag, int Nd1, int Nd2, int Nd3, int Nd4, NDMaterial &theMat,
239 const char *type, double thick, double b1, double b2)
240 :Element(tag,ELE_TAG_SSPquad),
241 theMaterial(0),
242 mExternalNodes(SSPQ_NUM_NODE),
243 mTangentStiffness(SSPQ_NUM_DOF,SSPQ_NUM_DOF),
244 mInternalForces(SSPQ_NUM_DOF),
245 Q(SSPQ_NUM_DOF),
246 mMass(SSPQ_NUM_DOF,SSPQ_NUM_DOF),
247 mNodeCrd(2,4),
248 Mmem(3,SSPQ_NUM_DOF),
249 Kstab(SSPQ_NUM_DOF,SSPQ_NUM_DOF),
250 mThickness(thick),
251 applyLoad(0)
252{
253 mExternalNodes(0) = Nd1;
254 mExternalNodes(1) = Nd2;
255 mExternalNodes(2) = Nd3;
256 mExternalNodes(3) = Nd4;
257
258 mThickness = thick;
259
260 b[0] = b1;
261 b[1] = b2;
262
263 appliedB[0] = 0.0;
264 appliedB[1] = 0.0;
265
266 // get copy of the material object
267 NDMaterial *theMatCopy = theMat.getCopy(type);
268 if (theMatCopy != 0) {
269 theMaterial = (NDMaterial *)theMatCopy;
270 } else {
271 opserr << "SSPquad::SSPquad - failed to get copy of material model\n";;
272 }
273
274 // check material
275 if (theMaterial == 0) {
276 opserr << "SSPquad::SSPquad - failed to allocate material model pointer\n";
277 exit(-1);
278 }
279
280 // check the type
281 if (strcmp(type,"PlaneStrain") != 0 && strcmp(type,"PlaneStress") != 0) {
282 opserr << "SSPquad::SSPquad - improper material type: " << type << "for SSPquad\n";
283 exit(-1);
284 }
285}
286
287// null constructor
288SSPquad::SSPquad()

Callers

nothing calls this directly

Calls 2

exitFunction · 0.85
getCopyMethod · 0.45

Tested by

no test coverage detected