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

Method recvSelf

DEVELOPER/core/Domain.cpp:3017–3447  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3015
3016
3017int
3018Domain::recvSelf(int cTag, Channel &theChannel, FEM_ObjectBroker &theBroker)
3019{
3020 // set the commitTag in the domain to cTag & update the getTag if needed
3021 commitTag = cTag;
3022 this->hasDomainChanged();
3023
3024 // first we get the data about the state of the domain for this commitTag
3025 ID domainData(15);
3026 if (theChannel.recvID(theDbTag, commitTag, domainData) < 0) {
3027 opserr << "Domain::recv - channel failed to recv the initial ID\n";
3028 return -1;
3029 }
3030
3031 // recv the time information
3032 Vector domainTime(1);
3033 if (theChannel.recvVector(theDbTag, commitTag, domainTime) < 0) {
3034 opserr << "Domain::send - channel failed to recv thetime Vector\n";
3035 return -1;
3036 }
3037
3038 currentTime = domainTime(0);
3039 committedTime = currentTime;
3040
3041 //
3042 // now if the currentGeoTag does not agree with whats in the domain
3043 // we must wipe everything in the domain and recreate the domain based on the info from the channel
3044 //
3045
3046 /*
3047 if (theChannel.isDatastore() == 1) {
3048 static ID theLastSendTag(1);
3049 if (theChannel.recvID(0,0,theLastSendTag) == 0)
3050 lastGeoSendTag = theLastSendTag(0);
3051 }
3052 */
3053
3054 if (currentGeoTag == 0 || lastChannel != theChannel.getTag() || domainData(0) != currentGeoTag) {
3055
3056 lastChannel = theChannel.getTag();
3057
3058 // set the currrentGeoTag
3059 int geoTag = domainData(0);
3060
3061 int i, loc;
3062 int numEle, numNod, numSPs, numPCs, numMPs, numLPs;
3063
3064 // if receiving set lastGeoSendTag to be equal to currentGeoTag
3065 // at time all the data was sent if not we must clear out the objects and rebuild
3066 lastGeoSendTag = domainData(0);
3067
3068 // clear out the all the components in the current domain
3069 this->clearAll();
3070
3071 currentTime = domainTime(0);
3072 committedTime = currentTime;
3073
3074 //

Callers

nothing calls this directly

Calls 15

hasDomainChangedMethod · 0.95
clearAllMethod · 0.95
addNodeMethod · 0.95
addElementMethod · 0.95
addSP_ConstraintMethod · 0.95
addMP_ConstraintMethod · 0.95
addLoadPatternMethod · 0.95
addParameterMethod · 0.95
getNodesMethod · 0.80
getParametersMethod · 0.80
recvIDMethod · 0.45

Tested by

no test coverage detected