1 #ifndef ABLATELIBRARY_SURFACERADIATION_HPP
2 #define ABLATELIBRARY_SURFACERADIATION_HPP
4 #include "domain/range.hpp"
5 #include "domain/reverseRange.hpp"
6 #include "radiation.hpp"
7 #include "utilities/constants.hpp"
9 namespace ablate::radiation {
17 SurfaceRadiation(
const std::string&
solverId,
const std::shared_ptr<domain::Region>&
region,
const PetscInt raynumber, std::shared_ptr<eos::radiationProperties::RadiationModel> radiationModelIn,
18 std::shared_ptr<ablate::monitors::logs::Log> = {});
30 PetscReal
SurfaceComponent(
const PetscReal normal[], PetscInt iCell, PetscInt nphi, PetscInt ntheta)
override;
36 static inline std::string
GetClassType() {
return "SurfaceRadiation"; }
45 virtual inline void GetSurfaceIntensity(PetscReal* intensity, PetscInt faceId, PetscReal temperature, PetscReal emissivity = 1.0, PetscReal absorptivity = 1.0) {
Definition: subDomain.hpp:19
Definition: radiation.hpp:25
std::vector< PetscScalar > evaluatedGains
size up the evaluated gains, this index is based upon order of the requested cells
Definition: radiation.hpp:252
eos::ThermodynamicTemperatureFunction absorptivityFunction
hold a pointer to the absorptivity function
Definition: radiation.hpp:267
std::string solverId
the name of this solver
Definition: radiation.hpp:258
const std::shared_ptr< domain::Region > region
the region for which this solver applies
Definition: radiation.hpp:261
Definition: surfaceRadiation.hpp:11
static std::string GetClassType()
Definition: surfaceRadiation.hpp:36
ablate::domain::ReverseRange indexLookup
used to look up from the face id to range index
Definition: surfaceRadiation.hpp:14
void Initialize(const ablate::domain::Range &cellRange, ablate::domain::SubDomain &subDomain) override
Definition: surfaceRadiation.cpp:9
virtual void GetSurfaceIntensity(PetscReal *intensity, PetscInt faceId, PetscReal temperature, PetscReal emissivity=1.0, PetscReal absorptivity=1.0)
Definition: surfaceRadiation.hpp:45
PetscReal SurfaceComponent(const PetscReal normal[], PetscInt iCell, PetscInt nphi, PetscInt ntheta) override
Definition: surfaceRadiation.cpp:19
constexpr static PetscReal sbc
Stefan-Boltzman Constant (J/K)
Definition: constants.hpp:10
constexpr static PetscReal large
A somewhat large number.
Definition: constants.hpp:31
Definition: reverseRange.hpp:11
PetscInt GetAbsoluteIndex(PetscInt point) const
Definition: reverseRange.hpp:52
PetscInt propertySize
the property size being set
Definition: eos.hpp:48