Go to the documentation of this file.
218 #ifndef solarCalculator_H
219 #define solarCalculator_H
237 class solarCalculator
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_;
450 scalar
C() const noexcept
456 scalar
beta() const noexcept
462 scalar
theta() const noexcept
470 return groundReflectivity_;
482 return sunTrackingUpdateInterval_;
scalar sunTrackingUpdateInterval() const noexcept
Return const access to sunTrackingUpdateInterval.
scalar C() const noexcept
Return const access to the C constant.
scalar & directSolarRad()
Return non-const access to the direct solar irradiation.
const vector & direction() const noexcept
Return const access to the Sun direction.
~solarCalculator()=default
Destructor.
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 startTime() const noexcept
Return const access to startTime.
A solar calculator model providing models for the solar direction and solar loads.
sunLModel
Options for the Sun load models.
scalar beta() const noexcept
Return const access to beta.
static const Enum< sunLModel > sunLModelTypeNames_
Names for sunLModel.
const scalar & directSolarRad() const noexcept
Return const access to the direct solar irradiation.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
const scalar & diffuseSolarRad() const noexcept
Return const access to the diffuse solar irradiation.
Mesh data needed to do the Finite Volume discretisation.
Vector< scalar > vector
A scalar version of the templated Vector.
void correctDirectSolarRad()
Correct direct solar irradiation.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
ClassName("solarCalculator")
void correctSunDirection()
Correct the Sun direction.
vector & direction()
Return non-const access to the Sun direction.
static const Enum< sunDirModel > sunDirectionModelTypeNames_
Names for sunDirModel.
const coordinateSystem & coord() const noexcept
Return const access to the coordinate system.
void correctDiffuseSolarRad()
Correct diffuse solar irradiation.
scalar theta() const noexcept
Return const access to theta.
sunDirModel
Options for the Sun direction models.
Base class for coordinate system specification, the default coordinate system type is cartesian .
scalar & diffuseSolarRad()
Return non-const access to the diffuse solar irradiation.
const sunLModel & sunLoadModel() const noexcept
Return const access to the Sun load model.