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

Method recvSelf

SRC/element/generic/GenericClient.cpp:715–787  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

713
714
715int GenericClient::recvSelf(int commitTag, Channel &rChannel,
716 FEM_ObjectBroker &theBroker)
717{
718 // delete dynamic memory
719 if (theNodes != 0)
720 delete[] theNodes;
721 if (theDOF != 0)
722 delete[] theDOF;
723 if (machineInetAddr != 0)
724 delete[] machineInetAddr;
725
726 // receive element parameters
727 static Vector data(12);
728 rChannel.recvVector(0, commitTag, data);
729 this->setTag((int)data(0));
730 numExternalNodes = (int)data(1);
731 port = (int)data(2);
732 machineInetAddr = new char[int(data(3) + 1)];
733 ssl = (int)data(4);
734 udp = (int)data(5);
735 dataSize = (int)data(6);
736 addRayleigh = (int)data(7);
737 alphaM = data(8);
738 betaK = data(9);
739 betaK0 = data(10);
740 betaKc = data(11);
741
742 // initialize nodes and receive them
743 connectedExternalNodes.resize(numExternalNodes);
744 rChannel.recvID(0, commitTag, connectedExternalNodes);
745 theNodes = new Node* [numExternalNodes];
746 if (!theNodes) {
747 opserr << "GenericClient::recvSelf() "
748 << "- failed to create node array\n";
749 return -1;
750 }
751
752 // set node pointers to NULL
753 int i;
754 for (i=0; i<numExternalNodes; i++)
755 theNodes[i] = 0;
756
757 // initialize dof
758 theDOF = new ID [numExternalNodes];
759 if (!theDOF) {
760 opserr << "GenericClient::recvSelf() "
761 << "- failed to create dof array\n";
762 return -2;
763 }
764
765 // initialize number of basic dof
766 numBasicDOF = 0;
767 for (i=0; i<numExternalNodes; i++) {
768 rChannel.recvID(0, commitTag, theDOF[i]);
769 numBasicDOF += theDOF[i].Size();
770 }
771
772 // receive the ip-address

Callers

nothing calls this directly

Calls 7

recvVectorMethod · 0.45
setTagMethod · 0.45
resizeMethod · 0.45
recvIDMethod · 0.45
SizeMethod · 0.45
recvMsgMethod · 0.45
ZeroMethod · 0.45

Tested by

no test coverage detected