41 searchableSurfaceToCell,
47 searchableSurfaceToCell,
53 searchableSurfaceToCell,
62 searchableSurfaceToCell::typeName,
63 "\n Usage: searchableSurfaceToCell surface\n\n" 64 " Select cells with centre enclosed by the surface" 89 if (surfaceName.empty()) surfaceName =
"surface";
99 void Foam::searchableSurfaceToCell::combine(topoSet&
set,
const bool add)
const 106 const searchableSurface&
s = *surf_;
110 List<volumeType> volTypes;
111 s.getVolumeType(ctrs, volTypes);
113 const label len = volTypes.size();
114 for (label elemi=0; elemi < len; ++elemi)
128 const word& surfaceType,
129 const polyMesh&
mesh,
130 const dictionary&
dict 133 topoSetCellSource(
mesh),
136 searchableSurface::
New 142 mesh.time().constant(),
144 mesh.objectRegistry::db(),
153 if (surf_ && !surf_->hasVolumeType())
156 <<
nl <<
"The surface " << surf_->name() <<
" (type: " 157 << surf_->type() <<
") appears to be unclosed ... ignoring" 167 const polyMesh&
mesh,
168 const dictionary&
dict 171 searchableSurfaceToCell
173 dict.getCompat<word>(
"surfaceType", {{
"surface", 0}}),
188 if (!surf_ || !surf_->hasVolumeType())
197 Info<<
" Adding cells enclosed by surface '" 198 << surf_->name() <<
"' (type: " << surf_->type() <<
") ..." 208 Info<<
" Removing cells enclosed by surface '" 209 << surf_->name() <<
"' (type: " << surf_->type() <<
") ..."
A list of keyword definitions, which are a keyword followed by a number of values (eg...
Create a new set and ADD elements to it.
Add elements to current set.
constexpr char nl
The newline '\n' character (0x0a)
Ostream & endl(Ostream &os)
Add newline and flush stream.
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh >> &tf1, const word &name, const dimensionSet &dimensions, const bool initCopy=false)
Global function forwards to reuseTmpDimensionedField::New.
void addOrDelete(topoSet &set, const label id, const bool add) const
Add or delete id from set. Add when 'add' is true.
Macros for easy insertion into run-time selection tables.
addNamedToRunTimeSelectionTable(topoSetCellSource, badQualityToCell, word, badQuality)
AccessType combine(const UList< T > &lists, AccessOp aop=accessOp< T >())
Combines sub-lists into a single list.
vectorField pointField
pointField is a vectorField.
word name(const expressions::valueTypeCode typeCode)
A word representation of a valueTypeCode. Empty for INVALID.
A class for handling words, derived from Foam::string.
setAction
Enumeration defining various actions.
A location inside the volume.
const vectorField & cellCentres() const
static word getSurfaceName(const dictionary &dict, word surfaceName)
virtual void applyToSet(const topoSetSource::setAction action, topoSet &set) const
Apply specified action to the topoSet.
const polyMesh & mesh_
Reference to the mesh.
const wordList surface
Standard surface field types (scalar, vector, tensor, etc)
void add(FieldField< Field1, typename typeOfSum< Type1, Type2 >::type > &f, const FieldField< Field1, Type1 > &f1, const FieldField< Field2, Type2 > &f2)
bool readIfPresent(const word &keyword, T &val, enum keyType::option matchOpt=keyType::REGEX) const
Find an entry if present, and assign to T val. FatalIOError if it is found and the number of tokens i...
defineTypeNameAndDebug(combustionModel, 0)
General set of labels of mesh quantity (points, cells, faces).
addToRunTimeSelectionTable(decompositionMethod, kahipDecomp, dictionary)
Subtract elements from current set.
#define WarningInFunction
Report a warning using Foam::Warning.
Class with constructor to add usage string to table.
messageStream Info
Information stream (stdout output on master, null elsewhere)
searchableSurfaceToCell(const word &surfaceType, const polyMesh &mesh, const dictionary &dict)
Construct surface-type from dictionary.
gmvFile<< "tracers "<< particles.size()<< nl;for(const passiveParticle &p :particles){ gmvFile<< p.position().x()<< " ";}gmvFile<< nl;for(const passiveParticle &p :particles){ gmvFile<< p.position().y()<< " ";}gmvFile<< nl;for(const passiveParticle &p :particles){ gmvFile<< p.position().z()<< " ";}gmvFile<< nl;forAll(lagrangianScalarNames, i){ word name=lagrangianScalarNames[i];IOField< scalar > s(IOobject(name, runTime.timeName(), cloud::prefix, mesh, IOobject::MUST_READ, IOobject::NO_WRITE))