| 280 | } |
| 281 | |
| 282 | void |
| 283 | ComponentElement2d::setDomain(Domain *theDomain) |
| 284 | { |
| 285 | if (theDomain == 0) { |
| 286 | opserr << "ComponentElement2d::setDomain -- Domain is null\n"; |
| 287 | exit(-1); |
| 288 | } |
| 289 | |
| 290 | theNodes[0] = theDomain->getNode(connectedExternalNodes(0)); |
| 291 | theNodes[1] = theDomain->getNode(connectedExternalNodes(1)); |
| 292 | |
| 293 | if (theNodes[0] == 0) { |
| 294 | opserr << "ComponentElement2d::setDomain -- Node 1: " << connectedExternalNodes(0) << " does not exist\n"; |
| 295 | exit(-1); |
| 296 | } |
| 297 | |
| 298 | if (theNodes[1] == 0) { |
| 299 | opserr << "ComponentElement2d::setDomain -- Node 2: " << connectedExternalNodes(1) << " does not exist\n"; |
| 300 | exit(-1); |
| 301 | } |
| 302 | |
| 303 | int dofNd1 = theNodes[0]->getNumberDOF(); |
| 304 | int dofNd2 = theNodes[1]->getNumberDOF(); |
| 305 | |
| 306 | if (dofNd1 != 3) { |
| 307 | opserr << "ComponentElement2d::setDomain -- Node 1: " << connectedExternalNodes(0) |
| 308 | << " has incorrect number of DOF\n"; |
| 309 | exit(-1); |
| 310 | } |
| 311 | |
| 312 | if (dofNd2 != 3) { |
| 313 | opserr << "ComponentElement2d::setDomain -- Node 2: " << connectedExternalNodes(1) |
| 314 | << " has incorrect number of DOF\n"; |
| 315 | exit(-1); |
| 316 | } |
| 317 | |
| 318 | this->DomainComponent::setDomain(theDomain); |
| 319 | |
| 320 | if (theCoordTransf->initialize(theNodes[0], theNodes[1]) != 0) { |
| 321 | opserr << "ComponentElement2d::setDomain -- Error initializing coordinate transformation\n"; |
| 322 | exit(-1); |
| 323 | } |
| 324 | |
| 325 | double L = theCoordTransf->getInitialLength(); |
| 326 | |
| 327 | if (L == 0.0) { |
| 328 | opserr << "ComponentElement2d::setDomain -- Element has zero length\n"; |
| 329 | exit(-1); |
| 330 | } |
| 331 | |
| 332 | EAoverL = A*E/L; // EA/L |
| 333 | EIoverL2 = 2.0*I*E/L; // 2EI/L |
| 334 | EIoverL4 = 2.0*EIoverL2; // 4EI/L |
| 335 | } |
| 336 | |
| 337 | int |
| 338 | ComponentElement2d::commitState() |
nothing calls this directly
no test coverage detected