51 void Foam::fv::actuationDiskSource::readCoeffs()
53 UName_ = coeffs().lookupOrDefault<word>(
"U",
"U");
55 diskDir_ = coeffs().lookup<
vector>(
"diskDir");
56 if (
mag(diskDir_) < vSmall)
59 <<
"disk direction vector is approximately zero" 63 Cp_ = coeffs().lookup<scalar>(
"Cp");
64 Ct_ = coeffs().lookup<scalar>(
"Ct");
65 if (Cp_ <= vSmall || Ct_ <= vSmall)
68 <<
"Cp and Ct must be greater than zero" 72 diskArea_ = coeffs().lookup<scalar>(
"diskArea");
73 if (
magSqr(diskArea_) <= vSmall)
76 <<
"diskArea is approximately zero" 80 upstreamPoint_ = coeffs().lookup<
point>(
"upstreamPoint");
81 upstreamCellId_ =
mesh().findCell(upstreamPoint_);
85 <<
"upstream location " << upstreamPoint_ <<
" not found in mesh" 96 const word& modelType,
101 fvModel(name, modelType, dict, mesh),
102 set_(coeffs(), mesh),
126 const word& fieldName
133 if (set_.V() > vSmall)
135 addActuationDiskAxialInertialResistance
151 const word& fieldName
158 if (set_.V() > vSmall)
160 addActuationDiskAxialInertialResistance
174 set_.updateMesh(mpm);
defineTypeNameAndDebug(fixedTemperatureConstraint, 0)
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
virtual bool read(const dictionary &dict)
Read source dictionary.
actuationDiskSource(const word &name, const word &modelType, const dictionary &dict, const fvMesh &mesh)
Construct from components.
Finite volume model abstract base class.
Vector< scalar > vector
A scalar version of the templated Vector.
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
Macros for easy insertion into run-time selection tables.
virtual void updateMesh(const mapPolyMesh &)
Update for mesh changes.
virtual wordList addSupFields() const
Return the list of fields for which the fvModel adds source term.
virtual void addSup(fvMatrix< vector > &eqn, const word &fieldName) const
Source term to momentum equation.
A class representing the concept of a GeometricField of 1 used to avoid unnecessary manipulations for...
A class for handling words, derived from string.
static const word null
An empty word.
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.
dimensioned< scalar > magSqr(const dimensioned< Type > &)
virtual bool read(const dictionary &dict)
Read dictionary.
addToRunTimeSelectionTable(fvConstraint, fixedTemperatureConstraint, dictionary)
List< word > wordList
A List of words.
vector point
Point is a vector.
Mesh data needed to do the Finite Volume discretisation.
static Vector< scalar > uniform(const scalar &s)
Return a VectorSpace with all elements = s.
dimensioned< scalar > mag(const dimensioned< Type > &)
T returnReduce(const T &Value, const BinaryOp &bop, const int tag=Pstream::msgType(), const label comm=UPstream::worldComm)