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

Method getResponse

SRC/element/twoNodeLink/Inerter.cpp:1077–1123  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1075
1076
1077int Inerter::getResponse(int responseID, Information &eleInfo)
1078{
1079 Vector defoAndForce(numDIR*2);
1080
1081 switch (responseID) {
1082 case 1: // global forces
1083 return eleInfo.setVector(this->getResistingForce());
1084
1085 case 2: // local forces
1086 theVector->Zero();
1087 // determine resisting forces in local system
1088 theVector->addMatrixTransposeVector(0.0, Tlb, qb, 1.0);
1089 // add P-Delta effects to local forces
1090 if (Mratio.Size() == 4) {
1091 qb.addMatrixVector(0.0, ib, ubdotdot, 1.0);
1092 this->addPDeltaForces(*theVector, qb);
1093 }
1094 return eleInfo.setVector(*theVector);
1095
1096 case 3: // basic forces
1097 qb.addMatrixVector(0.0, ib, ubdotdot, 1.0);
1098 return eleInfo.setVector(qb);
1099
1100 case 4: // local displacements
1101 return eleInfo.setVector(ul);
1102
1103 case 5: // basic displacements
1104 return eleInfo.setVector(ub);
1105
1106 case 6: // basic velocities
1107 return eleInfo.setVector(ubdot);
1108
1109 case 7: // basic accelerations
1110 return eleInfo.setVector(ubdotdot);
1111
1112 case 8: // basic accelerations and basic forces
1113 qb.addMatrixVector(0.0, ib, ubdotdot, 1.0);
1114 defoAndForce.Zero();
1115 defoAndForce.Assemble(ubdotdot,0);
1116 defoAndForce.Assemble(qb,numDIR);
1117
1118 return eleInfo.setVector(defoAndForce);
1119
1120 default:
1121 return 0;
1122 }
1123}
1124
1125
1126// set up the transformation matrix for orientation

Callers

nothing calls this directly

Calls 8

addPDeltaForcesMethod · 0.95
getResistingForceMethod · 0.80
setVectorMethod · 0.45
ZeroMethod · 0.45
SizeMethod · 0.45
addMatrixVectorMethod · 0.45
AssembleMethod · 0.45

Tested by

no test coverage detected