41 void Foam::truncatedConeToCell::combine(topoSet& set,
const bool add)
const
43 const vector axis = point2_ - point1_;
44 const scalar magAxisSquared =
magSqr(axis);
50 const vector d = ctrs[celli] - point1_;
51 const scalar magD = d & axis;
53 if ((magD > 0) && (magD < magAxisSquared))
55 const scalar d2 = (d & d) -
sqr(magD) / magAxisSquared;
56 const scalar radiusAtCell =
57 radius1_ + (radius2_ - radius1_)*magD/(axis&axis);
59 if (d2 <=
sqr(radiusAtCell))
117 Info<<
" Adding cells with centre within cone, with point1 = "
119 <<
", point2 = " << point2_
120 <<
" and radii = " << radius1_ <<
" to " << radius2_ <<
endl;
126 Info<<
" Removing cells with centre within cone, with point1 = "
128 <<
", point2 = " << point2_
129 <<
" and radii = " << radius1_ <<
" to " << radius2_ <<
endl;
#define forAll(list, i)
Loop across all elements in list.
Macros for easy insertion into run-time selection tables.
A list of keyword definitions, which are a keyword followed by any number of values (e....
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 topoSetSource to select cells with centres inside a truncated cone.
virtual ~truncatedConeToCell()
Destructor.
virtual void applyToSet(const topoSetSource::setAction action, topoSet &) const
truncatedConeToCell(const polyMesh &mesh, const vector &point1, const vector &point2, const scalar radius1, const scalar radius2)
Construct from components.
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 > &)