| 875 | } |
| 876 | |
| 877 | int |
| 878 | SectionForceDeformation::getResponse(int responseID, Information &secInfo) |
| 879 | { |
| 880 | switch (responseID) { |
| 881 | case 1: |
| 882 | return secInfo.setVector(this->getSectionDeformation()); |
| 883 | |
| 884 | case 2: |
| 885 | return secInfo.setVector(this->getStressResultant()); |
| 886 | |
| 887 | case 4: { |
| 888 | Vector &theVec = *(secInfo.theVector); |
| 889 | const Vector &e = this->getSectionDeformation(); |
| 890 | const Vector &s = this->getStressResultant(); |
| 891 | int order = this->getOrder(); |
| 892 | for (int i = 0; i < order; i++) { |
| 893 | theVec(i) = e(i); |
| 894 | theVec(i+order) = s(i); |
| 895 | } |
| 896 | |
| 897 | return secInfo.setVector(theVec); |
| 898 | } |
| 899 | |
| 900 | case 12: |
| 901 | return secInfo.setMatrix(this->getSectionTangent()); |
| 902 | |
| 903 | case 13: |
| 904 | return secInfo.setMatrix(this->getSectionFlexibility()); |
| 905 | |
| 906 | case 14: { |
| 907 | const ID &type = this->getType(); |
| 908 | return secInfo.setID(type); |
| 909 | } |
| 910 | |
| 911 | default: |
| 912 | return -1; |
| 913 | } |
| 914 | } |
| 915 | |
| 916 | int |
| 917 | SectionForceDeformation::getResponseSensitivity(int responseID, int gradIndex, |
no test coverage detected