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

Method getResponseSensitivity

SRC/element/forceBeamColumn/ForceBeamColumn3d.cpp:3693–3857  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3691}
3692
3693int
3694ForceBeamColumn3d::getResponseSensitivity(int responseID, int gradNumber,
3695 Information &eleInfo)
3696{
3697 // Basic deformation sensitivity
3698 if (responseID == 3) {
3699 const Vector &dvdh = crdTransf->getBasicDisplSensitivity(gradNumber);
3700 return eleInfo.setVector(dvdh);
3701 }
3702
3703 // Basic force sensitivity
3704 else if (responseID == 7) {
3705 static Vector dqdh(6);
3706
3707 const Vector &dvdh = crdTransf->getBasicDisplSensitivity(gradNumber);
3708
3709 dqdh.addMatrixVector(0.0, kv, dvdh, 1.0);
3710
3711 dqdh.addVector(1.0, this->computedqdh(gradNumber), 1.0);
3712 //opserr << "FBC2d: " << gradNumber;
3713
3714 return eleInfo.setVector(dqdh);
3715 }
3716
3717 // dsdh
3718 else if (responseID == 76) {
3719
3720 int sectionNum = eleInfo.theInt;
3721 int order = sections[sectionNum-1]->getOrder();
3722
3723 Vector dsdh(order);
3724 dsdh.Zero();
3725
3726 if (numEleLoads > 0) {
3727 this->computeSectionForceSensitivity(dsdh, sectionNum-1, gradNumber);
3728 }
3729 //opserr << "FBC3d::getRespSens dspdh: " << dsdh;
3730 static Vector dqdh(6);
3731
3732 const Vector &dvdh = crdTransf->getBasicDisplSensitivity(gradNumber);
3733
3734 dqdh.addMatrixVector(0.0, kv, dvdh, 1.0);
3735
3736 dqdh.addVector(1.0, this->computedqdh(gradNumber), 1.0);
3737
3738 //opserr << "FBC3d::getRespSens dqdh: " << dqdh;
3739
3740 double L = crdTransf->getInitialLength();
3741 double oneOverL = 1.0/L;
3742 double pts[maxNumSections];
3743 beamIntegr->getSectionLocations(numSections, L, pts);
3744
3745 const ID &code = sections[sectionNum-1]->getType();
3746
3747 double xL = pts[sectionNum-1];
3748 double xL1 = xL-1.0;
3749
3750 for (int ii = 0; ii < order; ii++) {

Callers

nothing calls this directly

Calls 14

getInitialFlexibilityMethod · 0.95
setVectorMethod · 0.45
addMatrixVectorMethod · 0.45
addVectorMethod · 0.45
getOrderMethod · 0.45
ZeroMethod · 0.45
getInitialLengthMethod · 0.45
getSectionLocationsMethod · 0.45
getTypeMethod · 0.45
getdLdhMethod · 0.45
getd1overLdhMethod · 0.45

Tested by

no test coverage detected