210#ifndef Foam_actuationDiskSource_H
211#define Foam_actuationDiskSource_H
230 public fv::cellSetOption,
231 public functionObjects::writeFile
280 autoPtr<Function1<vector>>
diskDir_;
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,
Enum is a wrapper around a list of names/values that represent particular enumeration (or int) values...
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Base class for writing single files from the function objects.
A special matrix type and solver, designed for finite volume solutions of scalar equations....
Mesh data needed to do the Finite Volume discretisation.
Applies sources on velocity (i.e. U) within a specified region to enable actuator disk models for aer...
actuationDiskSource()=delete
No default construct.
static const Enum< monitorMethodType > monitorMethodTypeNames
Names for monitorMethodType.
autoPtr< Function1< scalar > > UvsCtPtr_
Velocity vs thrust coefficients.
vector diskDir() const
Normal disk direction, evaluated at timeOutputValue.
actuationDiskSource(const actuationDiskSource &)=delete
No copy construct.
void operator=(const actuationDiskSource &)=delete
No copy assignment.
TypeName("actuationDiskSource")
Runtime type information.
static const Enum< forceMethodType > forceMethodTypeNames
Names for forceMethodType.
virtual ~actuationDiskSource()=default
Destructor.
monitorMethodType
Options for the incoming velocity monitoring method types.
@ POINTS
"A set of points"
scalar writeFileEnd_
End time for file output.
virtual bool read(const dictionary &dict)
Read dictionary.
autoPtr< Function1< vector > > diskDir_
Surface-normal vector of the actuator disk pointing downstream as a function of time.
scalar writeFileStart_
Start time for file output.
enum monitorMethodType monitorMethod_
The type of incoming velocity monitoring method.
scalar diskArea() const noexcept
Disk area.
enum forceMethodType forceMethod_
The type of the force computation method.
forceMethodType
Options for the force computation method types.
@ FROUDE
"Froude's ideal actuator disk method"
@ VARIABLE_SCALING
"Variable-scaling actuator disk method"
labelList monitorCells_
Set of cells whereat the incoming velocity is monitored.
virtual void addSup(fvMatrix< vector > &eqn, const label fieldi)
Source term to momentum equation.
virtual void writeFileHeader(Ostream &os)
Output file header information.
autoPtr< Function1< scalar > > UvsCpPtr_
Velocity vs power coefficients.
label sink_
Flag for body forces to act as a source (false) or a sink (true).
scalar diskArea_
Actuator disk planar surface area [m2].
Intermediate abstract class for handling cell-set options for the derived fvOptions.
const word & name() const noexcept
Return const access to the source name.
const fvMesh & mesh() const noexcept
Return const access to the mesh database.
A class for handling words, derived from Foam::string.
OBJstream os(runTime.globalPath()/outputName)
Namespace for finite-volume.
List< label > labelList
A List of labels.
GeometricField< scalar, fvPatchField, volMesh > volScalarField
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.