Heat exchanger source model, in which the heat exchanger is defined as an energy source using a selection of cells. More...
Public Member Functions | |
| TypeName ("effectivenessHeatExchangerSource") | |
| Runtime type information. More... | |
| effectivenessHeatExchangerSource (const word &name, const word &modelType, const dictionary &dict, const fvMesh &mesh) | |
| Construct from components. More... | |
| virtual | ~effectivenessHeatExchangerSource ()=default |
| Destructor. More... | |
| virtual void | addSup (fvMatrix< scalar > &eqn, const label fieldi) |
| Scalar. More... | |
| virtual void | addSup (const volScalarField &rho, fvMatrix< scalar > &eqn, const label fieldi) |
| Scalar. More... | |
| virtual bool | read (const dictionary &dict) |
| Read dictionary. More... | |
Public Member Functions inherited from cellSetOption | |
| TypeName ("cellSetOption") | |
| Runtime type information. More... | |
| cellSetOption (const word &name, const word &modelType, const dictionary &dict, const fvMesh &mesh) | |
| Construct from components. More... | |
| virtual | ~cellSetOption ()=default |
| Destructor. More... | |
| scalar | timeStart () const |
| Return const access to the time start. More... | |
| scalar | duration () const |
| Return const access to the duration. More... | |
| bool | inTimeLimits (const scalar time) const |
| Return true if within time limits. More... | |
| const selectionModeType & | selectionMode () const |
| Return const access to the cell selection mode. More... | |
| const word & | cellSetName () const |
| Return const access to the name of cell set for "cellSet". More... | |
| scalar | V () const |
| Return const access to the total cell volume. More... | |
| const labelList & | cells () const |
| Return const access to the cell set. More... | |
| scalar & | timeStart () |
| Return access to the time start. More... | |
| scalar & | duration () |
| Return access to the duration. More... | |
| virtual bool | isActive () |
| Is the source active? More... | |
Public Member Functions inherited from option | |
| TypeName ("option") | |
| Runtime type information. More... | |
| declareRunTimeSelectionTable (autoPtr, option, dictionary,(const word &name, const word &modelType, const dictionary &dict, const fvMesh &mesh),(name, modelType, dict, mesh)) | |
| option (const word &name, const word &modelType, const dictionary &dict, const fvMesh &mesh) | |
| Construct from components. More... | |
| autoPtr< option > | clone () const |
| Return clone. More... | |
| virtual | ~option ()=default |
| Destructor. More... | |
| const word & | name () const |
| Return const access to the source name. More... | |
| const fvMesh & | mesh () const |
| Return const access to the mesh database. More... | |
| const dictionary & | coeffs () const |
| Return dictionary. More... | |
| bool | active () const |
| Return const access to the source active flag. More... | |
| void | setApplied (const label fieldi) |
| Set the applied flag to true for field index fieldi. More... | |
| Switch & | active () |
| Return access to the source active flag. More... | |
| virtual label | applyToField (const word &fieldName) const |
| Return index of field name if found in fieldNames list. More... | |
| virtual void | checkApplied () const |
| Check that the source has been applied. More... | |
| virtual void | addSup (fvMatrix< vector > &eqn, const label fieldi) |
| virtual void | addSup (fvMatrix< symmTensor > &eqn, const label fieldi) |
| virtual void | addSup (fvMatrix< sphericalTensor > &eqn, const label fieldi) |
| virtual void | addSup (fvMatrix< tensor > &eqn, const label fieldi) |
| virtual void | addSup (const volScalarField &rho, fvMatrix< vector > &eqn, const label fieldi) |
| virtual void | addSup (const volScalarField &rho, fvMatrix< symmTensor > &eqn, const label fieldi) |
| virtual void | addSup (const volScalarField &rho, fvMatrix< sphericalTensor > &eqn, const label fieldi) |
| virtual void | addSup (const volScalarField &rho, fvMatrix< tensor > &eqn, const label fieldi) |
| virtual void | addSup (const volScalarField &alpha, const volScalarField &rho, fvMatrix< scalar > &eqn, const label fieldi) |
| virtual void | addSup (const volScalarField &alpha, const volScalarField &rho, fvMatrix< vector > &eqn, const label fieldi) |
| virtual void | addSup (const volScalarField &alpha, const volScalarField &rho, fvMatrix< symmTensor > &eqn, const label fieldi) |
| virtual void | addSup (const volScalarField &alpha, const volScalarField &rho, fvMatrix< sphericalTensor > &eqn, const label fieldi) |
| virtual void | addSup (const volScalarField &alpha, const volScalarField &rho, fvMatrix< tensor > &eqn, const label fieldi) |
| virtual void | constrain (fvMatrix< scalar > &eqn, const label fieldi) |
| virtual void | constrain (fvMatrix< vector > &eqn, const label fieldi) |
| virtual void | constrain (fvMatrix< sphericalTensor > &eqn, const label fieldi) |
| virtual void | constrain (fvMatrix< symmTensor > &eqn, const label fieldi) |
| virtual void | constrain (fvMatrix< tensor > &eqn, const label fieldi) |
| virtual void | correct (volScalarField &field) |
| virtual void | correct (volVectorField &field) |
| virtual void | correct (volSphericalTensorField &field) |
| virtual void | correct (volSymmTensorField &field) |
| virtual void | correct (volTensorField &field) |
| virtual void | writeHeader (Ostream &) const |
| Write the source header information. More... | |
| virtual void | writeFooter (Ostream &) const |
| Write the source footer information. More... | |
| virtual void | writeData (Ostream &) const |
| Write the source properties. More... | |
Protected Attributes | |
| scalar | secondaryMassFlowRate_ |
| Secondary flow mass rate [kg/s]. More... | |
| scalar | secondaryInletT_ |
| Inlet secondary temperature [K]. More... | |
| scalar | primaryInletT_ |
| Primary air temperature at the heat exchanger inlet [K]. More... | |
| bool | userPrimaryInletT_ |
| Flag to use a user-specified primary inlet temperature. More... | |
| bool | targetQdotActive_ |
| Flag to use target heat rejection. More... | |
| scalar | targetQdot_ |
| Target heat rejection. More... | |
| label | targetQdotCalcInterval_ |
| Target heat rejection calculation interval. More... | |
| scalar | targetQdotRelax_ |
| Target heat rejection temperature under-relaxation coefficient. More... | |
| autoPtr< interpolation2DTable< scalar > > | eTable_ |
| 2D look up table efficiency = function of primary and secondary More... | |
| word | UName_ |
| Name of velocity field; default = U. More... | |
| word | TName_ |
| Name of temperature field; default = T. More... | |
| word | phiName_ |
| Name of the flux. More... | |
| word | faceZoneName_ |
| Name of the faceZone at the heat exchange inlet. More... | |
| labelList | faceId_ |
| Local list of face IDs. More... | |
| labelList | facePatchId_ |
| Local list of patch ID per face. More... | |
| labelList | faceSign_ |
| List of +1/-1 representing face flip map (1 use as is, -1 negate) More... | |
Protected Attributes inherited from cellSetOption | |
| scalar | timeStart_ |
| Time start. More... | |
| scalar | duration_ |
| Duration. More... | |
| selectionModeType | selectionMode_ |
| Cell selection mode. More... | |
| word | cellSetName_ |
| Name of set/zone for "cellSet" and "cellZone" selectionMode. More... | |
| List< point > | points_ |
| List of points for "points" selectionMode. More... | |
| labelList | cells_ |
| Set of cells to apply source to. More... | |
| scalar | V_ |
| Sum of cell volumes. More... | |
Protected Attributes inherited from option | |
| const word | name_ |
| Source name. More... | |
| const word | modelType_ |
| Model type. More... | |
| const fvMesh & | mesh_ |
| Reference to the mesh database. More... | |
| dictionary | dict_ |
| Top level source dictionary. More... | |
| dictionary | coeffs_ |
| Dictionary containing source coefficients. More... | |
| Switch | active_ |
| Source active flag. More... | |
| wordList | fieldNames_ |
| Field names to apply source to - populated by derived models. More... | |
| List< bool > | applied_ |
| Applied flag list - corresponds to each fieldNames_ entry. More... | |
Additional Inherited Members | |
Public Types inherited from cellSetOption | |
| enum | selectionModeType { smPoints, smCellSet, smCellZone, smAll } |
| Enumeration for selection mode types. More... | |
Static Public Member Functions inherited from option | |
| static autoPtr< option > | New (const word &name, const dictionary &dict, const fvMesh &mesh) |
| Return a reference to the selected fvOption model. More... | |
Public Attributes inherited from option | |
| bool | log |
| Switch write log to Info. More... | |
Static Public Attributes inherited from cellSetOption | |
| static const Enum< selectionModeType > | selectionModeTypeNames_ |
| List of selection mode type names. More... | |
Protected Member Functions inherited from cellSetOption | |
| void | setSelection (const dictionary &dict) |
| Set the cellSet or points selection. More... | |
| void | setCellSet () |
| Set the cell set based on the user input selection mode. More... | |
| void | setVol () |
| Recalculate the volume. More... | |
Heat exchanger source model, in which the heat exchanger is defined as an energy source using a selection of cells.
The total heat exchange source is given by:
\[ Q_t = e(\phi, \dot{m}_2) (T_2 - T_1) \phi c_p \]
where:
| \( Q_t \) | = | total heat source |
| \( e(\phi,\dot{m}_2) \) | = | effectivenes table |
| \( \phi \) | = | net mass flux entering heat exchanger [kg/s] |
| \( \dot{m}_2 \) | = | secondary mass flow rate [kg/s] |
| \( T_1 \) | = | primary inlet temperature [K] |
| \( T_2 \) | = | secondary inlet temperature [K] |
| \( c_p \) | = | specific heat capacity [J/kg/K] |
The distribution inside the heat exchanger is given by:
\[ Q_c = \frac{V_c |U_c| (T_c - T_{ref})}{\sum(V_c |U_c| (T_c - T_{ref}))} \]
where:
| \( Q_c \) | = | source for cell |
| \( V_c \) | = | volume of the cell [m3] |
| \( U_c \) | = | local cell velocity [m/s] |
| \( T_c \) | = | local call temperature [K] |
| \( T_{ref} \) | = | min or max(T) in cell zone depending on the sign of Q_t [K] |
effectivenessHeatExchangerSource1
{
type effectivenessHeatExchangerSource;
active yes;
selectionMode cellZone;
cellZone porosity;
secondaryMassFlowRate 1.0;
secondaryInletT 336;
faceZone facesZoneInletOriented;
outOfBounds clamp;
file "effTable";
// Optional
// primaryInletT 293;
// targetQdot 1500;
}
Optional entries:
primaryInletT : sets the primary inlet temperature. If not set, the flux-averaged temperature is used.targetQdot : target heat rejectionThe effectiveness table is described in terms of the primary and secondary mass flow rates. For example, the table:
secondary MFR
| 0.1 0.2 0.3
-----+-----------------
0.02 | A B C
primary MFR 0.04 | D E F
0.06 | G H I
is specified by the following:
(
(
0.02
(
(0.1 A)
(0.2 B)
(0.3 C)
)
)
(
0.04
(
(0.1 D)
(0.2 E)
(0.3 F)
)
)
(
0.06
(
(0.1 G)
(0.2 H)
(0.3 I)
)
)
);
file should have the same units as the secondary mass flow rate and kg/s for phifaceZone is the faces at the inlet of the cellzone, it needs to be created with flip map flags. It is used to integrate the net mass flow rate into the heat exchangerDefinition at line 218 of file effectivenessHeatExchangerSource.H.
| effectivenessHeatExchangerSource | ( | const word & | name, |
| const word & | modelType, | ||
| const dictionary & | dict, | ||
| const fvMesh & | mesh | ||
| ) |
Construct from components.
Definition at line 136 of file effectivenessHeatExchangerSource.C.
References dict, dictionary::dictName(), and Foam::read().
|
virtualdefault |
Destructor.
| TypeName | ( | "effectivenessHeatExchangerSource" | ) |
Runtime type information.
|
inlinevirtual |
Scalar.
Reimplemented from option.
Definition at line 325 of file effectivenessHeatExchangerSource.H.
References NotImplemented.
|
virtual |
Scalar.
Reimplemented from option.
Definition at line 182 of file effectivenessHeatExchangerSource.C.
References Foam::constant::atomic::alpha, Foam::decrIndent(), dictionary::dictName(), Foam::endl(), forAll, Foam::gMax(), Foam::gMin(), Foam::incrIndent(), Foam::indent(), Foam::Info, Foam::fvc::interpolate(), Foam::mag(), Foam::max(), Foam::name(), Foam::nl, phi, Foam::reduce(), fvMatrix< Type >::source(), Foam::T(), Foam::type(), U, and Foam::Zero.
|
virtual |
Read dictionary.
Reimplemented from cellSetOption.
Definition at line 315 of file effectivenessHeatExchangerSource.C.
References dict, Foam::endl(), Foam::indent(), Foam::Info, Foam::name(), Foam::nl, cellSetOption::read(), and Foam::type().
|
protected |
Secondary flow mass rate [kg/s].
Definition at line 228 of file effectivenessHeatExchangerSource.H.
|
protected |
Inlet secondary temperature [K].
Definition at line 231 of file effectivenessHeatExchangerSource.H.
|
protected |
Primary air temperature at the heat exchanger inlet [K].
Definition at line 234 of file effectivenessHeatExchangerSource.H.
|
protected |
Flag to use a user-specified primary inlet temperature.
Definition at line 237 of file effectivenessHeatExchangerSource.H.
|
protected |
Flag to use target heat rejection.
Definition at line 240 of file effectivenessHeatExchangerSource.H.
|
protected |
Target heat rejection.
Definition at line 243 of file effectivenessHeatExchangerSource.H.
|
protected |
Target heat rejection calculation interval.
Definition at line 246 of file effectivenessHeatExchangerSource.H.
|
protected |
Target heat rejection temperature under-relaxation coefficient.
Definition at line 249 of file effectivenessHeatExchangerSource.H.
|
protected |
2D look up table efficiency = function of primary and secondary
mass flow rates [kg/s]
Definition at line 253 of file effectivenessHeatExchangerSource.H.
|
protected |
Name of velocity field; default = U.
Definition at line 256 of file effectivenessHeatExchangerSource.H.
|
protected |
Name of temperature field; default = T.
Definition at line 259 of file effectivenessHeatExchangerSource.H.
|
protected |
Name of the flux.
Definition at line 262 of file effectivenessHeatExchangerSource.H.
|
protected |
Name of the faceZone at the heat exchange inlet.
Definition at line 265 of file effectivenessHeatExchangerSource.H.
|
protected |
Local list of face IDs.
Definition at line 268 of file effectivenessHeatExchangerSource.H.
|
protected |
Local list of patch ID per face.
Definition at line 271 of file effectivenessHeatExchangerSource.H.
|
protected |
List of +1/-1 representing face flip map (1 use as is, -1 negate)
Definition at line 274 of file effectivenessHeatExchangerSource.H.