Analytic functions with blackbody

See #3077 
Maybe just `blackbody`?