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
470 return groundReflectivity_;
482 return sunTrackingUpdateInterval_;
scalar sunTrackingUpdateInterval() const noexcept
scalar C() const noexcept
scalar & directSolarRad()
const vector & direction() const noexcept
~solarCalculator()=default
scalar groundReflectivity() const noexcept
@ mSunLoadFairWeatherConditions
const sunDirModel & sunDirectionModel() const noexcept
scalar startTime() const noexcept
A solar calculator model providing models for the solar direction and solar loads.
scalar beta() const noexcept
static const Enum< sunLModel > sunLModelTypeNames_
const scalar & directSolarRad() const noexcept
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
const scalar & diffuseSolarRad() const noexcept
Mesh data needed to do the Finite Volume discretisation.
Vector< scalar > vector
A scalar version of the templated Vector.
void correctDirectSolarRad()
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
ClassName("solarCalculator")
void correctSunDirection()
static const Enum< sunDirModel > sunDirectionModelTypeNames_
@ mSunLoadTheoreticalMaximum
const coordinateSystem & coord() const noexcept
void correctDiffuseSolarRad()
scalar theta() const noexcept
Base class for coordinate system specification, the default coordinate system type is cartesian .
scalar & diffuseSolarRad()
const sunLModel & sunLoadModel() const noexcept