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

Function markZone

src/dynamicMesh/boundaryMesh/boundaryMesh.C:377–431  ·  view source on GitHub ↗

Finds area, starting at facei, delimited by borderEdge

Source from the content-addressed store, hash-verified

375
376// Finds area, starting at facei, delimited by borderEdge
377void Foam::boundaryMesh::markZone
378(
379 const boolList& borderEdge,
380 label facei,
381 label currentZone,
382 labelList& faceZone
383) const
384{
385 faceZone[facei] = currentZone;
386
387 // List of faces whose faceZone has been set.
388 labelList changedFaces(1, facei);
389 // List of edges whose faceZone has been set.
390 labelList changedEdges;
391
392 // Zones on all edges.
393 labelList edgeZone(mesh().nEdges(), -1);
394
395 while (true)
396 {
397 changedEdges = faceToEdge
398 (
399 borderEdge,
400 currentZone,
401 changedFaces,
402 edgeZone
403 );
404
405 if (debug)
406 {
407 Pout<< "From changedFaces:" << changedFaces.size()
408 << " to changedEdges:" << changedEdges.size()
409 << endl;
410 }
411
412 if (changedEdges.empty())
413 {
414 break;
415 }
416
417 changedFaces = edgeToFace(currentZone, changedEdges, faceZone);
418
419 if (debug)
420 {
421 Pout<< "From changedEdges:" << changedEdges.size()
422 << " to changedFaces:" << changedFaces.size()
423 << endl;
424 }
425
426 if (changedFaces.empty())
427 {
428 break;
429 }
430 }
431}
432
433
434// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //

Callers 1

markFacesFunction · 0.70

Calls 2

sizeMethod · 0.45
emptyMethod · 0.45

Tested by

no test coverage detected