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

Method commitSensitivity

SRC/element/forceBeamColumn/ForceBeamColumnCBDI3d.cpp:4203–4354  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

4201}
4202
4203int
4204ForceBeamColumnCBDI3d::commitSensitivity(int gradNumber, int numGrads)
4205{
4206 int err = 0;
4207
4208 double L = crdTransf->getInitialLength();
4209 double oneOverL = 1.0/L;
4210
4211 double pts[maxNumSections];
4212 beamIntegr->getSectionLocations(numSections, L, pts);
4213
4214 double wts[maxNumSections];
4215 beamIntegr->getSectionWeights(numSections, L, wts);
4216
4217 double dLdh = crdTransf->getdLdh();
4218
4219 double dptsdh[maxNumSections];
4220 beamIntegr->getLocationsDeriv(numSections, L, dLdh, dptsdh);
4221
4222 double d1oLdh = crdTransf->getd1overLdh();
4223
4224 static Vector dqdh(3);
4225 dqdh = this->computedqdh(gradNumber);
4226
4227 // dvdh = A dudh + dAdh u
4228 const Vector &dvdh = crdTransf->getBasicDisplSensitivity(gradNumber);
4229 dqdh.addMatrixVector(1.0, kv, dvdh, 1.0); // A dudh
4230
4231 if (crdTransf->isShapeSensitivity()) {
4232 //const Vector &dAdh_u = crdTransf->getBasicTrialDispShapeSensitivity();
4233 //dqdh.addMatrixVector(1.0, kv, dAdh_u, 1.0); // dAdh u
4234 }
4235
4236 bool isGamma = false;
4237
4238 Vector kappa(numSections);
4239 Vector gamma(numSections);
4240 for (int i = 0; i < numSections; i++) {
4241 int order = sections[i]->getOrder();
4242 const ID &code = sections[i]->getType();
4243 for (int j = 0; j < order; j++) {
4244 if (code(j) == SECTION_RESPONSE_MZ)
4245 kappa(i) += (vs[i])(j);
4246 if (code(j) == SECTION_RESPONSE_VY) {
4247 gamma(i) += (vs[i])(j);
4248 isGamma = true;
4249 }
4250 }
4251 }
4252 isGamma = CSBDI && isGamma;
4253
4254 double wi[maxNumSections];
4255 Vector w(wi, numSections);
4256 double wpi[maxNumSections];
4257 Vector wp(wpi, numSections);
4258 wp.Zero();
4259 this->computew(w, wp, pts, kappa, gamma);
4260

Callers

nothing calls this directly

Calls 15

computewMethod · 0.95
getGinvMethod · 0.95
getHkMethod · 0.95
getHgMethod · 0.95
getHkpMethod · 0.95
getHgpMethod · 0.95
computedwdqMethod · 0.95
computedwdhMethod · 0.95
getInitialLengthMethod · 0.45
getSectionLocationsMethod · 0.45
getSectionWeightsMethod · 0.45

Tested by

no test coverage detected