73 label patchI = patchIDs[i];
99 bool haveWarned =
false;
102 if (!faceData[faceI].valid(deltaCalc.data()))
107 <<
"Did not visit some faces, e.g. face " << faceI
109 <<
"Using patch " << patchIDs[0] <<
" as nearest"
113 nearest[faceI] = patchIDs[0];
117 nearest[faceI] = faceData[faceI].data();
139 Info<<
"Subsetting field " << fieldName <<
endl;
173 Info<<
"Subsetting field " << fieldName <<
endl;
208 Info<<
"Subsetting field " << fieldName <<
endl;
242 Info<<
"Subsetting field " << fieldName <<
endl;
263 int main(
int argc,
char *argv[])
267 "select a mesh subset based on a cellSet"
277 "add exposed internal faces to specified patch instead of to "
284 "add exposed internal faces to nearest of specified patches"
285 " instead of to 'oldInternalFaces'"
291 "specify a time for the resulting mesh"
295 runTime.functionObjects().off();
306 word fieldsInstance = runTime.timeName();
314 if (specifiedInstance)
317 meshInstance = fieldsInstance;
321 Info<<
"Reading cell set from " << setName <<
endl <<
endl;
330 const word patchName =
args[
"patch"];
338 if (exposedPatchIDs[0] == -1)
345 Info<<
"Adding exposed internal faces to patch " << patchName <<
endl
354 Info<<
"Adding exposed internal faces to nearest of patches "
359 Info<<
"Adding exposed internal faces to a patch called"
360 <<
" \"oldInternalFaces\" (created if necessary)" <<
endl
368 if (exposedPatchIDs.
size() == 1)
381 region[iter.key()] = 1;
402 wordList scalarNames(objects.names(volScalarField::typeName));
406 wordList vectorNames(objects.names(volVectorField::typeName));
412 objects.names(volSphericalTensorField::typeName)
416 sphericalTensorNames.size()
420 wordList symmTensorNames(objects.names(volSymmTensorField::typeName));
424 wordList tensorNames(objects.names(volTensorField::typeName));
432 wordList surfScalarNames(objects.names(surfaceScalarField::typeName));
436 wordList surfVectorNames(objects.names(surfaceVectorField::typeName));
442 objects.names(surfaceSphericalTensorField::typeName)
446 surfSphericalTensorNames.size()
451 surfSphericalTensorNames,
452 surfSphericalTensorFlds
457 objects.names(surfaceSymmTensorField::typeName)
461 surfSymmTensorNames.size()
465 wordList surfTensorNames(objects.names(surfaceTensorField::typeName));
475 wordList pointScalarNames(objects.names(pointScalarField::typeName));
479 wordList pointVectorNames(objects.names(pointVectorField::typeName));
485 objects.names(pointSphericalTensorField::typeName)
489 pointSphericalTensorNames.size()
495 pointSphericalTensorNames,
496 pointSphericalTensorFlds
501 objects.names(pointSymmTensorField::typeName)
505 pointSymmTensorNames.size()
511 pointSymmTensorNames,
515 wordList pointTensorNames(objects.names(pointTensorField::typeName));
524 wordList scalarDimNames(objects.names(dimScalType::typeName));
529 wordList vectorDimNames(objects.names(dimVecType::typeName));
534 wordList sphericalTensorDimNames(objects.names(dimSphereType::typeName));
537 sphericalTensorDimNames.size()
542 sphericalTensorDimNames,
543 sphericalTensorDimFlds
547 wordList symmTensorDimNames(objects.names(dimSymmTensorType::typeName));
552 wordList tensorDimNames(objects.names(dimTensorType::typeName));
560 if (overwrite || specifiedInstance)
562 runTime.setTime(
instant(fieldsInstance), 0);
570 Info<<
"Writing subsetted mesh and fields to time " << runTime.timeName()
578 scalarFlds[i].rename(scalarNames[i]);
579 scalarFlds[i].write();
583 vectorFlds[i].rename(vectorNames[i]);
584 vectorFlds[i].write();
586 forAll(sphericalTensorFlds, i)
588 sphericalTensorFlds[i].rename(sphericalTensorNames[i]);
589 sphericalTensorFlds[i].write();
593 symmTensorFlds[i].rename(symmTensorNames[i]);
594 symmTensorFlds[i].write();
598 tensorFlds[i].rename(tensorNames[i]);
599 tensorFlds[i].write();
605 surfScalarFlds[i].rename(surfScalarNames[i]);
606 surfScalarFlds[i].write();
610 surfVectorFlds[i].rename(surfVectorNames[i]);
611 surfVectorFlds[i].write();
613 forAll(surfSphericalTensorFlds, i)
615 surfSphericalTensorFlds[i].rename(surfSphericalTensorNames[i]);
616 surfSphericalTensorFlds[i].write();
618 forAll(surfSymmTensorFlds, i)
620 surfSymmTensorFlds[i].rename(surfSymmTensorNames[i]);
621 surfSymmTensorFlds[i].write();
623 forAll(surfTensorNames, i)
625 surfTensorFlds[i].rename(surfTensorNames[i]);
626 surfTensorFlds[i].write();
630 forAll(pointScalarFlds, i)
632 pointScalarFlds[i].rename(pointScalarNames[i]);
633 pointScalarFlds[i].write();
635 forAll(pointVectorFlds, i)
637 pointVectorFlds[i].rename(pointVectorNames[i]);
638 pointVectorFlds[i].write();
640 forAll(pointSphericalTensorFlds, i)
642 pointSphericalTensorFlds[i].rename(pointSphericalTensorNames[i]);
643 pointSphericalTensorFlds[i].write();
645 forAll(pointSymmTensorFlds, i)
647 pointSymmTensorFlds[i].rename(pointSymmTensorNames[i]);
648 pointSymmTensorFlds[i].write();
650 forAll(pointTensorNames, i)
652 pointTensorFlds[i].rename(pointTensorNames[i]);
653 pointTensorFlds[i].write();
659 scalarDimFlds[i].rename(scalarDimNames[i]);
660 scalarDimFlds[i].write();
664 vectorDimFlds[i].rename(vectorDimNames[i]);
665 vectorDimFlds[i].write();
667 forAll(sphericalTensorDimFlds, i)
669 sphericalTensorDimFlds[i].rename(sphericalTensorDimNames[i]);
670 sphericalTensorDimFlds[i].write();
672 forAll(symmTensorDimFlds, i)
674 symmTensorDimFlds[i].rename(symmTensorDimNames[i]);
675 symmTensorDimFlds[i].write();
679 tensorDimFlds[i].rename(tensorDimNames[i]);
680 tensorDimFlds[i].write();