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

Method elimSecondaries

SRC/recorder/RemoveRecorder.cpp:1177–1236  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1175
1176
1177int
1178RemoveRecorder::elimSecondaries(double timeStamp)
1179{
1180 #ifdef MMTDEBUG
1181 opserr<<"entering elimSecondaries()"<<endln;
1182 #endif
1183 int result = 0;
1184
1185
1186
1187 // remove secondary elements and nodes
1188 for (int i =0; i<secondaryEleTags.Size(); i++) {
1189
1190 int remFlag = 0;
1191 for (int m =0; m<RemoveRecorder::numRemEles; m++) {
1192 if (secondaryEleTags[i] == RemoveRecorder::remEleList[m]) {
1193 remFlag = 1;
1194 #ifdef MMTDEBUG
1195 opserr<<" element "<<eleTags[i]<<" already removed "<<endln;
1196 #endif
1197 }
1198 }
1199
1200 if (remFlag == 0) {
1201 Element *theEle = theDomain->getElement(secondaryEleTags[i]);
1202 ID secondaryNodes = theEle->getExternalNodes();
1203
1204 for (int k = 0; k<theEle->getNumExternalNodes(); k++) {
1205
1206 int nodeRemFlag = 0;
1207 for (int m =0; m<RemoveRecorder::numRemNodes; m++) {
1208
1209 if (secondaryNodes[k] == RemoveRecorder::remNodeList[m]) {
1210 nodeRemFlag = 1;
1211 #ifdef MMTDEBUG
1212 opserr<<" node "<<secondaryNodes[k]<<" already removed "<<endln;
1213 #endif
1214 }
1215 }
1216
1217 if (nodeRemFlag == 0) {
1218 this->elimNode(secondaryNodes[k], timeStamp);
1219 #ifdef MMTDEBUG
1220 opserr<<" eliminated node "<<secondaryNodes[k]<<endln;
1221 opserr<<"Node removal # "<<numRemNodes<<" of node # "<<remNodeList[numRemNodes-1]<<endln;
1222 #endif
1223 }
1224 }
1225
1226 this->elimElem(secondaryEleTags[i], timeStamp);
1227 #ifdef MMTDEBUG
1228 opserr<<" eliminated element "<<secondaryEleTags[i]<<endln;
1229 opserr<<"Element removal # "<<numRemEles<<" of element # "<<remEleList[numRemEles-1]<<endln;
1230 #endif
1231 }
1232
1233 }
1234

Callers 1

recordMethod · 0.95

Calls 5

elimNodeMethod · 0.95
elimElemMethod · 0.95
SizeMethod · 0.45
getElementMethod · 0.45
getNumExternalNodesMethod · 0.45

Tested by

no test coverage detected