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

Method getNld_hat

SRC/element/mixedBeamColumn/MixedBeamColumn2d.cpp:1590–1618  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1588}
1589
1590Matrix MixedBeamColumn2d::getNld_hat(int sec, const Vector &v, double L, bool geomLinear) {
1591 double xi[MAX_NUM_SECTIONS];
1592 beamIntegr->getSectionLocations(numSections, L, xi);
1593
1594 double x, C, E, F;
1595
1596 x = L*xi[sec];
1597 C = 1/L;
1598 E = -4/L + 6*x/(L*L);
1599 F = -2/L + 6*x/(L*L);
1600
1601 theSectionNaturalMatrix.Zero();
1602 if (geomLinear) {
1603 theSectionNaturalMatrix(0,0) = C;
1604 theSectionNaturalMatrix(1,1) = E;
1605 theSectionNaturalMatrix(1,2) = F;
1606 } else {
1607 double A,B;
1608 A = 1 - 4 * ( x / L ) + 3 * pow ( ( x / L ) , 2 );
1609 B = - 2 * ( x / L ) + 3 * pow ( ( x / L ) , 2 );
1610 theSectionNaturalMatrix(0,0) = C + C*C*v(0);
1611 theSectionNaturalMatrix(0,1) = A*A*v(1) + A*B*v(2);
1612 theSectionNaturalMatrix(0,2) = A*B*v(1) + B*B*v(2);
1613 theSectionNaturalMatrix(1,1) = E;
1614 theSectionNaturalMatrix(1,2) = F;
1615 }
1616
1617 return theSectionNaturalMatrix;
1618}
1619
1620Matrix
1621MixedBeamColumn2d::getNd2(int sec, double P, double L){

Callers 2

revertToStartMethod · 0.95
updateMethod · 0.95

Calls 2

getSectionLocationsMethod · 0.45
ZeroMethod · 0.45

Tested by

no test coverage detected