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

Method update

SRC/element/forceBeamColumn/ForceBeamColumn2d.cpp:1234–1610  ·  view source on GitHub ↗

NEWTON , SUBDIVIDE AND INITIAL ITERATIONS ******************** */

Source from the content-addressed store, hash-verified

1232/********* NEWTON , SUBDIVIDE AND INITIAL ITERATIONS ********************
1233 */
1234int
1235ForceBeamColumn2d::update()
1236{
1237 // if have completed a recvSelf() - do a revertToLastCommit
1238 // to get Ssr, etc. set correctly
1239 if (initialFlag == 2)
1240 this->revertToLastCommit();
1241
1242 // update the transformation
1243 crdTransf->update();
1244
1245 // get basic displacements and increments
1246 const Vector &v = crdTransf->getBasicTrialDisp();
1247
1248 static Vector dv(NEBD);
1249
1250 dv = crdTransf->getBasicIncrDeltaDisp();
1251
1252 if (initialFlag != 0 && dv.Norm() <= DBL_EPSILON && numEleLoads == 0)
1253 return 0;
1254
1255 static Vector vin(NEBD);
1256 vin = v;
1257 vin -= dv;
1258
1259 double L = crdTransf->getInitialLength();
1260 double oneOverL = 1.0/L;
1261
1262 double xi[maxNumSections];
1263 beamIntegr->getSectionLocations(numSections, L, xi);
1264
1265 double wt[maxNumSections];
1266 beamIntegr->getSectionWeights(numSections, L, wt);
1267
1268 static Vector vr(NEBD); // element residual displacements
1269 static Matrix f(NEBD,NEBD); // element flexibility matrix
1270
1271 static Matrix I(NEBD,NEBD); // an identity matrix for matrix inverse
1272 double dW; // section strain energy (work) norm
1273 int i, j;
1274
1275 I.Zero();
1276 for (i=0; i<NEBD; i++)
1277 I(i,i) = 1.0;
1278
1279 int numSubdivide = 1;
1280 bool converged = false;
1281 static Vector dSe(NEBD);
1282 static Vector dvToDo(NEBD);
1283 static Vector dvTrial(NEBD);
1284 static Vector SeTrial(NEBD);
1285 static Matrix kvTrial(NEBD, NEBD);
1286
1287 dvToDo = dv;
1288 dvTrial = dvToDo;
1289
1290 //static double factor = 10;
1291 double factor = subdivideFactor;

Callers 1

Calls 15

revertToLastCommitMethod · 0.95
computeSectionForcesMethod · 0.95
getBasicTrialDispMethod · 0.80
NormMethod · 0.45
getInitialLengthMethod · 0.45
getSectionLocationsMethod · 0.45
getSectionWeightsMethod · 0.45
ZeroMethod · 0.45
addMatrixVectorMethod · 0.45
getOrderMethod · 0.45
getTypeMethod · 0.45
setDataMethod · 0.45

Tested by

no test coverage detected