41 void Foam::cylinderAnnulusToCell::combine(topoSet& set,
const bool add)
const
43 const vector axis = point2_ - point1_;
44 const scalar orad2 =
sqr(outerRadius_);
45 const scalar irad2 =
sqr(innerRadius_);
46 const scalar magAxis2 =
magSqr(axis);
52 vector d = ctrs[celli] - point1_;
53 scalar magD = d & axis;
55 if ((magD > 0) && (magD < magAxis2))
57 scalar d2 = (d & d) -
sqr(magD)/magAxis2;
58 if ((d2 < orad2) && (d2 > irad2))
74 const scalar outerRadius,
75 const scalar innerRadius
81 outerRadius_(outerRadius),
82 innerRadius_(innerRadius)
116 Info<<
" Adding cells with centre within cylinder annulus,"
118 << point1_ <<
", point2 = " << point2_ <<
" and outer radius = "
119 << outerRadius_ <<
" and inner radius = " << innerRadius_ <<
endl;
125 Info<<
" Removing cells with centre within cylinder, with point1 = "
126 << point1_ <<
", point2 = " << point2_ <<
" and outer radius = "
127 << outerRadius_ <<
" and inner radius " << innerRadius_ <<
endl;
#define forAll(list, i)
Loop across all elements in list.
Macros for easy insertion into run-time selection tables.
A topoSetSource to select cells based on cell centres inside a cylinder annulus.
virtual void applyToSet(const topoSetSource::setAction action, topoSet &) const
cylinderAnnulusToCell(const polyMesh &mesh, const vector &point1, const vector &point2, const scalar outerRadius, const scalar innerRadius)
Construct from components.
virtual ~cylinderAnnulusToCell()
A list of keyword definitions, which are a keyword followed by any number of values (e....
ITstream & lookup(const word &, bool recursive=false, bool patternMatch=true) const
Find and return an entry data stream.
ITstream & lookupBackwardsCompatible(const wordList &, bool recursive=false, bool patternMatch=true) const
Find and return an entry data stream, trying a list of keywords.
Mesh consisting of general polyhedral cells.
const vectorField & cellCentres() const
Base class of a source for a topoSet.
void addOrDelete(topoSet &set, const label celli, const bool) const
Add (if bool) celli to set or delete celli from set.
setAction
Enumeration defining the valid actions.
General set of labels of mesh quantity (points, cells, faces).
A class for handling words, derived from string.
addToRunTimeSelectionTable(polyPatch, mergedCyclicPolyPatch, word)
dimensionedSymmTensor sqr(const dimensionedVector &dv)
Ostream & endl(Ostream &os)
Add newline and flush stream.
const dimensionSet dimLength
vectorField pointField
pointField is a vectorField.
Vector< scalar > vector
A scalar version of the templated Vector.
void add(FieldField< Field1, typename typeOfSum< Type1, Type2 >::type > &f, const FieldField< Field1, Type1 > &f1, const FieldField< Field2, Type2 > &f2)
defineTypeNameAndDebug(combustionModel, 0)
treeBoundBox combine(const treeBoundBox &a, const treeBoundBox &b)
dimensioned< scalar > magSqr(const dimensioned< Type > &)