| 1199 | } |
| 1200 | |
| 1201 | int |
| 1202 | ComponentElement3d::recvSelf(int cTag, Channel &theChannel, FEM_ObjectBroker &theBroker) |
| 1203 | { |
| 1204 | int res = 0; |
| 1205 | |
| 1206 | static Vector data(19+8+4+4); // 35 |
| 1207 | |
| 1208 | res += theChannel.recvVector(this->getDbTag(), cTag, data); |
| 1209 | if (res < 0) { |
| 1210 | opserr << "ComponentElement3d::recvSelf -- could not receive data Vector\n"; |
| 1211 | return res; |
| 1212 | } |
| 1213 | |
| 1214 | A = data(0); |
| 1215 | E = data(1); |
| 1216 | Iz = data(2); |
| 1217 | Iy = data(16); |
| 1218 | G = data(17); |
| 1219 | J = data(18); |
| 1220 | |
| 1221 | // alpha = data(10); |
| 1222 | // d = data(11); |
| 1223 | |
| 1224 | alphaM = data(12); |
| 1225 | betaK = data(13); |
| 1226 | betaK0 = data(14); |
| 1227 | betaKc = data(15); |
| 1228 | |
| 1229 | rho = data(3); |
| 1230 | cMass = (int)data(4); |
| 1231 | this->setTag((int)data(5)); |
| 1232 | connectedExternalNodes(0) = (int)data(6); |
| 1233 | connectedExternalNodes(1) = (int)data(7); |
| 1234 | |
| 1235 | for (int i = 0; i < 4; i++) { |
| 1236 | uzCommit(i) = data(27+i); |
| 1237 | uyCommit(i) = data(31+i); |
| 1238 | } |
| 1239 | |
| 1240 | // Check if the CoordTransf is null; if so, get a new one |
| 1241 | int crdTag = (int)data(8); |
| 1242 | if (theCoordTransf == 0) { |
| 1243 | theCoordTransf = theBroker.getNewCrdTransf(crdTag); |
| 1244 | if (theCoordTransf == 0) { |
| 1245 | opserr << "ComponentElement3d::recvSelf -- could not get a CrdTransf2d\n"; |
| 1246 | exit(-1); |
| 1247 | } |
| 1248 | } |
| 1249 | |
| 1250 | // Check that the CoordTransf is of the right type; if not, delete |
| 1251 | // the current one and get a new one of the right type |
| 1252 | if (theCoordTransf->getClassTag() != crdTag) { |
| 1253 | delete theCoordTransf; |
| 1254 | theCoordTransf = theBroker.getNewCrdTransf(crdTag); |
| 1255 | if (theCoordTransf == 0) { |
| 1256 | opserr << "ComponentElement3d::recvSelf -- could not get a CrdTransf2d\n"; |
| 1257 | exit(-1); |
| 1258 | } |
nothing calls this directly
no test coverage detected