The solar calculator model provides information about the Sun direction and Sun load model. The available models are: More...
Public Types | |
enum | sunDirModel { mSunDirConstant, mSunDirTracking } |
Sun direction models. More... | |
enum | sunLModel { mSunLoadConstant, mSunLoadFairWeatherConditions, mSunLoadTheoreticalMaximum } |
Direct sun load models. More... | |
Public Member Functions | |
ClassName ("solarCalculator") | |
solarCalculator (const dictionary &, const fvMesh &) | |
Construct from dictionary. More... | |
~solarCalculator ()=default | |
Destructor. More... | |
const vector & | direction () const |
const access to direction More... | |
vector & | direction () |
Non-const access to direction. More... | |
scalar & | directSolarRad () |
Return direct solar irradiation. More... | |
const scalar & | directSolarRad () const |
Return const access to direct solar irradiation. More... | |
scalar & | diffuseSolarRad () |
Return diffuse solar irradiation. More... | |
const scalar & | diffuseSolarRad () const |
Return diffuse solar irradiation. More... | |
scalar | C () |
Return C constant. More... | |
scalar | beta () |
Return beta. More... | |
scalar | theta () |
Return theta. More... | |
sunDirModel | sunDirectionModel () const |
Return Sun direction model. More... | |
sunLModel | sunLoadModel () const |
Return Sun load model. More... | |
scalar | groundReflectivity () |
Return groundReflectivity. More... | |
const coordinateSystem & | coord () |
Return coordinateSystem. More... | |
scalar | sunTrackingUpdateInterval () |
Return sunTrackingUpdateInterval. More... | |
scalar | startTime () |
Return startTime. More... | |
void | correctSunDirection () |
Recalculate. More... | |
Static Protected Attributes | |
static const Enum< sunDirModel > | sunDirectionModelTypeNames_ |
Sun direction models. More... | |
static const Enum< sunLModel > | sunLoadModelTypeNames_ |
Sun load models. More... | |
The solar calculator model provides information about the Sun direction and Sun load model. The available models are:
For the Sun direction: 1) SunDirConstant : the direction is given in 'sunDirection' 2) SunDirTracking : the direction is calculated from the following parameters: localStandardMeridian : GMT (Local Zone Meridian) in hours startDay : day from 1 to 365) startTime: in hours longitude: in degrees latitude: in degrees gridUp: grid orientation upwards gridEast grid orientation eastwards
This model should be use in transient calculations. The keyword 'sunTrackingUpdateInterval' (in hours) specifies on which interval is the Sun direction updated.
Solar Load models available: 1) SunLoadConstant: direct and diffusive heat fluxes are provided by the entries 'directSolarRad' and 'diffuseSolarRad'
2) SunLoadFairWeatherConditions: The solar fluxes are calculated following the Fair Weather Conditions Method from the ASHRAE Handbook. The entries are: skyCloudCoverFraction: Fraction of sky covered by clouds (0-1) A : Apparent solar irradiation at air mass m = 0 B : Atmospheric extinction coefficient beta: Solar altitude (in degrees) above the horizontal. This can be read or calculated providing the respective parameters for Sun position explained above. groundReflectivity : ground reflectivity
In this model the flux is calculated as:
directSolarRad = (1 - 0.75*skyCloudCoverFraction^3)*A/exp(B/sin(beta));
3) SunLoadTheoreticalMaximum: The entries are: Setrn SunPrime: groundReflectivity : ground reflectivity
In this model the flux is calculated as:
directSolarRad = Setrn*SunPrime;
The diffuse on vertical/horizontal walls and ground-reflected radiation are calculated following the ASHRAE Handbook.
Definition at line 105 of file solarCalculator.H.
enum sunDirModel |
Sun direction models.
Enumerator | |
---|---|
mSunDirConstant | |
mSunDirTracking |
Definition at line 112 of file solarCalculator.H.
enum sunLModel |
Direct sun load models.
Enumerator | |
---|---|
mSunLoadConstant | |
mSunLoadFairWeatherConditions | |
mSunLoadTheoreticalMaximum |
Definition at line 119 of file solarCalculator.H.
solarCalculator | ( | const dictionary & | dict, |
const fvMesh & | mesh | ||
) |
Construct from dictionary.
Definition at line 239 of file solarCalculator.C.
|
default |
Destructor.
ClassName | ( | "solarCalculator" | ) |
const access to direction
Definition at line 239 of file solarCalculator.H.
Non-const access to direction.
Definition at line 245 of file solarCalculator.H.
|
inline |
Return direct solar irradiation.
Definition at line 251 of file solarCalculator.H.
|
inline |
Return const access to direct solar irradiation.
Definition at line 257 of file solarCalculator.H.
|
inline |
Return diffuse solar irradiation.
Definition at line 263 of file solarCalculator.H.
|
inline |
Return diffuse solar irradiation.
Definition at line 269 of file solarCalculator.H.
|
inline |
Return C constant.
Definition at line 275 of file solarCalculator.H.
|
inline |
Return beta.
Definition at line 281 of file solarCalculator.H.
|
inline |
Return theta.
Definition at line 287 of file solarCalculator.H.
|
inline |
Return Sun direction model.
Definition at line 293 of file solarCalculator.H.
|
inline |
Return Sun load model.
Definition at line 299 of file solarCalculator.H.
|
inline |
Return groundReflectivity.
Definition at line 305 of file solarCalculator.H.
|
inline |
Return coordinateSystem.
Definition at line 311 of file solarCalculator.H.
|
inline |
Return sunTrackingUpdateInterval.
Definition at line 317 of file solarCalculator.H.
|
inline |
Return startTime.
Definition at line 323 of file solarCalculator.H.
void correctSunDirection | ( | ) |
Recalculate.
Definition at line 271 of file solarCalculator.C.
References Foam::exp(), Foam::max(), and Foam::sin().
|
staticprotected |
Sun direction models.
Definition at line 130 of file solarCalculator.H.
|
staticprotected |
Sun load models.
Definition at line 133 of file solarCalculator.H.