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

Method addD_ForceSensitivity

SRC/analysis/fe_ele/FE_Element.cpp:1000–1033  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

998}
999
1000void
1001FE_Element::addD_ForceSensitivity(int gradNumber, const Vector &vect, double fact)
1002{
1003 if (myEle != 0) {
1004
1005 // check for a quick return
1006 if (fact == 0.0)
1007 return;
1008 if (myEle->isSubdomain() == false) {
1009 // get the components we need out of the vector
1010 // and place in a temporary vector
1011 Vector tmp(numDOF);
1012 for (int i=0; i<numDOF; i++) {
1013 int loc = myID(i);
1014 if (loc >= 0)
1015 tmp(i) = vect(loc);
1016 else
1017 tmp(i) = 0.0;
1018 }
1019 if (theResidual->addMatrixVector(1.0, myEle->getDampSensitivity(gradNumber), tmp, fact) < 0){
1020 opserr << "WARNING FE_Element::addD_ForceSensitivity() - ";
1021 opserr << "- addMatrixVector returned error\n";
1022 }
1023 }
1024 else {
1025 opserr << "WARNING FE_Element::addD_ForceSensitivity() - ";
1026 opserr << "- this should not be called on a Subdomain!\n";
1027 }
1028 }
1029 else {
1030 opserr << "WARNING FE_Element::addD_ForceSensitivity() - no Element *given ";
1031 opserr << "- subclasses must provide implementation\n";
1032 }
1033}
1034
1035void
1036FE_Element::addLocalD_ForceSensitivity(int gradNumber, const Vector &accel, double fact)

Callers 8

formEleResidualMethod · 0.45
formNodUnbalanceMethod · 0.45
formEleResidualMethod · 0.45
formNodUnbalanceMethod · 0.45
formEleResidualMethod · 0.45
formNodUnbalanceMethod · 0.45
formEleResidualMethod · 0.45
formNodUnbalanceMethod · 0.45

Calls 2

isSubdomainMethod · 0.45
addMatrixVectorMethod · 0.45

Tested by

no test coverage detected