//! @brief Returns material initial generalized strain. const XC::Vector &XC::SectionAggregator::getInitialSectionDeformation(void) const { int theSectionOrder= 0; if(theSection) { const Vector &eSec= theSection->getInitialSectionDeformation(); theSectionOrder= theSection->getOrder(); for(register int i= 0; i < theSectionOrder; i++) (*defzero)(i)= eSec(i); } theAdditions.getInitialStrain(*defzero,theSectionOrder); return *defzero; }
//! @brief Returns material trial generalized strain. const XC::Vector &XC::SectionAggregator::getSectionDeformation(void) const { int theSectionOrder= 0; if(theSection) { const Vector &eSec= theSection->getSectionDeformation(); theSectionOrder= theSection->getOrder(); for(register int i= 0; i < theSectionOrder; i++) (*def)(i)= eSec(i); } theAdditions.getStrain(*def,theSectionOrder); static Vector retval; retval= (*def)-(*defzero); return retval; }
const Vector & SectionAggregator::getSectionDeformation(void) { int i = 0; int theSectionOrder = 0; if (theSection) { const Vector &eSec = theSection->getSectionDeformation(); theSectionOrder = theSection->getOrder(); for (i = 0; i < theSectionOrder; i++) (*e)(i) = eSec(i); } int order = theSectionOrder + numMats; for ( ; i < order; i++) (*e)(i) = theAdditions[i-theSectionOrder]->getStrain(); return *e; }