fanPressureFvPatchScalarField Class Reference

This boundary condition can be applied to assign either a pressure inlet or outlet total pressure condition for a fan. More...

Inheritance diagram for fanPressureFvPatchScalarField:
[legend]
Collaboration diagram for fanPressureFvPatchScalarField:
[legend]

Public Types

enum  fanFlowDirection : uint8_t { ffdIn, ffdOut }
 Fan flow direction. More...
 

Public Member Functions

 TypeName ("fanPressure")
 Runtime type information. More...
 
 fanPressureFvPatchScalarField (const fvPatch &, const DimensionedField< scalar, volMesh > &)
 Construct from patch and internal field. More...
 
 fanPressureFvPatchScalarField (const fvPatch &, const DimensionedField< scalar, volMesh > &, const dictionary &)
 Construct from patch, internal field and dictionary. More...
 
 fanPressureFvPatchScalarField (const fanPressureFvPatchScalarField &, const fvPatch &, const DimensionedField< scalar, volMesh > &, const fvPatchFieldMapper &)
 Construct by mapping given. More...
 
 fanPressureFvPatchScalarField (const fanPressureFvPatchScalarField &)
 Construct as copy. More...
 
virtual tmp< fvPatchScalarFieldclone () const
 Construct and return a clone. More...
 
 fanPressureFvPatchScalarField (const fanPressureFvPatchScalarField &, const DimensionedField< scalar, volMesh > &)
 Construct as copy setting internal field reference. More...
 
virtual tmp< fvPatchScalarFieldclone (const DimensionedField< scalar, volMesh > &iF) const
 Construct and return a clone setting internal field reference. More...
 
virtual void updateCoeffs ()
 Update the coefficients associated with the patch field. More...
 
virtual void write (Ostream &os) const
 Write. More...
 
- Public Member Functions inherited from totalPressureFvPatchScalarField
 TypeName ("totalPressure")
 Runtime type information. More...
 
 totalPressureFvPatchScalarField (const fvPatch &, const DimensionedField< scalar, volMesh > &)
 Construct from patch and internal field. More...
 
 totalPressureFvPatchScalarField (const fvPatch &, const DimensionedField< scalar, volMesh > &, const dictionary &)
 Construct from patch, internal field and dictionary. More...
 
 totalPressureFvPatchScalarField (const totalPressureFvPatchScalarField &, const fvPatch &, const DimensionedField< scalar, volMesh > &, const fvPatchFieldMapper &)
 Construct by mapping given totalPressureFvPatchScalarField. More...
 
 totalPressureFvPatchScalarField (const totalPressureFvPatchScalarField &)
 Construct as copy. More...
 
 totalPressureFvPatchScalarField (const totalPressureFvPatchScalarField &, const DimensionedField< scalar, volMesh > &)
 Construct as copy setting internal field reference. More...
 
const wordUName () const
 Return the name of the velocity field. More...
 
wordUName ()
 Return reference to the name of the velocity field. More...
 
const wordphiName () const
 Return the name of the flux field. More...
 
wordphiName ()
 Return reference to the name of the flux field. More...
 
const wordrhoName () const
 Return the name of the density field. More...
 
wordrhoName ()
 Return reference to the name of the density field. More...
 
const wordpsiName () const
 Return the name of the compressibility field. More...
 
wordpsiName ()
 Return reference to the name of the compressibility field. More...
 
scalar gamma () const
 Return the heat capacity ratio. More...
 
scalar & gamma ()
 Return reference to the heat capacity ratio to allow adjustment. More...
 
const scalarFieldp0 () const
 Return the total pressure. More...
 
scalarFieldp0 ()
 Return reference to the total pressure to allow adjustment. More...
 
virtual void autoMap (const fvPatchFieldMapper &)
 Map (and resize as needed) from self given a mapping object. More...
 
virtual void rmap (const fvPatchScalarField &, const labelList &)
 Reverse map the given fvPatchField onto this fvPatchField. More...
 
virtual void updateCoeffs (const scalarField &p0p, const vectorField &Up)
 Update the coefficients associated with the patch field. More...
 

Static Public Attributes

static const Enum< fanFlowDirectionfanFlowDirectionNames_
 Fan flow direction names. More...
 

Detailed Description

This boundary condition can be applied to assign either a pressure inlet or outlet total pressure condition for a fan.

The switch nonDimensional can be used for a non-dimensional fan curve. It needs inputs rpm and dm of the fan.

The nonDimensional flux is calculate as :

phi = 4.0*mDot/(rho*sqr(PI)*dm^3*omega) where: dm is the mean diameter. omega is rad/sec.

The nonDimensinal pressure :

