210 #ifndef Foam_actuationDiskSource_H 211 #define Foam_actuationDiskSource_H 228 class actuationDiskSource
230 public fv::cellSetOption,
231 public functionObjects::writeFile
280 autoPtr<Function1<vector>>
diskDir_;
303 void setMonitorCells(
const dictionary&
dict);
306 template<
class AlphaFieldType,
class RhoFieldType>
309 const AlphaFieldType&
alpha,
310 const RhoFieldType&
rho,
311 fvMatrix<vector>& eqn
315 template<
class AlphaFieldType,
class RhoFieldType>
316 void calcFroudeMethod
318 const AlphaFieldType&
alpha,
319 const RhoFieldType&
rho,
320 fvMatrix<vector>& eqn
324 template<
class AlphaFieldType,
class RhoFieldType>
325 void calcVariableScalingMethod
327 const AlphaFieldType&
alpha,
328 const RhoFieldType&
rho,
329 fvMatrix<vector>& eqn
348 const word& modelType,
349 const dictionary&
dict,
label sink_
Flag for body forces to act as a source (false) or a sink (true)
TypeName("actuationDiskSource")
Runtime type information.
const fvMesh & mesh() const noexcept
Return const access to the mesh database.
A list of keyword definitions, which are a keyword followed by a number of values (eg...
scalar writeFileEnd_
End time for file output.
autoPtr< Function1< scalar > > UvsCpPtr_
Velocity vs power coefficients.
forceMethodType
Options for the force computation method types.
static const Enum< forceMethodType > forceMethodTypeNames
Names for forceMethodType.
virtual void writeFileHeader(Ostream &os)
Output file header information.
"Variable-scaling actuator disk method"
void operator=(const actuationDiskSource &)=delete
No copy assignment.
autoPtr< Function1< scalar > > UvsCtPtr_
Velocity vs thrust coefficients.
enum forceMethodType forceMethod_
The type of the force computation method.
actuationDiskSource()=delete
No default construct.
"Froude's ideal actuator disk method"
virtual ~actuationDiskSource()=default
Destructor.
vector diskDir() const
Normal disk direction, evaluated at timeOutputValue.
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.
const word & name() const noexcept
Return const access to the source name.
autoPtr< Function1< vector > > diskDir_
Surface-normal vector of the actuator disk pointing downstream as a function of time.
static const Enum< monitorMethodType > monitorMethodTypeNames
Names for monitorMethodType.
A Vector of values with scalar precision, where scalar is float/double depending on the compilation f...
OBJstream os(runTime.globalPath()/outputName)
virtual bool read(const dictionary &dict)
Read dictionary.
monitorMethodType
Options for the incoming velocity monitoring method types.
List< label > labelList
A List of labels.
labelList monitorCells_
Set of cells whereat the incoming velocity is monitored.
const dimensionedScalar alpha
Fine-structure constant: default SI units: [].
scalar diskArea_
Actuator disk planar surface area [m2].
enum monitorMethodType monitorMethod_
The type of incoming velocity monitoring method.
scalar writeFileStart_
Start time for file output.
scalar diskArea() const noexcept
Disk area.