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

Method clear

SRC/element/PFEMElement/BackgroundGrid.cpp:150–200  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

148}
149
150void
151BackgroundGrid::clear(const ID& structuralNodes)
152{
153 Domain* theDomain = OPS_GetDomain();
154 if (theDomain == 0) return;
155
156 // for each grid
157 reset();
158 while (isEnd() == false) {
159
160 // remove elements
161 std::vector<Element*>* eles = getElements();
162
163 if (eles != 0) {
164 for (int i=0; i<(int)eles->size(); i++) {
165 Element* ele = (*eles)[i];
166 if (ele != 0) {
167 if (theDomain->removeElement(ele->getTag()) != 0) {
168 delete ele;
169 }
170 }
171 }
172 }
173
174 // remove nodes
175 Node* node = getNode();
176 if (node != 0) {
177
178 if (structuralNodes.getLocationOrdered(node->getTag()) < 0) {
179 // remove pc
180 Pressure_Constraint* pc = theDomain->removePressure_Constraint(node->getTag());
181 if (pc != 0) delete pc;
182
183 if (theDomain->removeNode(node->getTag()) != 0) {
184 delete node;
185 }
186 }
187 }
188
189 // remove data
190 if (iter->second != 0) {
191 delete iter->second;
192 iter->second = 0;
193 }
194
195 next();
196 }
197
198 data.clear();
199 iter = data.end();
200}
201
202GridIndex
203BackgroundGrid::getIndex() const

Callers 1

~BackgroundGridMethod · 0.45

Calls 8

OPS_GetDomainFunction · 0.50
sizeMethod · 0.45
removeElementMethod · 0.45
getTagMethod · 0.45
getLocationOrderedMethod · 0.45
removeNodeMethod · 0.45
endMethod · 0.45

Tested by

no test coverage detected