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

Method calculateAll

SRC/element/shell/ASDShellT3.cpp:1572–1848  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1570}
1571
1572int ASDShellT3::calculateAll(Matrix& LHS, Vector& RHS, int options)
1573{
1574 // Check options
1575 if (!m_transformation->isLinear()) {
1576 // corotational calculation of the tangent LHS requires the RHS!
1577 if (options & OPT_LHS)
1578 options |= OPT_RHS;
1579 }
1580
1581 // Zero output
1582 int result = 0;
1583 if (options & OPT_RHS)
1584 RHS.Zero();
1585 if (options & OPT_LHS)
1586 LHS.Zero();
1587
1588 // Global displacements
1589 auto& UG = ASDShellT3Globals::instance().UG;
1590 m_transformation->computeGlobalDisplacements(UG);
1591
1592 // update transformation
1593 if (options & OPT_UPDATE)
1594 m_transformation->update(UG);
1595
1596 // Compute the reference coordinate system
1597 ASDShellT3LocalCoordinateSystem reference_cs =
1598 m_transformation->createReferenceCoordinateSystem();
1599
1600 // Compute the local coordinate system.
1601 ASDShellT3LocalCoordinateSystem local_cs =
1602 m_transformation->createLocalCoordinateSystem(UG);
1603
1604 // Some matrices/vectors
1605 auto& N = ASDShellT3Globals::instance().N;
1606 auto& dN = ASDShellT3Globals::instance().dN;
1607 auto& dNdX = ASDShellT3Globals::instance().dNdX;
1608 auto& jac = ASDShellT3Globals::instance().jac;
1609 auto& B = ASDShellT3Globals::instance().B;
1610 auto& Bd = ASDShellT3Globals::instance().Bd;
1611 auto& Bhx = ASDShellT3Globals::instance().Bhx;
1612 auto& Bhy = ASDShellT3Globals::instance().Bhy;
1613 auto& B1 = ASDShellT3Globals::instance().B1;
1614 auto& B1TD = ASDShellT3Globals::instance().B1TD;
1615 auto& E = ASDShellT3Globals::instance().E;
1616 auto& S = ASDShellT3Globals::instance().S;
1617 auto& D = ASDShellT3Globals::instance().D;
1618 auto& Dsection = ASDShellT3Globals::instance().Dsection;
1619
1620 // matrices for orienting strains in section coordinate system
1621 auto& Re = ASDShellT3Globals::instance().Re;
1622 auto& Rs = ASDShellT3Globals::instance().Rs;
1623 if (m_angle != 0.0) {
1624 if (options & OPT_UPDATE)
1625 getRotationMatrixForGeneralizedStrains(-m_angle, Re);
1626 if ((options & OPT_RHS) || (options & OPT_LHS))
1627 getRotationMatrixForGeneralizedStresses(m_angle, Rs);
1628 }
1629

Callers

nothing calls this directly

Calls 15

shapeFunctionsFunction · 0.70
computeBMatrixFunction · 0.70
computeBdrillingFunction · 0.70
invertBBendingTermsFunction · 0.70
isLinearMethod · 0.45
ZeroMethod · 0.45
updateMethod · 0.45

Tested by

no test coverage detected