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

Method update

SRC/element/forceBeamColumn/ForceBeamColumnCBDI3d.cpp:762–1387  ·  view source on GitHub ↗

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

Source from the content-addressed store, hash-verified

760/********* NEWTON , SUBDIVIDE AND INITIAL ITERATIONS ********************
761 */
762int
763ForceBeamColumnCBDI3d::update()
764{
765 // if have completed a recvSelf() - do a revertToLastCommit
766 // to get Ssr, etc. set correctly
767 if (initialFlag == 2)
768 this->revertToLastCommit();
769
770 // update the transformation
771 crdTransf->update();
772
773 // get basic displacements and increments
774 const Vector &v = crdTransf->getBasicTrialDisp();
775
776 static Vector dv(NEBD);
777
778 dv = crdTransf->getBasicIncrDeltaDisp();
779
780 if (initialFlag != 0 && dv.Norm() <= DBL_EPSILON && numEleLoads == 0)
781 return 0;
782
783 static Vector vin(NEBD);
784 vin = v;
785 vin -= dv;
786
787 double L = crdTransf->getInitialLength();
788 double oneOverL = 1.0/L;
789
790 double xi[maxNumSections];
791 beamIntegr->getSectionLocations(numSections, L, xi);
792
793 double wt[maxNumSections];
794 beamIntegr->getSectionWeights(numSections, L, wt);
795
796 static Vector vr(NEBD); // element residual displacements
797 static Matrix f(NEBD,NEBD); // element flexibility matrix
798
799 static Matrix I(NEBD,NEBD); // an identity matrix for matrix inverse
800 double dW; // section strain energy (work) norm
801 int i, j;
802
803 I.Zero();
804 for (i=0; i<NEBD; i++)
805 I(i,i) = 1.0;
806
807 int numSubdivide = 1;
808 bool converged = false;
809 static Vector dSe(NEBD);
810 static Vector dvToDo(NEBD);
811 static Vector dvTrial(NEBD);
812 static Vector SeTrial(NEBD);
813 static Matrix kvTrial(NEBD, NEBD);
814
815 dvToDo = dv;
816 dvTrial = dvToDo;
817
818 static double factor = 10;
819

Callers 1

Calls 15

revertToLastCommitMethod · 0.95
getGMethod · 0.95
getHkMethod · 0.95
getHgMethod · 0.95
getHkpMethod · 0.95
getHgpMethod · 0.95
computeSectionForcesMethod · 0.95
computedwdqMethod · 0.95
computedwzdqMethod · 0.95
getBasicTrialDispMethod · 0.80
NormMethod · 0.45
getInitialLengthMethod · 0.45

Tested by

no test coverage detected