| 1753 | |
| 1754 | |
| 1755 | void |
| 1756 | Domain::applyLoad(double timeStep) |
| 1757 | { |
| 1758 | |
| 1759 | // set the current pseudo time in the domai to be newTime |
| 1760 | currentTime = timeStep; |
| 1761 | dT = currentTime - committedTime; |
| 1762 | |
| 1763 | // |
| 1764 | // first loop over nodes and elements getting them to first zero their loads |
| 1765 | // |
| 1766 | |
| 1767 | Node *nodePtr; |
| 1768 | NodeIter &theNodeIter = this->getNodes(); |
| 1769 | while ((nodePtr = theNodeIter()) != 0) |
| 1770 | nodePtr->zeroUnbalancedLoad(); |
| 1771 | |
| 1772 | Element *elePtr; |
| 1773 | ElementIter &theElemIter = this->getElements(); |
| 1774 | while ((elePtr = theElemIter()) != 0) |
| 1775 | if (elePtr->isSubdomain() == false) |
| 1776 | elePtr->zeroLoad(); |
| 1777 | |
| 1778 | // now loop over load patterns, invoking applyLoad on them |
| 1779 | LoadPattern *thePattern; |
| 1780 | LoadPatternIter &thePatterns = this->getLoadPatterns(); |
| 1781 | while((thePattern = thePatterns()) != 0) |
| 1782 | thePattern->applyLoad(timeStep); |
| 1783 | |
| 1784 | // |
| 1785 | // finally loop over the MP_Constraints and SP_Constraints of the domain |
| 1786 | // |
| 1787 | |
| 1788 | MP_ConstraintIter &theMPs = this->getMPs(); |
| 1789 | MP_Constraint *theMP; |
| 1790 | while ((theMP = theMPs()) != 0) |
| 1791 | theMP->applyConstraint(timeStep); |
| 1792 | |
| 1793 | SP_ConstraintIter &theSPs = this->getSPs(); |
| 1794 | SP_Constraint *theSP; |
| 1795 | while ((theSP = theSPs()) != 0) { |
| 1796 | theSP->applyConstraint(timeStep); |
| 1797 | } |
| 1798 | |
| 1799 | ops_Dt = dT; |
| 1800 | } |
| 1801 | |
| 1802 | |
| 1803 | void |
no test coverage detected