218#ifndef solarCalculator_H
219#define solarCalculator_H
292 scalar sunTrackingUpdateInterval_;
304 autoPtr<coordinateSystem> coord_;
310 scalar directSolarRad_;
313 scalar diffuseSolarRad_;
319 autoPtr<Function1<scalar>> directSolarRads_;
322 autoPtr<Function1<scalar>> diffuseSolarRads_;
328 scalar skyCloudCoverFraction_;
331 scalar groundReflectivity_;
351 solarCalculator(
const solarCalculator&) =
delete;
354 void operator=(
const solarCalculator&) =
delete;
363 void calculateBetaTheta();
366 void calculateSunDirection();
378 solarCalculator(
const dictionary&,
const fvMesh&);
404 return sunDirectionModel_;
410 return sunLoadModel_;
428 return directSolarRad_;
434 return directSolarRad_;
440 return diffuseSolarRad_;
446 return diffuseSolarRad_;
470 return groundReflectivity_;
482 return sunTrackingUpdateInterval_;
Enum is a wrapper around a list of names/values that represent particular enumeration (or int) values...
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
Base class for coordinate system specification, the default coordinate system type is cartesian .
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Mesh data needed to do the Finite Volume discretisation.
A solar calculator model providing models for the solar direction and solar loads.
void correctSunDirection()
Correct the Sun direction.
sunDirModel
Options for the Sun direction models.
scalar C() const noexcept
Return const access to the C constant.
vector & direction()
Return non-const access to the Sun direction.
ClassName("solarCalculator")
static const Enum< sunLModel > sunLModelTypeNames_
Names for sunLModel.
void correctDiffuseSolarRad()
Correct diffuse solar irradiation.
scalar sunTrackingUpdateInterval() const noexcept
Return const access to sunTrackingUpdateInterval.
scalar beta() const noexcept
Return const access to beta.
void correctDirectSolarRad()
Correct direct solar irradiation.
const sunLModel & sunLoadModel() const noexcept
Return const access to the Sun load model.
const vector & direction() const noexcept
Return const access to the Sun direction.
const scalar & diffuseSolarRad() const noexcept
Return const access to the diffuse solar irradiation.
scalar startTime() const noexcept
Return const access to startTime.
~solarCalculator()=default
Destructor.
scalar & diffuseSolarRad()
Return non-const access to the diffuse solar irradiation.
scalar groundReflectivity() const noexcept
Return const access to the ground reflectivity.
const sunDirModel & sunDirectionModel() const noexcept
Return const access to the Sun direction model.
scalar theta() const noexcept
Return const access to theta.
const coordinateSystem & coord() const noexcept
Return const access to the coordinate system.
scalar & directSolarRad()
Return non-const access to the direct solar irradiation.
const scalar & directSolarRad() const noexcept
Return const access to the direct solar irradiation.
static const Enum< sunDirModel > sunDirectionModelTypeNames_
Names for sunDirModel.
sunLModel
Options for the Sun load models.
@ mSunLoadFairWeatherConditions
@ mSunLoadTheoreticalMaximum
A Vector of values with scalar precision, where scalar is float/double depending on the compilation f...
#define ClassName(TypeNameString)
Add typeName information from argument TypeNameString to a class.