| 886 | } |
| 887 | |
| 888 | int |
| 889 | ComponentElement2d::recvSelf(int cTag, Channel &theChannel, FEM_ObjectBroker &theBroker) |
| 890 | { |
| 891 | int res = 0; |
| 892 | |
| 893 | static Vector data(24); |
| 894 | |
| 895 | res += theChannel.recvVector(this->getDbTag(), cTag, data); |
| 896 | if (res < 0) { |
| 897 | opserr << "ComponentElement2d::recvSelf -- could not receive data Vector\n"; |
| 898 | return res; |
| 899 | } |
| 900 | |
| 901 | A = data(0); |
| 902 | E = data(1); |
| 903 | I = data(2); |
| 904 | |
| 905 | // alpha = data(10); |
| 906 | // d = data(11); |
| 907 | |
| 908 | alphaM = data(12); |
| 909 | betaK = data(13); |
| 910 | betaK0 = data(14); |
| 911 | betaKc = data(15); |
| 912 | |
| 913 | rho = data(3); |
| 914 | cMass = (int)data(4); |
| 915 | this->setTag((int)data(5)); |
| 916 | connectedExternalNodes(0) = (int)data(6); |
| 917 | connectedExternalNodes(1) = (int)data(7); |
| 918 | |
| 919 | for (int i = 0; i < 4; i++) |
| 920 | uCommit(i) = data(20+i); |
| 921 | |
| 922 | // Check if the CoordTransf is null; if so, get a new one |
| 923 | int crdTag = (int)data(8); |
| 924 | if (theCoordTransf == 0) { |
| 925 | theCoordTransf = theBroker.getNewCrdTransf(crdTag); |
| 926 | if (theCoordTransf == 0) { |
| 927 | opserr << "ComponentElement2d::recvSelf -- could not get a CrdTransf2d\n"; |
| 928 | exit(-1); |
| 929 | } |
| 930 | } |
| 931 | |
| 932 | // Check that the CoordTransf is of the right type; if not, delete |
| 933 | // the current one and get a new one of the right type |
| 934 | if (theCoordTransf->getClassTag() != crdTag) { |
| 935 | delete theCoordTransf; |
| 936 | theCoordTransf = theBroker.getNewCrdTransf(crdTag); |
| 937 | if (theCoordTransf == 0) { |
| 938 | opserr << "ComponentElement2d::recvSelf -- could not get a CrdTransf2d\n"; |
| 939 | exit(-1); |
| 940 | } |
| 941 | } |
| 942 | |
| 943 | // Now, receive the CoordTransf |
| 944 | theCoordTransf->setDbTag((int)data(9)); |
| 945 | res += theCoordTransf->recvSelf(cTag, theChannel, theBroker); |
nothing calls this directly
no test coverage detected