set domain
| 230 | |
| 231 | //set domain |
| 232 | void ShellMITC9::setDomain( Domain *theDomain ) |
| 233 | { |
| 234 | int i,j ; |
| 235 | static Vector eig(3) ; |
| 236 | static Matrix ddMembrane(3,3) ; |
| 237 | |
| 238 | //node pointers |
| 239 | for ( i = 0; i < 9; i++ ) { |
| 240 | nodePointers[i] = theDomain->getNode( connectedExternalNodes(i) ) ; |
| 241 | |
| 242 | if (nodePointers[i] == 0) { |
| 243 | opserr << "ShellMITC9::setDomain - no node " << connectedExternalNodes(i); |
| 244 | opserr << " exists in the model\n"; |
| 245 | } |
| 246 | } |
| 247 | |
| 248 | //compute drilling stiffness penalty parameter |
| 249 | const Matrix &dd = materialPointers[0]->getInitialTangent( ) ; |
| 250 | |
| 251 | //assemble ddMembrane ; |
| 252 | for ( i = 0; i < 3; i++ ) { |
| 253 | for ( j = 0; j < 3; j++ ){ |
| 254 | ddMembrane(i,j) = dd(i,j) ; |
| 255 | } //end for j |
| 256 | } //end for i |
| 257 | |
| 258 | //eigenvalues of ddMembrane |
| 259 | eig = LovelyEig( ddMembrane ) ; |
| 260 | |
| 261 | //set ktt |
| 262 | //Ktt = dd(2,2) ; //shear modulus |
| 263 | Ktt = min( eig(2), min( eig(0), eig(1) ) ) ; |
| 264 | //basis vectors and local coordinates |
| 265 | computeBasis( ) ; |
| 266 | |
| 267 | this->DomainComponent::setDomain(theDomain); |
| 268 | } |
| 269 | |
| 270 | |
| 271 | //get the number of external nodes |
nothing calls this directly
no test coverage detected