98#ifndef radiation_solarLoad_H
99#define radiation_solarLoad_H
121 public radiationModel
126 solarCalculator solarCalc_;
135 autoPtr<faceShading> hitFaces_;
138 autoPtr<faceReflecting> reflectedFaces_;
142 DimensionedField<scalar, volMesh> Ru_;
145 List<List<tmp<scalarField>>> absorptivity_;
151 autoPtr<Function1<scalarField>> spectralDistributions_;
154 PtrList<volScalarField> qprimaryRad_;
163 label updateTimeIndex_;
172 bool updateAbsorptivity_;
175 bool useReflectedRays_;
196 void updateSkyDiffusiveRadiation
203 bool updateHitFaces();
206 void updateAbsorptivity(
const labelHashSet& includePatches);
213 void operator=(
const solarLoad&) =
delete;
263 return qprimaryRad_[bandI];
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers....
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
dictionary()
Default construct, a top-level empty dictionary.
Top level model for radiation modelling.
The solarLoad radiation model includes Sun primary hits, their reflective fluxes and diffusive sky ra...
TypeName("solarLoad")
Runtime type information.
virtual tmp< DimensionedField< scalar, volMesh > > Ru() const
Source term component (constant)
virtual tmp< volScalarField > Rp() const
Source term component (for power of T^4)
const volScalarField & qprimaryRad(const label bandI) const
Return const access to the primary solar heat flux.
label nBands() const noexcept
Return const access to the number of bands.
virtual ~solarLoad()=default
Destructor.
bool read()
Read radiationProperties dictionary.
void calculate()
Solve radiation equations.
A solar calculator model providing models for the solar direction and solar loads.
A class for managing temporary objects.
A Vector of values with scalar precision, where scalar is float/double depending on the compilation f...
autoPtr< radiation::radiationModel > radiation(radiation::radiationModel::New(T))
GeometricField< scalar, fvPatchField, volMesh > volScalarField
List< scalar > scalarList
A List of scalars.
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.