Psi = 2 deltaP/(rho*(sqr(PI*omega*dm))) where: deltaP is the pressure drop

The non-dimensional table should be given as Psi = F(phi).

Usage
Property Description Required Default
fanCurve Pressure vs flow-rate yes
direction direction of flow through fan [in/out] yes
p0 environmental total pressure yes
nonDimensional uses non-dimensional table no false
rpm fan rpm for non-dimensional table no
dm mean diameter for non-dimensional table no
file fan curve file name legacy
outOfBounds out of bounds handling legacy

Example of the boundary condition specification:

    inlet
    {
        type            fanPressure;
        direction       in;
        fanCurve
        {
            type table;
            file "<constant>/fanCurve";
            outOfBounds clamp;  // Optional out-of-bounds handling
        }
        p0              uniform 0;
        value           uniform 0;
    }

    // Legacy specification
    outlet
    {
        type            fanPressure;
        direction       out;
        file            "<constant>/fanCurve";
        outOfBounds     clamp;
        p0              uniform 0;
        value           uniform 0;
    }
Note
For compatibility with older versions (OpenFOAM-v2006 and earlier), a missing fanCurve keyword is treated as a tableFile and makes the file keyword mandatory.
See also
Foam::fanFvPatchField Foam::totalPressureFvPatchScalarField Foam::Function1
Source files

Definition at line 170 of file fanPressureFvPatchScalarField.H.

Member Enumeration Documentation

◆ fanFlowDirection

enum fanFlowDirection : uint8_t

Fan flow direction.

Enumerator
ffdIn 
ffdOut 

Definition at line 177 of file fanPressureFvPatchScalarField.H.

Constructor & Destructor Documentation

◆ fanPressureFvPatchScalarField() [1/5]

fanPressureFvPatchScalarField ( const fvPatch p,
const DimensionedField< scalar, volMesh > &  iF 
)

Construct from patch and internal field.

Definition at line 51 of file fanPressureFvPatchScalarField.C.

Referenced by fanPressureFvPatchScalarField::clone().

Here is the caller graph for this function:

◆ fanPressureFvPatchScalarField() [2/5]

fanPressureFvPatchScalarField ( const fvPatch p,
const DimensionedField< scalar, volMesh > &  iF,
const dictionary dict 
)

Construct from patch, internal field and dictionary.

Definition at line 83 of file fanPressureFvPatchScalarField.C.

References dict.

◆ fanPressureFvPatchScalarField() [3/5]

fanPressureFvPatchScalarField ( const fanPressureFvPatchScalarField rhs,
const fvPatch p,
const DimensionedField< scalar, volMesh > &  iF,
const fvPatchFieldMapper mapper 
)

Construct by mapping given.

fanPressureFvPatchScalarField onto a new patch

Definition at line 66 of file fanPressureFvPatchScalarField.C.

◆ fanPressureFvPatchScalarField() [4/5]

Construct as copy.

Definition at line 118 of file fanPressureFvPatchScalarField.C.

◆ fanPressureFvPatchScalarField() [5/5]

Construct as copy setting internal field reference.

Definition at line 132 of file fanPressureFvPatchScalarField.C.

Member Function Documentation

◆ TypeName()

TypeName ( "fanPressure"  )

Runtime type information.

◆ clone() [1/2]

virtual tmp<fvPatchScalarField> clone ( ) const
inlinevirtual

Construct and return a clone.

Reimplemented from totalPressureFvPatchScalarField.

Definition at line 248 of file fanPressureFvPatchScalarField.H.

References fanPressureFvPatchScalarField::fanPressureFvPatchScalarField().

Here is the call graph for this function:

◆ clone() [2/2]

virtual tmp<fvPatchScalarField> clone ( const DimensionedField< scalar, volMesh > &  iF) const
inlinevirtual

Construct and return a clone setting internal field reference.

Reimplemented from totalPressureFvPatchScalarField.

Definition at line 265 of file fanPressureFvPatchScalarField.H.

◆ updateCoeffs()

◆ write()

void write ( Ostream os) const
virtual

Write.

Reimplemented from totalPressureFvPatchScalarField.

Definition at line 226 of file fanPressureFvPatchScalarField.C.

References os(), totalPressureFvPatchScalarField::write(), and Ostream::writeEntry().

Here is the call graph for this function:

Member Data Documentation

◆ fanFlowDirectionNames_

const Foam::Enum< Foam::fanPressureFvPatchScalarField::fanFlowDirection > fanFlowDirectionNames_
static

Fan flow direction names.

Definition at line 184 of file fanPressureFvPatchScalarField.H.


The documentation for this class was generated from the following files: