MCPcopy Create free account
hub / github.com/OpenSees/OpenSees / setDomain

Method setDomain

SRC/element/shell/ShellMITC4.cpp:359–419  ·  view source on GitHub ↗

set domain

Source from the content-addressed store, hash-verified

357
358//set domain
359void ShellMITC4::setDomain( Domain *theDomain )
360{
361 int i, j ;
362 static Vector eig(3) ;
363 static Matrix ddMembrane(3,3) ;
364
365 //node pointers
366 for ( i = 0; i < 4; i++ ) {
367 nodePointers[i] = theDomain->getNode( connectedExternalNodes(i) ) ;
368 if (nodePointers[i] == 0) {
369 opserr << "ShellMITC4::setDomain - no node " << connectedExternalNodes(i);
370 opserr << " exists in the model\n";
371 }
372 const Vector &nodeDisp=nodePointers[i]->getTrialDisp();
373 if (nodeDisp.Size() != 6) {
374 opserr << "ShellMITC4::setDomain - node " << connectedExternalNodes(i);
375 opserr << " NEEDS 6 dof - GARBAGE RESULTS or SEGMENTATION FAULT WILL FOLLOW\n";
376 }
377 if (!m_initialzed) {
378 init_disp[i][0] = nodeDisp(0);
379 init_disp[i][1] = nodeDisp(1);
380 init_disp[i][2] = nodeDisp(2);
381 init_disp[i][3] = nodeDisp(3);
382 init_disp[i][4] = nodeDisp(4);
383 init_disp[i][5] = nodeDisp(5);
384 }
385 }
386
387 //compute drilling stiffness penalty parameter
388 const Matrix &dd = materialPointers[0]->getInitialTangent( ) ;
389
390 //assemble ddMembrane ;
391 for ( i = 0; i < 3; i++ ) {
392 for ( j = 0; j < 3; j++ )
393 ddMembrane(i,j) = dd(i,j) ;
394 } //end for i
395
396 //eigenvalues of ddMembrane
397 eig = LovelyEig( ddMembrane ) ;
398
399 //set ktt
400 //Ktt = dd(2,2) ; //shear modulus
401 Ktt = min( eig(2), min( eig(0), eig(1) ) ) ;
402 //Ktt = dd(2,2);
403
404 //basis vectors and local coordinates
405 computeBasis( ) ;
406
407 for (i = 0; i < 4; i++)
408 {
409 if (theDamping[i] && theDamping[i]->setDomain(theDomain, 8)) {
410 opserr << "ShellMITC4::setDomain -- Error initializing damping\n";
411 exit(-1);
412 }
413 }
414
415 this->DomainComponent::setDomain(theDomain);
416

Callers 1

setDampingMethod · 0.45

Calls 6

LovelyEigFunction · 0.85
exitFunction · 0.85
nodeDispFunction · 0.50
getNodeMethod · 0.45
SizeMethod · 0.45
getInitialTangentMethod · 0.45

Tested by

no test coverage detected