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;
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.
const word & name() const
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Class black body emission.
Finite Volume Discrete Ordinates Method. Solves the RTE equation for n directions in a participating ...
const volScalarField & qin() const
Const access to incident radiative heat flux field.
const volScalarField & IRayLambda(const label rayI, const label lambdaI) const
Ray intensity for rayI and lambda bandwidth.
virtual tmp< volScalarField::Internal > Ru() const
Source term component (constant)
bool useSolarLoad() const
Use solar load.
label nRay() const
Number of rays.
const volScalarField & qem() const
Const access to emitted radiative heat flux field.
bool useExternalBeam() const
Use external beam.
scalar omegaMax() const
Return omegaMax.
virtual tmp< volScalarField > Rp() const
Source term component (for power of T^4)
const solarCalculator & solarCalc() const
Solar calculator.
void alignClosestRayToSun(const vector &sunDir)
Align closest ray to sunDir.
const volScalarField & a() const
Const access to total absorption coefficient.
label nTheta() const
Number of angles in theta.
const volScalarField & qr() const
Const access to total radiative heat flux field.
const volScalarField & G() const
Const access to incident radiation field.
label nPhi() const
Number of angles in phi.
label nBands() const
Number of bands.
void updateG()
Update G and calculate total heat flux on boundary.
const blackBodyEmission & blackBody() const
Const access to black body.
const scalarList & spectralDistribution() const
Energy spectral distribution for external beam.
const volScalarField & aLambda(const label lambdaI) const
Const access to wavelength total absorption coefficient.
label nLambda() const
Number of wavelengths.
const radiativeIntensityRay & IRay(const label rayI) const
Ray intensity for rayI.
void rotateInitialRays(const vector &sunDir)
Rotate rays spheric equator to sunDir.
void updateRaysDir()
Rotate rays according to Sun direction.
void setRayIdLambdaId(const word &name, label &rayId, label &lambdaId) const
Set the rayId and lambdaId from by decomposing an intensity.
vector meshOrientation() const
Return meshOrientation.
virtual ~fvDOM()=default
Destructor.
TypeName("fvDOM")
Runtime type information.
bool read()
Read radiation properties dictionary.
void calculate()
Solve radiation equation(s)
Top level model for radiation modelling.
Radiation intensity for a ray in a given direction.
A solar calculator model providing models for the solar direction and solar loads.
A class for managing temporary objects.
A class for handling words, derived from Foam::string.
autoPtr< radiation::radiationModel > radiation(radiation::radiationModel::New(T))
A special matrix type and solver, designed for finite volume solutions of scalar equations.
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.