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

Method getResponse

SRC/element/forceBeamColumn/ForceBeamColumnCBDI3d.cpp:3583–3835  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3581}
3582
3583int
3584ForceBeamColumnCBDI3d::getResponse(int responseID, Information &eleInfo)
3585{
3586 static Vector vp(6);
3587 static Matrix fe(6,6);
3588
3589 if (responseID == 1)
3590 return eleInfo.setVector(this->getResistingForce());
3591
3592 else if (responseID == 2) {
3593 double p0[6];
3594 p0[0] = 0.0; p0[1] = 0.0; p0[2] = 0.0;
3595 p0[3] = 0.0; p0[4] = 0.0; p0[5] = 0.0;
3596 if (numEleLoads > 0)
3597 this->computeReactions(p0);
3598 theVector(3) = Se(0);
3599 theVector(0) = -Se(0)+p0[0];
3600 theVector(2) = Se(1);
3601 theVector(5) = Se(2);
3602 double V = (Se(1)+Se(2))/crdTransf->getInitialLength();
3603 theVector(1) = V+p0[1];
3604 theVector(4) = -V+p0[2];
3605 return eleInfo.setVector(theVector);
3606 }
3607
3608 else if (responseID == 7) {
3609 return eleInfo.setVector(Se);
3610 }
3611
3612 else if (responseID == 19) {
3613 return eleInfo.setMatrix(kv);
3614 }
3615
3616 // Chord rotation
3617 else if (responseID == 3) {
3618 vp = crdTransf->getBasicTrialDisp();
3619 return eleInfo.setVector(vp);
3620 }
3621
3622 // Plastic rotation
3623 else if (responseID == 4) {
3624 this->getInitialFlexibility(fe);
3625 vp = crdTransf->getBasicTrialDisp();
3626 vp.addMatrixVector(1.0, fe, Se, -1.0);
3627 static Vector v0(6);
3628 this->getInitialDeformations(v0);
3629 vp.addVector(1.0, v0, -1.0);
3630 return eleInfo.setVector(vp);
3631 }
3632
3633 // Point of inflection
3634 else if (responseID == 5) {
3635 double LI = 0.0;
3636
3637 if (fabs(Se(1)+Se(2)) > DBL_EPSILON) {
3638 double L = crdTransf->getInitialLength();
3639
3640 LI = Se(1)/(Se(1)+Se(2))*L;

Callers

nothing calls this directly

Calls 15

computeReactionsMethod · 0.95
getInitialFlexibilityMethod · 0.95
getCBDIinfluenceMatrixFunction · 0.85
getResistingForceMethod · 0.80
getBasicTrialDispMethod · 0.80
typeEnum · 0.50
setVectorMethod · 0.45
getInitialLengthMethod · 0.45
setMatrixMethod · 0.45
addMatrixVectorMethod · 0.45
addVectorMethod · 0.45

Tested by

no test coverage detected