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

Method computew

SRC/element/forceBeamColumn/ForceBeamColumnCBDI2d.cpp:2406–2443  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2404}
2405
2406void
2407ForceBeamColumnCBDI2d::computew(Vector &w, Vector &wp, double xi[],
2408 const Vector &kappa, const Vector &gamma)
2409{
2410 double L = crdTransf->getInitialLength();
2411
2412 Matrix ls(numSections, numSections);
2413
2414 Matrix Ginv(numSections, numSections);
2415 this->getGinv(numSections, xi, Ginv);
2416
2417 Matrix H(numSections, numSections);
2418
2419 bool isGamma = false;
2420 for (int i = 0; i < numSections; i++) {
2421 if (gamma(i) != 0.0)
2422 isGamma = true;
2423 }
2424 isGamma = CSBDI && isGamma;
2425
2426 this->getHk(numSections, xi, H);
2427 ls.addMatrixProduct(0.0, H, Ginv, 1.0);
2428 w.addMatrixVector(0.0, ls, kappa, L*L);
2429
2430 if (isGamma) {
2431 this->getHg(numSections, xi, H);
2432 ls.addMatrixProduct(0.0, H, Ginv, 1.0);
2433 w.addMatrixVector(1.0, ls, gamma, L);
2434
2435 this->getHkp(numSections, xi, H);
2436 ls.addMatrixProduct(0.0, H, Ginv, 1.0);
2437 wp.addMatrixVector(0.0, ls, kappa, L);
2438
2439 this->getHgp(numSections, xi, H);
2440 ls.addMatrixProduct(0.0, H, Ginv, 1.0);
2441 wp.addMatrixVector(1.0, ls, gamma, 1.0);
2442 }
2443}
2444
2445void
2446ForceBeamColumnCBDI2d::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