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

Method update

SRC/element/forceBeamColumn/ForceBeamColumn3d.cpp:953–1416  ·  view source on GitHub ↗

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

Source from the content-addressed store, hash-verified

951 /********* NEWTON , SUBDIVIDE AND INITIAL ITERATIONS ********************
952 */
953 int
954 ForceBeamColumn3d::update()
955 {
956 // if have completed a recvSelf() - do a revertToLastCommit
957 // to get Ssr, etc. set correctly
958 if (initialFlag == 2)
959 this->revertToLastCommit();
960
961 // update the transformation
962 crdTransf->update();
963
964 // get basic displacements and increments
965 const Vector &v = crdTransf->getBasicTrialDisp();
966
967 static Vector dv(NEBD);
968 dv = crdTransf->getBasicIncrDeltaDisp();
969
970 if (initialFlag != 0 && dv.Norm() <= DBL_EPSILON && numEleLoads == 0)
971 return 0;
972
973 static Vector vin(NEBD);
974 vin = v;
975 vin -= dv;
976 double L = crdTransf->getInitialLength();
977 double oneOverL = 1.0/L;
978
979 double xi[maxNumSections];
980 beamIntegr->getSectionLocations(numSections, L, xi);
981
982 double wt[maxNumSections];
983 beamIntegr->getSectionWeights(numSections, L, wt);
984
985 static Vector vr(NEBD); // element residual displacements
986 static Matrix f(NEBD,NEBD); // element flexibility matrix
987
988 static Matrix I(NEBD,NEBD); // an identity matrix for matrix inverse
989 double dW; // section strain energy (work) norm
990 int i, j;
991
992 I.Zero();
993 for (i=0; i<NEBD; i++)
994 I(i,i) = 1.0;
995
996 int numSubdivide = 1;
997 bool converged = false;
998 static Vector dSe(NEBD);
999 static Vector dvToDo(NEBD);
1000 static Vector dvTrial(NEBD);
1001 static Vector SeTrial(NEBD);
1002 static Matrix kvTrial(NEBD, NEBD);
1003
1004 dvToDo = dv;
1005 dvTrial = dvToDo;
1006
1007 //static double factor = 10;
1008 double factor = subdivideFactor;
1009 double dW0 = 0.0;
1010

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