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

Method domainChanged

SRC/analysis/integrator/Newmark.cpp:326–457  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

324
325
326int Newmark::domainChanged()
327{
328 AnalysisModel *myModel = this->getAnalysisModel();
329 LinearSOE *theLinSOE = this->getLinearSOE();
330 const Vector &x = theLinSOE->getX();
331 int size = x.Size();
332
333
334 // create the new Vector objects
335 if (Ut == 0 || Ut->Size() != size) {
336
337 // delete the old
338 if (Ut != 0)
339 delete Ut;
340 if (Utdot != 0)
341 delete Utdot;
342 if (Utdotdot != 0)
343 delete Utdotdot;
344 if (U != 0)
345 delete U;
346 if (Udot != 0)
347 delete Udot;
348 if (Udotdot != 0)
349 delete Udotdot;
350
351 // create the new
352 Ut = new Vector(size);
353 Utdot = new Vector(size);
354 Utdotdot = new Vector(size);
355 U = new Vector(size);
356 Udot = new Vector(size);
357 Udotdot = new Vector(size);
358 dUn.resize(size); dUn.Zero();
359 dVn.resize(size); dVn.Zero();
360 dAn.resize(size); dAn.Zero();
361
362 // check we obtained the new
363 if (Ut == 0 || Ut->Size() != size ||
364 Utdot == 0 || Utdot->Size() != size ||
365 Utdotdot == 0 || Utdotdot->Size() != size ||
366 U == 0 || U->Size() != size ||
367 Udot == 0 || Udot->Size() != size ||
368 Udotdot == 0 || Udotdot->Size() != size) {
369
370 opserr << "Newmark::domainChanged - ran out of memory\n";
371
372 // delete the old
373 if (Ut != 0)
374 delete Ut;
375 if (Utdot != 0)
376 delete Utdot;
377 if (Utdotdot != 0)
378 delete Utdotdot;
379 if (U != 0)
380 delete U;
381 if (Udot != 0)
382 delete Udot;
383 if (Udotdot != 0)

Callers

nothing calls this directly

Calls 10

getIDMethod · 0.80
getAnalysisModelMethod · 0.45
getLinearSOEMethod · 0.45
getXMethod · 0.45
SizeMethod · 0.45
resizeMethod · 0.45
ZeroMethod · 0.45
getDispSensitivityMethod · 0.45
getVelSensitivityMethod · 0.45
getAccSensitivityMethod · 0.45

Tested by

no test coverage detected