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

Method incrTrialDisp

DEVELOPER/core/Node.cpp:902–935  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

900}
901
902int
903Node::incrTrialDisp(const Vector &incrDispl)
904{
905 // check vector arg is of correct size
906 if (incrDispl.Size() != numberDOF) {
907 opserr << "WARNING Node::incrTrialDisp() - incompatable sizes\n";
908 return -2;
909 }
910
911 // create a copy if no trial exists andd add committed
912 if (trialDisp == 0) {
913 if (this->createDisp() < 0) {
914 opserr << "FATAL Node::incrTrialDisp() - ran out of memory\n";
915 exit(-1);
916 }
917 for (int i = 0; i<numberDOF; i++) {
918 double incrDispI = incrDispl(i);
919 disp[i] = incrDispI;
920 disp[i+2*numberDOF] = incrDispI;
921 disp[i+3*numberDOF] = incrDispI;
922 }
923 return 0;
924 }
925
926 // otherwise set trial = incr + trial
927 for (int i = 0; i<numberDOF; i++) {
928 double incrDispI = incrDispl(i);
929 disp[i] += incrDispI;
930 disp[i+2*numberDOF] += incrDispI;
931 disp[i+3*numberDOF] = incrDispI;
932 }
933
934 return 0;
935}
936
937
938int

Callers 1

incrNodeDispMethod · 0.45

Calls 3

createDispMethod · 0.95
exitFunction · 0.85
SizeMethod · 0.45

Tested by

no test coverage detected