51 void Foam::fv::actuationDiskSource::checkData()
const 53 if (
magSqr(diskArea_) <= vSmall)
56 <<
"diskArea is approximately zero" 59 if (Cp_ <= vSmall || Ct_ <= vSmall)
62 <<
"Cp and Ct must be greater than zero" 65 if (
mag(diskDir_) < vSmall)
68 <<
"disk direction vector is approximately zero" 74 <<
"upstream location " << upstreamPoint_ <<
" not found in mesh" 85 const word& modelType,
91 diskDir_(coeffs_.lookup(
"diskDir")),
94 diskArea_(
readScalar(coeffs_.lookup(
"diskArea"))),
95 upstreamPoint_(coeffs_.lookup(
"upstreamPoint")),
98 coeffs_.lookup(
"fields") >> fieldNames_;
99 applied_.setSize(fieldNames_.size(),
false);
101 Info<<
" - creating actuation disk zone: " 104 upstreamCellId_ = mesh.
findCell(upstreamPoint_);
124 addActuationDiskAxialInertialResistance
149 addActuationDiskAxialInertialResistance
165 coeffs_.readIfPresent(
"diskDir", diskDir_);
166 coeffs_.readIfPresent(
"Cp", Cp_);
167 coeffs_.readIfPresent(
"Ct", Ct_);
168 coeffs_.readIfPresent(
"diskArea", diskArea_);
defineTypeNameAndDebug(option, 0)
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
errorManipArg< error, int > exit(error &err, const int errNo=1)
A list of keyword definitions, which are a keyword followed by any number of values (e...
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
const GeometricField< Type, fvPatchField, volMesh > & psi() const
Ostream & endl(Ostream &os)
Add newline and flush stream.
addToRunTimeSelectionTable(option, fixedTemperatureConstraint, dictionary)
actuationDiskSource(const word &name, const word &modelType, const dictionary &dict, const fvMesh &mesh)
Construct from components.
virtual bool read(const dictionary &dict)
Read source dictionary.
Macros for easy insertion into run-time selection tables.
A class representing the concept of a GeometricField of 1 used to avoid unnecessary manipulations for...
A class for handling words, derived from string.
virtual void addSup(fvMatrix< vector > &eqn, const label fieldi)
Source term to momentum equation.
A special matrix type and solver, designed for finite volume solutions of scalar equations. Face addressing is used to make all matrix assembly and solution loops vectorise.
bool readScalar(const char *buf, doubleScalar &s)
Read whole of buf as a scalar. Return true if successful.
dimensioned< scalar > magSqr(const dimensioned< Type > &)
virtual bool read(const dictionary &dict)
Read dictionary.
word name(const complex &)
Return a string representation of a complex.
Mesh data needed to do the Finite Volume discretisation.
label findCell(const point &p, const cellDecomposition=CELL_TETS) const
Find cell enclosing this location and return index.
dimensioned< scalar > mag(const dimensioned< Type > &)
Cell-set options abstract base class. Provides a base set of controls, e.g.:
T returnReduce(const T &Value, const BinaryOp &bop, const int tag=Pstream::msgType(), const label comm=UPstream::worldComm)