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

Method setDomain

SRC/element/shell/ShellMITC9.cpp:232–268  ·  view source on GitHub ↗

set domain

Source from the content-addressed store, hash-verified

230
231//set domain
232void 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

Callers

nothing calls this directly

Calls 3

LovelyEigFunction · 0.85
getNodeMethod · 0.45
getInitialTangentMethod · 0.45

Tested by

no test coverage detected