100 #ifndef radiation_fvDOM_H 101 #define radiation_fvDOM_H 180 bool useExternalBeam_;
192 label updateTimeIndex_;
204 void operator=(
const fvDOM&) =
delete;
207 void updateBlackBodyEmission();
226 virtual ~fvDOM() =
default;
284 inline label
nTheta()
const;
287 inline label
nPhi()
const;
290 inline label
nRay()
const;
296 inline label
nBands()
const;
const volScalarField & a() const
Const access to total absorption coefficient.
Class black body emission.
A solar calculator model providing models for the solar direction and solar loads.
const volScalarField & IRayLambda(const label rayI, const label lambdaI) const
Ray intensity for rayI and lambda bandwidth.
const volScalarField & qr() const
Const access to total radiative heat flux field.
A list of keyword definitions, which are a keyword followed by a number of values (eg...
const blackBodyEmission & blackBody() const
Const access to black body.
const volScalarField & qin() const
Const access to incident radiative heat flux field.
virtual ~fvDOM()=default
Destructor.
label nBands() const
Number of bands.
bool useSolarLoad() const
Use solar load.
void setRayIdLambdaId(const word &name, label &rayId, label &lambdaId) const
Set the rayId and lambdaId from by decomposing an intensity.
const volScalarField & qem() const
Const access to emitted radiative heat flux field.
label nPhi() const
Number of angles in phi.
A class for handling words, derived from Foam::string.
void updateG()
Update G and calculate total heat flux on boundary.
label nRay() const
Number of rays.
Top level model for radiation modelling.
void rotateInitialRays(const vector &sunDir)
Rotate rays spheric equator to sunDir.
const word & name() const
Name function is needed to disambiguate those inherited from regIOobject and dictionary.
const volScalarField & G() const
Const access to incident radiation field.
A Vector of values with scalar precision, where scalar is float/double depending on the compilation f...
bool read()
Read radiation properties dictionary.
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
void updateRaysDir()
Rotate rays according to Sun direction.
const radiativeIntensityRay & IRay(const label rayI) const
Ray intensity for rayI.
Radiation intensity for a ray in a given direction.
virtual tmp< volScalarField::Internal > Ru() const
Source term component (constant)
label nTheta() const
Number of angles in theta.
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers...
scalar omegaMax() const
Return omegaMax.
const solarCalculator & solarCalc() const
Solar calculator.
TypeName("fvDOM")
Runtime type information.
A special matrix type and solver, designed for finite volume solutions of scalar equations.
void calculate()
Solve radiation equation(s)
bool useExternalBeam() const
Use external beam.
label nLambda() const
Number of wavelengths.
vector meshOrientation() const
Return meshOrientation.
Pointer management similar to std::unique_ptr, with some additional methods and type checking...
const volScalarField & aLambda(const label lambdaI) const
Const access to wavelength total absorption coefficient.
A class for managing temporary objects.
virtual tmp< volScalarField > Rp() const
Source term component (for power of T^4)
Finite Volume Discrete Ordinates Method. Solves the RTE equation for n directions in a participating ...
const scalarList & spectralDistribution() const
Energy spectral distribution for external beam.
void alignClosestRayToSun(const vector &sunDir)
Align closest ray to sunDir.
autoPtr< radiation::radiationModel > radiation(radiation::radiationModel::New(T))