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

Method update

SRC/element/forceBeamColumn/ForceBeamColumnCBDI2d.cpp:726–1195  ·  view source on GitHub ↗

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

Source from the content-addressed store, hash-verified

724/********* NEWTON , SUBDIVIDE AND INITIAL ITERATIONS ********************
725 */
726int
727ForceBeamColumnCBDI2d::update()
728{
729 // if have completed a recvSelf() - do a revertToLastCommit
730 // to get Ssr, etc. set correctly
731 if (initialFlag == 2)
732 this->revertToLastCommit();
733
734 // update the transformation
735 crdTransf->update();
736
737 // get basic displacements and increments
738 const Vector &v = crdTransf->getBasicTrialDisp();
739
740 static Vector dv(NEBD);
741
742 dv = crdTransf->getBasicIncrDeltaDisp();
743
744 if (initialFlag != 0 && dv.Norm() <= DBL_EPSILON && numEleLoads == 0)
745 return 0;
746
747 static Vector vin(NEBD);
748 vin = v;
749 vin -= dv;
750
751 double L = crdTransf->getInitialLength();
752 double oneOverL = 1.0/L;
753
754 double xi[maxNumSections];
755 beamIntegr->getSectionLocations(numSections, L, xi);
756
757 double wt[maxNumSections];
758 beamIntegr->getSectionWeights(numSections, L, wt);
759
760 static Vector vr(NEBD); // element residual displacements
761 static Matrix f(NEBD,NEBD); // element flexibility matrix
762
763 static Matrix I(NEBD,NEBD); // an identity matrix for matrix inverse
764 double dW; // section strain energy (work) norm
765 int i, j;
766
767 I.Zero();
768 for (i=0; i<NEBD; i++)
769 I(i,i) = 1.0;
770
771 int numSubdivide = 1;
772 bool converged = false;
773 static Vector dSe(NEBD);
774 static Vector dvToDo(NEBD);
775 static Vector dvTrial(NEBD);
776 static Vector SeTrial(NEBD);
777 static Matrix kvTrial(NEBD, NEBD);
778
779 dvToDo = dv;
780 dvTrial = dvToDo;
781
782 static double factor = 10;
783

Callers 1

Calls 15

revertToLastCommitMethod · 0.95
getGMethod · 0.95
getHkMethod · 0.95
getHgMethod · 0.95
getHkpMethod · 0.95
getHgpMethod · 0.95
computedwdqMethod · 0.95
getBasicTrialDispMethod · 0.80
NormMethod · 0.45
getInitialLengthMethod · 0.45
getSectionLocationsMethod · 0.45
getSectionWeightsMethod · 0.45

Tested by

no test coverage detected