1#ifndef STEFAN_BOLTZMANN_LONGWAVE_H
2#define STEFAN_BOLTZMANN_LONGWAVE_H
5#include "../framework/module.h"
6#include "../framework/state_map.h"
7#include "../framework/constants.h"
20 state_map
const& input_quantities,
21 state_map* output_quantities)
25 emissivity_sky{get_input(input_quantities,
"emissivity_sky")},
26 temp{get_input(input_quantities,
"temp")},
29 absorbed_longwave_op{get_op(output_quantities,
"absorbed_longwave")}
34 static std::string
get_name() {
return "stefan_boltzmann_longwave"; }
38 double const& emissivity_sky;
42 double* absorbed_longwave_op;
45 void do_operation()
const;
63void stefan_boltzmann_longwave::do_operation()
const
65 double const absorbed_longwave =
66 emissivity_sky * physical_constants::stefan_boltzmann *
67 pow(conversion_constants::celsius_to_kelvin + temp, 4);
70 update(absorbed_longwave_op, absorbed_longwave);
stefan_boltzmann_longwave(state_map const &input_quantities, state_map *output_quantities)
static string_vector get_outputs()
static string_vector get_inputs()
static std::string get_name()
This is the standard BioCro module library; it includes the essential modules used in typical BioCro ...