50 scalar geomMin = GREAT;
51 scalar geomMax = -GREAT;
56 geomMin =
min(
min(d), geomMin);
57 geomMax =
max(
max(d), geomMax);
66 geomMin =
min(
min(d), geomMin);
67 geomMax =
max(
max(d), geomMax);
74 geomMax = 1.0001*(geomMax - geomMin) + geomMin;
85 <<
"Max bound must be greater than min bound" <<
nl
100 const word& outputPrefix
122 Info<<
" Activating a set of single-direction bins" <<
endl;
128 Info<<
" Employing " << nBin_ <<
" bins" <<
endl;
131 Info<<
" - min : " << binMin_ <<
endl;
135 Info<<
" - max : " << binMax_ <<
endl;
138 cumulative_ = binDict.
getOrDefault<
bool>(
"cumulative",
false);
139 Info<<
" - cumulative : " << cumulative_ <<
endl;
140 Info<<
" - decomposePatchValues : " << decomposePatchValues_ <<
endl;
142 binDir_ = binDict.
get<
vector>(
"direction");
145 if (
mag(binDir_) == 0)
148 <<
"Input direction should not be zero valued" <<
nl
149 <<
" direction = " << binDir_ <<
nl
153 Info<<
" - direction : " << binDir_ <<
nl <<
endl;
166 processField<scalar>(i)
167 || processField<vector>(i)
168 || processField<sphericalTensor>(i)
169 || processField<symmTensor>(i)
170 || processField<tensor>(i);
175 <<
"Unable to find field " << fieldNames_[i]
176 <<
". Avaliable objects are "
177 << mesh_.objectRegistry::sortedToc()
182 writtenHeader_ =
true;
Macros for easy insertion into run-time selection tables.
#define addToRunTimeSelectionTable(baseType, thisType, argNames)
Add to construction table with typeName as the key.
static MinMax< T > ge(const T &minVal)
A semi-infinite range from minVal to the type max.
virtual bool read()
Re-read model coefficients if they have changed.
Vector< Cmpt > & normalise(const scalar tol=ROOTVSMALL)
Inplace normalise the vector by its magnitude.
Base class for bin models to handle general bin characteristics.
const fvMesh & mesh_
Reference to the mesh.
label nBin_
Total number of bins.
labelHashSet patchSet_
Indices of operand patches.
labelList cellZoneIDs_
Indices of operand cell zones.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
T get(const word &keyword, enum keyType::option matchOpt=keyType::REGEX) const
T getOrDefault(const word &keyword, const T &deflt, enum keyType::option matchOpt=keyType::REGEX) const
T getCheck(const word &keyword, const Predicate &pred, enum keyType::option matchOpt=keyType::REGEX) const
bool readIfPresent(const word &keyword, T &val, enum keyType::option matchOpt=keyType::REGEX) const
Mesh data needed to do the Finite Volume discretisation.
const volVectorField & C() const
Return cell centres as volVectorField.
A polyBoundaryMesh is a polyPatch list with additional search methods and registered IO.
const polyBoundaryMesh & boundaryMesh() const
Return boundary mesh.
const cellZoneMesh & cellZones() const noexcept
Return cell zone mesh.
A patch is a list of labels that address the faces in the global face list.
const vectorField::subField faceCentres() const
Return face centres.
A class for handling words, derived from Foam::string.
#define defineTypeNameAndDebug(Type, DebugSwitch)
Define the typeName and debug information.
#define FatalIOErrorInFunction(ios)
Report an error message using Foam::FatalIOError.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
#define WarningInFunction
Report a warning using Foam::Warning.
label max(const labelHashSet &set, label maxValue=labelMin)
Find the max value in labelHashSet, optionally limited by second argument.
messageStream Info
Information stream (stdout output on master, null elsewhere)
Ostream & endl(Ostream &os)
Add newline and flush stream.
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
void reduce(const List< UPstream::commsStruct > &comms, T &value, const BinaryOp &bop, const int tag, const label comm)
label min(const labelHashSet &set, label minValue=labelMax)
Find the min value in labelHashSet, optionally limited by second argument.
static constexpr const zero Zero
Global zero (0)
errorManipArg< error, int > exit(error &err, const int errNo=1)
constexpr char nl
The newline '\n' character (0x0a)
#define forAll(list, i)
Loop across all elements in list.