int Bidirectional::recvSelf(int cTag, Channel &theChannel, FEM_ObjectBroker &theBroker) { int res = 0; static Vector data(12); res = theChannel.recvVector(this->getDbTag(), cTag, data); if (res < 0) { opserr << "Bidirectional::recvSelf() - failed to receive data\n"; E = 0; this->setTag(0); } else { this->setTag((int)data(0)); E = data(1); sigY = data(2); Hiso = data(3); Hkin = data(4); eP_n[0] = data(5); eP_n[1] = data(6); q_n[0] = data(7); q_n[1] = data(8); alpha_n = data(9); code1 = (int)data(10); code2 = (int)data(11); // Set the trial state variables revertToLastCommit(); } return res; }
XC::Concrete01::Concrete01(void) :ConcreteBase(0, MAT_TAG_Concrete01,0.0,0.0,0.0),fpcu(0.0), parameterID(0), SHVs() { // Set trial values revertToLastCommit(); }
int Isolator2spring::recvSelf(int cTag, Channel &theChannel, FEM_ObjectBroker &theBroker) { int res = 0; static Vector data(13); res = theChannel.recvVector(this->getDbTag(), cTag, data); if (res < 0) { opserr << "Isolator2spring::recvSelf() - failed to receive data\n"; this->setTag(0); } else { this->setTag((int)data(0)); tol = data(1); k1 = data(2); Fyo = data(3); kbo = data(4); kvo = data(5); h = data(6); Pe = data(7); po = data(8); sP_n = data(9); q_n = data(10); H = data(11); pcr = data(12); // Set the trial state variables revertToLastCommit(); } return res; }
//! @brief Sets initial values for the concrete parameters. void XC::Concrete01::setup_parameters(void) { // Initial tangent const double Ec0= 2*fpc/epsc0; convergedState.Tangent()= Ec0; convergedHistory.UnloadSlope()= Ec0; trialState.Tangent()= Ec0; // Set trial values revertToLastCommit(); }
//! @brief Returns to the initial state. int XC::Concrete01::revertToStart(void) { const double Ec0= 2.0*fpc/epsc0; convergedHistory.revertToStart(Ec0); // History variables convergedState.revertToStart(Ec0);// State variables // Reset trial variables and state revertToLastCommit(); return 0; }