| 2634 | } |
| 2635 | |
| 2636 | int |
| 2637 | Domain::sendSelf(int cTag, Channel &theChannel) |
| 2638 | { |
| 2639 | // update the commitTag and currentGeoTag |
| 2640 | commitTag = cTag; |
| 2641 | |
| 2642 | this->hasDomainChanged(); |
| 2643 | |
| 2644 | // first we send info about the current domain flag and the number of |
| 2645 | // elements, nodes, constraints and load patterns currently in the domain |
| 2646 | int numEle, numNod, numSPs, numPCs, numMPs, numLPs, numParam; |
| 2647 | numNod = theNodes->getNumComponents(); |
| 2648 | numEle = theElements->getNumComponents(); |
| 2649 | numSPs = theSPs->getNumComponents(); |
| 2650 | numPCs = thePCs->getNumComponents(); |
| 2651 | numMPs = theMPs->getNumComponents(); |
| 2652 | numLPs = theLoadPatterns->getNumComponents(); |
| 2653 | numParam = theParameters->getNumComponents(); |
| 2654 | |
| 2655 | ID domainData(15); |
| 2656 | domainData(0) = currentGeoTag; |
| 2657 | domainData(1) = numNod; |
| 2658 | domainData(2) = numEle; |
| 2659 | domainData(3) = numSPs; |
| 2660 | domainData(13) = numPCs; |
| 2661 | domainData(4) = numMPs; |
| 2662 | domainData(5) = numLPs; |
| 2663 | domainData(11) = numParam; |
| 2664 | |
| 2665 | // add the database tag for the ID's storing node, element, constraints |
| 2666 | // and loadpattern data into domainData |
| 2667 | // NOTE: if these still 0 get new ones from the channel |
| 2668 | if (dbNod == 0) { |
| 2669 | dbNod = theChannel.getDbTag(); |
| 2670 | dbEle = theChannel.getDbTag(); |
| 2671 | dbSPs = theChannel.getDbTag(); |
| 2672 | dbPCs = theChannel.getDbTag(); |
| 2673 | dbMPs = theChannel.getDbTag(); |
| 2674 | dbLPs = theChannel.getDbTag(); |
| 2675 | dbParam = theChannel.getDbTag(); |
| 2676 | } |
| 2677 | |
| 2678 | domainData(6) = dbNod; |
| 2679 | domainData(7) = dbEle; |
| 2680 | domainData(8) = dbSPs; |
| 2681 | domainData(14) = dbPCs; |
| 2682 | domainData(9) = dbMPs; |
| 2683 | domainData(10) = dbLPs; |
| 2684 | domainData(12) = dbParam; |
| 2685 | |
| 2686 | if (theChannel.sendID(theDbTag, commitTag, domainData) < 0) { |
| 2687 | opserr << "Domain::send - channel failed to send the initial ID\n"; |
| 2688 | return -1; |
| 2689 | } |
| 2690 | |
| 2691 | // send the time information |
| 2692 | Vector domainTime(1); |
| 2693 | domainTime(0) = committedTime; |
nothing calls this directly
no test coverage detected