ENH: Adding skyCloudCoverFraction to SunLoadFairWeatherConditions mode in the solarCalculator.

This scalar allows to introduce a factor for cloudy sky between 0 (clear) and 1 (fully cloudy)
This commit is contained in:
sergio
2017-02-27 16:46:12 -08:00
parent e9bce5c331
commit 09c9e1a89a
2 changed files with 16 additions and 3 deletions

View File

@ -206,6 +206,12 @@ void Foam::solarCalculator::init()
} }
case mSunLoadFairWeatherConditions: case mSunLoadFairWeatherConditions:
{ {
dict_.readIfPresent
(
"skyCloudCoverFraction",
skyCloudCoverFraction_
);
A_ = readScalar(dict_.lookup("A")); A_ = readScalar(dict_.lookup("A"));
B_ = readScalar(dict_.lookup("B")); B_ = readScalar(dict_.lookup("B"));
@ -218,7 +224,9 @@ void Foam::solarCalculator::init()
calculateBetaTetha(); calculateBetaTetha();
} }
directSolarRad_ = A_/exp(B_/sin(beta_)); directSolarRad_ =
(1.0 - 0.75*pow(skyCloudCoverFraction_, 3.0))
* A_/exp(B_/sin(beta_));
groundReflectivity_ = groundReflectivity_ =
readScalar(dict_.lookup("groundReflectivity")); readScalar(dict_.lookup("groundReflectivity"));
@ -257,6 +265,7 @@ Foam::solarCalculator::solarCalculator
B_(0.0), B_(0.0),
beta_(0.0), beta_(0.0),
tetha_(0.0), tetha_(0.0),
skyCloudCoverFraction_(0.0),
Setrn_(0.0), Setrn_(0.0),
SunPrime_(0.0), SunPrime_(0.0),
C_(readScalar(dict.lookup("C"))), C_(readScalar(dict.lookup("C"))),

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | \\ / O peration |
\\ / A nd | Copyright (C) 2015 OpenCFD Ltd. \\ / A nd | Copyright (C) 2015-2017 OpenCFD Ltd.
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -52,6 +52,7 @@ Description
2) SunLoadFairWeatherConditions: The solar fluxes are calculated following 2) SunLoadFairWeatherConditions: The solar fluxes are calculated following
the Fair Weather Conditions Method from the ASHRAE Handbook. The entries the Fair Weather Conditions Method from the ASHRAE Handbook. The entries
are: are:
skyCloudCoverFraction: Fraction of sky covered by clouds (0-1)
A : Apparent solar irradiation at air mass m = 0 A : Apparent solar irradiation at air mass m = 0
B : Atmospheric extinction coefficient B : Atmospheric extinction coefficient
beta: Solar altitude (in degrees) above the horizontal. This beta: Solar altitude (in degrees) above the horizontal. This
@ -61,7 +62,7 @@ Description
In this model the flux is calculated as: In this model the flux is calculated as:
directSolarRad = A/exp(B/sin(beta)); directSolarRad = skyCloudCoverFraction*A/exp(B/sin(beta));
3) SunLoadTheoreticalMaximum: The entries are: 3) SunLoadTheoreticalMaximum: The entries are:
Setrn Setrn
@ -158,6 +159,9 @@ private:
scalar beta_; scalar beta_;
scalar tetha_; scalar tetha_;
//- Sky cloud cover fraction [0-1]
scalar skyCloudCoverFraction_;
//- Maximum theoretical direct solar load model parameters //- Maximum theoretical direct solar load model parameters
scalar Setrn_; scalar Setrn_;