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

Method computew

SRC/element/forceBeamColumn/ForceBeamColumnCBDI3d.cpp:2787–2824  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2785}
2786
2787void
2788ForceBeamColumnCBDI3d::computew(Vector &w, Vector &wp, double xi[],
2789 const Vector &kappa, const Vector &gamma)
2790{
2791 double L = crdTransf->getInitialLength();
2792
2793 Matrix ls(numSections, numSections);
2794
2795 Matrix Ginv(numSections, numSections);
2796 this->getGinv(numSections, xi, Ginv);
2797
2798 Matrix H(numSections, numSections);
2799
2800 bool isGamma = false;
2801 for (int i = 0; i < numSections; i++) {
2802 if (gamma(i) != 0.0)
2803 isGamma = true;
2804 }
2805 isGamma = CSBDI && isGamma;
2806
2807 this->getHk(numSections, xi, H);
2808 ls.addMatrixProduct(0.0, H, Ginv, 1.0);
2809 w.addMatrixVector(0.0, ls, kappa, L*L);
2810
2811 if (isGamma) {
2812 this->getHg(numSections, xi, H);
2813 ls.addMatrixProduct(0.0, H, Ginv, 1.0);
2814 w.addMatrixVector(1.0, ls, gamma, L);
2815
2816 this->getHkp(numSections, xi, H);
2817 ls.addMatrixProduct(0.0, H, Ginv, 1.0);
2818 wp.addMatrixVector(0.0, ls, kappa, L);
2819
2820 this->getHgp(numSections, xi, H);
2821 ls.addMatrixProduct(0.0, H, Ginv, 1.0);
2822 wp.addMatrixVector(1.0, ls, gamma, 1.0);
2823 }
2824}
2825
2826void
2827ForceBeamColumnCBDI3d::computedwdq(Matrix &dwidq, const Vector &q,

Callers 3

commitSensitivityMethod · 0.95

Calls 8

getGinvMethod · 0.95
getHkMethod · 0.95
getHgMethod · 0.95
getHkpMethod · 0.95
getHgpMethod · 0.95
getInitialLengthMethod · 0.45
addMatrixProductMethod · 0.45
addMatrixVectorMethod · 0.45

Tested by

no test coverage detected