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

Method initialize

SRC/element/RockingBC/RockingBC.cpp:452–506  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

450}
451
452int
453RockingBC::initialize(Node *nodeIPointer, Node *nodeJPointer)
454{
455 int error;
456
457 nodeIPtr = nodeIPointer;
458 nodeJPtr = nodeJPointer;
459
460 if ((!nodeIPtr) || (!nodeJPtr))
461 {
462 opserr << "\nRockingBC::initialize";
463 opserr << "\ninvalid pointers to the element nodes\n";
464 return -1;
465 }
466
467 // get element length and orientation
468 if ((error = this->compElemtLengthAndOrient()))
469 return error;
470
471 fr_calc();
472
473 k1 = 1.0 / fr(2, 2);
474 k2 = fr(2, 1) / fr(2, 2);
475 frr(0, 0) = fr(0, 0);
476 frr(1, 1) = fr(1, 1) - fr(1, 2) * fr(2, 1) / fr(2, 2);
477
478 dw1_due = Vector(6); dw1_due(2) = 1.0;
479 dr_due = Vector(6); dr_due(4) = 1.0 / L; dr_due(1) = -1.0 / L;
480 dw2_due = Vector(6); dw2_due(5) = 1.0;
481
482 durth_due = Matrix(2, 6);
483 durth_dW = Matrix(2, Nw);
484
485 CC = Matrix(Nw, 2);
486 for (int i = 0; i != Nw; i++) {
487 CC(i, 0) = 1.0;
488 CC(i, 1) = Yw(i);
489 }
490
491 BB(0, 0) = 1. / b;
492 BB(1, 1) = 1.;
493
494 CB = CC*BB;
495
496 dutar_due = Matrix(2, 6);
497 dutar_dW = Matrix(2, Nw);
498
499 TF1(0, 0) = 1;
500 TF1(1, 1) = b;
501 TF1(2, 1) = -b;
502 TF1(2, 2) = -L;
503 TF = b*w*TF1*E;
504
505 return 0;
506}
507
508int
509RockingBC::compElemtLengthAndOrient(void)

Callers 15

setDomainMethod · 0.95
setDomainMethod · 0.45
setDomainMethod · 0.45
setDomainMethod · 0.45
setDomainMethod · 0.45
setDomainMethod · 0.45
setDomainMethod · 0.45
setDomainMethod · 0.45
setDomainMethod · 0.45
resetMethod · 0.45

Calls 3

VectorClass · 0.50
MatrixClass · 0.50

Tested by

no test coverage detected