const Matrix & SectionAggregator::getInitialTangent(void) { int i = 0; int theSectionOrder = 0; // Zero before assembly ks->Zero(); if (theSection) { const Matrix &kSec = theSection->getInitialTangent(); theSectionOrder = theSection->getOrder(); for (i = 0; i < theSectionOrder; i++) for (int j = 0; j < theSectionOrder; j++) (*ks)(i,j) = kSec(i,j); } int order = theSectionOrder + numMats; for ( ; i < order; i++) (*ks)(i,i) = theAdditions[i-theSectionOrder]->getInitialTangent(); return *ks; }
//! @brief Returns the initial tangent stiffness matrix. const XC::Matrix &XC::SectionAggregator::getInitialTangent(void) const { int theSectionOrder= 0; // Zero before assembly ks->Zero(); if(theSection) { const Matrix &kSec= theSection->getInitialTangent(); theSectionOrder= theSection->getOrder(); for(register int i= 0; i < theSectionOrder; i++) for(register int j= 0; j < theSectionOrder; j++) (*ks)(i,j)= kSec(i,j); } theAdditions.getInitialTangent(*ks,theSectionOrder); return *ks; }