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

Method compTransfMatrixBasicGlobal

SRC/coordTransformation/CorotCrdTransf3d.cpp:555–752  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

553
554
555void
556CorotCrdTransf3d::compTransfMatrixBasicGlobal(void)
557{
558 // extract columns of rotation matrices
559 int i, j, k;
560
561 //opserr << "comprTransfMatrixBasicGlobal: *****************************\n";
562 static Vector r1(3), r2(3), r3(3);
563 static Vector e1(3), e2(3), e3(3);
564 static Vector rI1(3), rI2(3), rI3(3);
565 static Vector rJ1(3), rJ2(3), rJ3(3);
566
567 for (k = 0; k < 3; k ++)
568 {
569 r1(k) = Rbar(k,0);
570 r2(k) = Rbar(k,1);
571 r3(k) = Rbar(k,2);
572
573 e1(k) = e(k,0);
574 e2(k) = e(k,1);
575 e3(k) = e(k,2);
576
577 rI1(k) = RI(k,0);
578 rI2(k) = RI(k,1);
579 rI3(k) = RI(k,2);
580
581 rJ1(k) = RJ(k,0);
582 rJ2(k) = RJ(k,1);
583 rJ3(k) = RJ(k,2);
584 }
585
586 // compute the transformation matrix from the basic to the
587 // global system
588 static Matrix I(3,3);
589
590 // A = (1/Ln)*(I - e1*e1');
591 for (i = 0; i < 3; i++)
592 I(i,i) = 1;
593
594 for (i = 0; i < 3; i++)
595 for (j = 0; j < 3; j++)
596 A(i,j) = (I(i,j) - e1(i)*e1(j))/Ln;
597
598 Lr2 = this->getLMatrix (r2);
599 Lr3 = this->getLMatrix (r3);
600
601 static Matrix Sr1(3,3), Sr2(3,3), Sr3(3,3);
602 static Vector Se(3), At(3);
603
604 // T1 = [ O', (-S(rI3)*e2 + S(rI2)*e3)', O', O']';
605 // T2 = [(A*rI2)', (-S(rI2)*e1 + S(rI1)*e2)', -(A*rI2)', O']';
606 // T3 = [(A*rI3)', (-S(rI3)*e1 + S(rI1)*e3)', -(A*rI3)', O']';
607 //
608 // T4 = [ O', O', O', (-S(rJ3)*e2 + S(rJ2)*e3)']';
609 // T5 = [(A*rJ2)', O', -(A*rJ2)', (-S(rJ2)*e1 + S(rJ1)*e2)']';
610 // T6 = [(A*rJ3)', O', -(A*rJ3)', (-S(rJ3)*e1 + S(rJ1)*e3)']';
611
612 T.Zero();

Callers 1

updateMethod · 0.95

Calls 3

getLMatrixMethod · 0.80
ZeroMethod · 0.45
addMatrixVectorMethod · 0.45

Tested by

no test coverage detected