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

Method domainChanged

SRC/analysis/integrator/DisplacementControl.cpp:362–556  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

360
361
362int
363DisplacementControl::domainChanged(void)
364{
365 // we first create the Vectors needed
366 //opserr<<" this is the domain change function"<<endln;//Abbas
367 AnalysisModel *theModel = this->getAnalysisModel();
368 LinearSOE *theLinSOE = this->getLinearSOE();
369 if (theModel == 0 || theLinSOE == 0) {
370 opserr << "WARNING DisplacementControl::update() ";
371 opserr << "No AnalysisModel or LinearSOE has been set\n";
372 return -1;
373 }
374 int size = theModel->getNumEqn(); // ask model in case N+1 space
375
376 if (deltaUhat == 0 || deltaUhat->Size() != size) { // create new Vector
377 if (deltaUhat != 0)
378 delete deltaUhat; // delete the old
379 deltaUhat = new Vector(size);
380 if (deltaUhat == 0 || deltaUhat->Size() != size) { // check got it
381 opserr << "FATAL DisplacementControl::domainChanged() - ran out of memory for";
382 opserr << " deltaUhat Vector of size " << size << endln;
383 exit(-1);
384 }
385 }
386
387
388 if (deltaUbar == 0 || deltaUbar->Size() != size) { // create new Vector
389 if (deltaUbar != 0)
390 delete deltaUbar; // delete the old
391 deltaUbar = new Vector(size);
392 if (deltaUbar == 0 || deltaUbar->Size() != size) { // check got it
393 opserr << "FATAL DisplacementControl::domainChanged() - ran out of memory for";
394 opserr << " deltaUbar Vector of size " << size << endln;
395 exit(-1);
396 }
397 }
398
399 if (deltaU == 0 || deltaU->Size() != size) { // create new Vector
400 if (deltaU != 0)
401 delete deltaU; // delete the old
402 deltaU = new Vector(size);
403 if (deltaU == 0 || deltaU->Size() != size) { // check got it
404 opserr << "FATAL DisplacementControl::domainChanged() - ran out of memory for";
405 opserr << " deltaU Vector of size " << size << endln;
406 exit(-1);
407 }
408 }
409
410 if (deltaUstep == 0 || deltaUstep->Size() != size) {
411 if (deltaUstep != 0)
412 delete deltaUstep;
413 deltaUstep = new Vector(size);
414 if (deltaUstep == 0 || deltaUstep->Size() != size) {
415 opserr << "FATAL DisplacementControl::domainChanged() - ran out of memory for";
416 opserr << " deltaUstep Vector of size " << size << endln;
417 exit(-1);
418 }
419 }

Callers

nothing calls this directly

Calls 15

exitFunction · 0.85
getBMethod · 0.80
getIDMethod · 0.80
getAnalysisModelMethod · 0.45
getLinearSOEMethod · 0.45
getNumEqnMethod · 0.45
SizeMethod · 0.45
getDomainPtrMethod · 0.45
getNumParametersMethod · 0.45
getCurrentDomainTimeMethod · 0.45
applyLoadDomainMethod · 0.45
formUnbalanceMethod · 0.45

Tested by

no test coverage detected