| 2194 | } |
| 2195 | |
| 2196 | const Vector * |
| 2197 | Node::getResponse(NodeResponseType responseType) |
| 2198 | { |
| 2199 | const Vector *result = NULL; |
| 2200 | if (responseType == Disp) |
| 2201 | result = &(this->getDisp()); |
| 2202 | else if (responseType == Vel) |
| 2203 | return &(this->getVel()); |
| 2204 | else if (responseType == Accel) |
| 2205 | return &(this->getAccel()); |
| 2206 | else if (responseType == IncrDisp) |
| 2207 | return &(this->getIncrDisp()); |
| 2208 | else if (responseType == IncrDeltaDisp) |
| 2209 | return &(this->getIncrDeltaDisp()); |
| 2210 | else if (responseType == Reaction) |
| 2211 | return &(this->getReaction()); |
| 2212 | else if (responseType == Unbalance) |
| 2213 | return &(this->getUnbalancedLoad()); |
| 2214 | else if (responseType == RayleighForces) { |
| 2215 | if (unbalLoadWithInertia == 0) { |
| 2216 | unbalLoadWithInertia = new Vector(this->getUnbalancedLoad()); |
| 2217 | } |
| 2218 | if (alphaM != 0.0 && mass != 0) { |
| 2219 | const Vector &theVel = this->getTrialVel(); // in case vel not created |
| 2220 | unbalLoadWithInertia->addMatrixVector(0.0, *mass, theVel, -alphaM); |
| 2221 | } else |
| 2222 | unbalLoadWithInertia->Zero(); |
| 2223 | |
| 2224 | return unbalLoadWithInertia; |
| 2225 | } else |
| 2226 | return NULL; |
| 2227 | |
| 2228 | return result; |
| 2229 | } |
| 2230 | |
| 2231 | void |
| 2232 | Node::setCrds(double Crd1) |
no test coverage detected