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

Method sendSelf

SRC/element/UWelements/SSPquadUP.cpp:780–846  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

778}
779
780int
781SSPquadUP::sendSelf(int commitTag, Channel &theChannel)
782{
783 int res = 0;
784
785 // note: we don't check for dataTag == 0 for Element
786 // objects as that is taken care of in a commit by the Domain
787 // object - don't want to have to do the check if sending data
788 int dataTag = this->getDbTag();
789
790 // SSPquadUP packs its data into a Vector and sends this to theChannel
791 // along with its dbTag and the commitTag passed in the arguments
792 //LM change
793 static Vector data(15);
794 data(0) = this->getTag();
795 data(1) = mThickness;
796 data(2) = fBulk;
797 data(3) = fDens;
798 data(4) = perm[0];
799 data(5) = perm[1];
800 data(6) = mPorosity;
801 data(7) = b[0];
802 data(8) = b[1];
803 data(9) = P[0];
804 data(10) = P[1];
805 data(11) = P[2];
806 data(12) = P[3];
807 data(13) = theMaterial->getClassTag();
808 //LM change
809
810 // Now SSPquadUP sends the ids of its materials
811 int matDbTag = theMaterial->getDbTag();
812
813 static ID idData(12);
814
815 // NOTE: we do have to ensure that the material has a database
816 // tag if we are sending to a database channel.
817 if (matDbTag == 0) {
818 matDbTag = theChannel.getDbTag();
819 if (matDbTag != 0) {
820 theMaterial->setDbTag(matDbTag);
821 }
822 }
823 data(14) = matDbTag;
824
825 res += theChannel.sendVector(dataTag, commitTag, data);
826 if (res < 0) {
827 opserr << "WARNING SSPquadUP::sendSelf() - " << this->getTag() << " failed to send Vector\n";
828 return res;
829 }
830
831 // SSPquadUP then sends the tags of its four nodes
832 res += theChannel.sendID(dataTag, commitTag, mExternalNodes);
833 if (res < 0) {
834 opserr << "WARNING SSPquadUP::sendSelf() - " << this->getTag() << " failed to send ID\n";
835 return res;
836 }
837

Callers

nothing calls this directly

Calls 6

getDbTagMethod · 0.45
getTagMethod · 0.45
getClassTagMethod · 0.45
setDbTagMethod · 0.45
sendVectorMethod · 0.45
sendIDMethod · 0.45

Tested by

no test coverage detected