MCPcopy Create free account
hub / github.com/OpenFOAM/OpenFOAM-dev / updateMesh

Function updateMesh

src/sampling/probes/probes.C:389–465  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

387
388
389void Foam::probes::updateMesh(const mapPolyMesh& mpm)
390{
391 DebugInfo<< "probes: updateMesh" << endl;
392
393 if (&mpm.mesh() != &mesh_)
394 {
395 return;
396 }
397
398 if (fixedLocations_)
399 {
400 findElements(mesh_);
401 }
402 else
403 {
404 if (debug)
405 {
406 Info<< "probes: remapping sample locations" << endl;
407 }
408
409 // 1. Update cells
410 {
411 DynamicList<label> elems(elementList_.size());
412
413 const labelList& reverseMap = mpm.reverseCellMap();
414 forAll(elementList_, i)
415 {
416 label celli = elementList_[i];
417 label newCelli = reverseMap[celli];
418 if (newCelli == -1)
419 {
420 // cell removed
421 }
422 else if (newCelli < -1)
423 {
424 // cell merged
425 elems.append(-newCelli - 2);
426 }
427 else
428 {
429 // valid new cell
430 elems.append(newCelli);
431 }
432 }
433
434 elementList_.transfer(elems);
435 }
436
437 // 2. Update faces
438 {
439 DynamicList<label> elems(faceList_.size());
440
441 const labelList& reverseMap = mpm.reverseFaceMap();
442 forAll(faceList_, i)
443 {
444 label facei = faceList_[i];
445 label newFacei = reverseMap[facei];
446 if (newFacei == -1)

Calls 5

findElementsFunction · 0.70
forAllFunction · 0.50
sizeMethod · 0.45
appendMethod · 0.45
transferMethod · 0.45

Tested by

no test coverage detected