| 637 | } |
| 638 | |
| 639 | int |
| 640 | EmbeddedBeamInterfaceP::update(void) |
| 641 | { |
| 642 | Vector sDisp(3 * m_numSolidNodes), bDisp(6 * m_numBeamNodes); |
| 643 | for (int ii = 0; ii < m_numSolidNodes; ii++) |
| 644 | { |
| 645 | Vector sDispCur = theNodes[ii]->getTrialDisp(); |
| 646 | sDisp(3 * ii ) = sDispCur(0) - m_solidInitDisp(ii * 3 + 0); |
| 647 | sDisp(3 * ii + 1) = sDispCur(1) - m_solidInitDisp(ii * 3 + 1); |
| 648 | sDisp(3 * ii + 2) = sDispCur(2) - m_solidInitDisp(ii * 3 + 2); |
| 649 | } |
| 650 | |
| 651 | for (int ii = 0; ii < m_numBeamNodes; ii++) |
| 652 | { |
| 653 | Vector bDispCur = theNodes[m_numSolidNodes + ii]->getTrialDisp(); |
| 654 | for (int jj = 0; jj < 6; jj++) |
| 655 | bDisp(6 * ii + jj) = bDispCur(jj); |
| 656 | // bDisp(6 * ii + jj) = bDispCur(jj) - m_beamInitDisp(ii * 6 + jj); |
| 657 | } |
| 658 | |
| 659 | m_Lambda.Zero(); |
| 660 | m_Lambda.addMatrixTransposeVector(1.0, mA, sDisp, 1.0); |
| 661 | m_Lambda.addMatrixTransposeVector(1.0, mB, bDisp, -1.0); |
| 662 | m_Lambda *= m_ep; |
| 663 | |
| 664 | return 0; |
| 665 | } |
| 666 | |
| 667 | int |
| 668 | EmbeddedBeamInterfaceP::commitState(void) |
nothing calls this directly
no test coverage detected