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 109 const searchableSurface&
s = *surf_;
114 List<volumeType> volTypes;
115 s.getVolumeType(ctrs, volTypes);
117 const label len = volTypes.size();
118 for (label elemi=0; elemi < len; ++elemi)
132 const word& surfaceType,
133 const polyMesh&
mesh,
134 const dictionary&
dict 140 searchableSurface::
New 146 mesh.time().constant(),
148 mesh.objectRegistry::db(),
157 if (surf_ && !surf_->hasVolumeType())
160 <<
nl <<
"The surface " << surf_->name() <<
" (type: " 161 << surf_->type() <<
") appears to be unclosed ... ignoring" 171 const polyMesh&
mesh,
172 const dictionary&
dict 175 searchableSurfaceToCell
177 dict.getCompat<word>(
"surfaceType", {{
"surface", 0}}),
192 if (!surf_ || !surf_->hasVolumeType())
201 Info<<
" Adding cells enclosed by surface '" 202 << surf_->name() <<
"' (type: " << surf_->type() <<
") ..." 212 Info<<
" Removing cells enclosed by surface '" 213 << 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 expressions::valueTypeCode::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).
Subtract elements from current set.
#define WarningInFunction
Report a warning using Foam::Warning.
Class with constructor to add usage string to table.
tmp< pointField > transform(const pointField &points) const
Coordinate transform (optionally) coordinates. Returns reference to input data if no transform is act...
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))
addToRunTimeSelectionTable(functionObject, pointHistory, dictionary)