210#ifndef actuationDiskSource_H
211#define actuationDiskSource_H
228class actuationDiskSource
230 public fv::cellSetOption,
231 public functionObjects::writeFile
302 void setMonitorCells(
const dictionary&
dict);
305 template<
class AlphaFieldType,
class RhoFieldType>
308 const AlphaFieldType&
alpha,
309 const RhoFieldType&
rho,
310 fvMatrix<vector>& eqn
314 template<
class AlphaFieldType,
class RhoFieldType>
315 void calcFroudeMethod
317 const AlphaFieldType&
alpha,
318 const RhoFieldType&
rho,
319 fvMatrix<vector>& eqn
323 template<
class AlphaFieldType,
class RhoFieldType>
324 void calcVariableScalingMethod
326 const AlphaFieldType&
alpha,
327 const RhoFieldType&
rho,
328 fvMatrix<vector>& eqn
347 const word& modelType,
348 const dictionary&
dict,
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.
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.
scalar diskArea() const
Disk area.
vector diskDir_
Surface-normal vector of the actuator disk pointing downstream.
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.
const vector & diskDir() const
Normal disk direction.
scalar writeFileStart_
Start time for file output.
enum monitorMethodType monitorMethod_
The type of incoming velocity monitoring method.
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 Vector of values with scalar precision, where scalar is float/double depending on the compilation f...
A class for handling words, derived from Foam::string.
OBJstream os(runTime.globalPath()/outputName)
List< label > labelList
A List of labels.
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.