20 #ifndef ANTKEEPER_PHYSICS_LIGHT_BLACKBODY_HPP
21 #define ANTKEEPER_PHYSICS_LIGHT_BLACKBODY_HPP
76 T
spectral_flux(T t, T a, T lambda, T c = constants::speed_of_light<T>);
106 return constants::stefan_boltzmann<T> * (tt * tt);
124 const T hc = constants::planck<T> * c;
125 const T lambda2 = lambda * lambda;
128 const T c1 = math::two_pi<T> * hc * c;
131 const T c2 = hc / constants::boltzmann<T>;
133 return (c1 / (lambda2 * lambda2 * lambda)) / std::expm1(c2 / (lambda * t));
151 const T hc = constants::planck<T> * c;
152 const T lambda2 = lambda * lambda;
155 const T c1l = T{2} * hc * c;
158 const T c2 = hc / constants::boltzmann<T>;
160 return (c1l / (lambda2 * lambda2 * lambda)) / std::expm1(c2 / (lambda * t));
T radiant_exitance(T t)
Calculates the radiant exitance of a blackbody.
T spectral_radiance(T t, T lambda, T c=constants::speed_of_light< T >)
Calculates the spectral radiance of a blackbody for the given wavelength.
T radiant_flux(T t, T a)
Calculates the radiant flux of a blackbody.
T spectral_exitance(T t, T lambda, T c)
T spectral_flux(T t, T a, T lambda, T c=constants::speed_of_light< T >)
Calculates the spectral flux of a blackbody for the given wavelength.
T spectral_intensity(T t, T a, T lambda, T omega, T c=constants::speed_of_light< T >)
Calculates the spectral intensity of a blackbody for the given wavelength.
T radiant_intensity(T t, T a, T omega)
Calculates the radiant intensity of a blackbody.