functionObjects::comfort: extended to calculate the draught rate (DR)
The draught rate determines the percentage of affected people by an airflow caused due to room ventilation or buoyancy effects (cold windows). The draught rate calculation is valid for room temperatures between 20 and 26 degrees Celsius and airspeed less than 0.5 m/s. This quantity is used widely for quantifying offices, auditoriums, or similar rooms in which persons are working. Patch contributed by Tobias Holzmann
This commit is contained in:
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Copyright (C) 2019 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2019-2021 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -407,7 +407,7 @@ bool Foam::functionObjects::comfort::execute()
|
||||
|
||||
Info<< "Calculating the predicted percentage of dissatisfaction (PPD)\n";
|
||||
|
||||
// Equation (5) in EN ISO
|
||||
// Equation (5)
|
||||
tmp<volScalarField> PPD
|
||||
(
|
||||
volScalarField::New
|
||||
@ -417,13 +417,68 @@ bool Foam::functionObjects::comfort::execute()
|
||||
)
|
||||
);
|
||||
|
||||
return store(PMV) && store(PPD);
|
||||
Info<< "Calculating the draught rating (DR)\n";
|
||||
|
||||
const dimensionedScalar Umin("Umin", dimVelocity, 0.05);
|
||||
const dimensionedScalar Umax("Umax", dimVelocity, 0.5);
|
||||
const dimensionedScalar pre("preU", dimless, 0.37);
|
||||
const dimensionedScalar C1("C1", dimVelocity, 3.14);
|
||||
|
||||
// Limit the velocity field to the values given in EN ISO 7733
|
||||
volScalarField Umag = mag(lookupObject<volVectorField>("U"));
|
||||
Umag.maxMin(Umin, Umax);
|
||||
|
||||
// Calculate the turbulent intensity if turbulent kinetic energy field k
|
||||
// exists
|
||||
volScalarField TI
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"TI",
|
||||
mesh_.time().timeName(),
|
||||
mesh_
|
||||
),
|
||||
mesh_,
|
||||
dimensionedScalar(dimensionSet(0, 0, 0, 0, 0, 0, 0), 0)
|
||||
);
|
||||
|
||||
if (foundObject<volScalarField>("k"))
|
||||
{
|
||||
const volScalarField& k = lookupObject<volScalarField>("k");
|
||||
TI = sqrt(2/3*k)/Umag;
|
||||
}
|
||||
|
||||
// For unit correctness
|
||||
const dimensionedScalar correctUnit
|
||||
(
|
||||
"correctUnit",
|
||||
dimensionSet(0,- 1.62, 1.62, -1, 0, 0, 0),
|
||||
1
|
||||
);
|
||||
|
||||
// Equation (6)
|
||||
tmp<volScalarField> DR
|
||||
(
|
||||
volScalarField::New
|
||||
(
|
||||
"DR",
|
||||
correctUnit*(factor12 - T)*pow(Umag - Umin, 0.62)*(pre*Umag*TI + C1)
|
||||
)
|
||||
);
|
||||
|
||||
return
|
||||
store(PMV)
|
||||
&& store(PPD)
|
||||
&& store(DR);
|
||||
}
|
||||
|
||||
|
||||
bool Foam::functionObjects::comfort::write()
|
||||
{
|
||||
return writeObject("PMV") && writeObject("PPD");
|
||||
return
|
||||
writeObject("PMV")
|
||||
&& writeObject("PPD")
|
||||
&& writeObject("DR");
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration | Website: https://openfoam.org
|
||||
\\ / A nd | Copyright (C) 2019-2020 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2019-2021 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -25,8 +25,14 @@ Class
|
||||
Foam::functionObjects::comfort
|
||||
|
||||
Description
|
||||
Calculates the thermal comfort quantities predicted mean vote (PMV) and
|
||||
predicted percentage of dissatisfaction (PPD) based on DIN ISO EN 7730:2005.
|
||||
Calculates the thermal comfort quantities predicted mean vote (PMV),
|
||||
predicted percentage of dissatisfaction (PPD) and the draught rate (DR)
|
||||
based on DIN ISO EN 7730:2005.
|
||||
|
||||
The draught rate is defined for velocities between 0 m/s and 0.5 m/s. Values
|
||||
larger than 0.5 m/s will be set to 0.5 m/s. Furthermore, the draught rate is
|
||||
defined between 20 degC and 26 degC. A temperature limitation is not
|
||||
implemented. The draught rate is mainly used for HVAC analysis in rooms.
|
||||
|
||||
Usage
|
||||
\table
|
||||
@ -34,11 +40,11 @@ Usage
|
||||
clothing | The insulation value of the cloth | no | 0
|
||||
metabolicRate | The metabolic rate | no | 0.8
|
||||
extWork | The external work | no | 0
|
||||
Trad | Radiation temperature | no | -1
|
||||
relHumidity | Relative humidity of the air | no | 50
|
||||
Trad | Radiation temperature | no | 0
|
||||
relHumidity | Relative humidity of the air | no | 0.5
|
||||
pSat | Saturation pressure of water | no | -1
|
||||
tolerance | Residual control for the cloth temperature | no | 1e-5
|
||||
maxClothIter | Maximum number of iterations | no | 0
|
||||
tolerance | Residual control for the cloth temperature | no | 1e-4
|
||||
maxClothIter | Maximum number of iterations | no | 100
|
||||
meanVelocity | Use a constant mean velocity in the whole domain | no |\
|
||||
false
|
||||
\endtable
|
||||
|
||||
Reference in New Issue
Block a user