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

Method sendSelf

DEVELOPER/core/Domain.cpp:2636–3014  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2634}
2635
2636int
2637Domain::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;

Callers

nothing calls this directly

Calls 11

hasDomainChangedMethod · 0.95
getNodesMethod · 0.80
getParametersMethod · 0.80
getNumComponentsMethod · 0.45
getDbTagMethod · 0.45
sendIDMethod · 0.45
sendVectorMethod · 0.45
getTagMethod · 0.45
getClassTagMethod · 0.45
setDbTagMethod · 0.45
getElementsMethod · 0.45

Tested by

no test coverage detected