1#ifndef LIGHT_FROM_SOLAR_H
2#define LIGHT_FROM_SOLAR_H
4#include "../framework/module.h"
5#include "../framework/state_map.h"
16 solar_ip{get_ip(input_quantities,
"solar")},
17 light_threshold_ip{get_ip(input_quantities,
"light_threshold")},
18 light_exp_at_zero_ip{get_ip(input_quantities,
"light_exp_at_zero")},
21 light_op{get_op(output_quantities,
"light")}
26 static std::string
get_name() {
return "light_from_solar"; }
30 const double* solar_ip;
31 const double* light_threshold_ip;
32 const double* light_exp_at_zero_ip;
38 void do_operation()
const;
57void light_from_solar::do_operation()
const
64 double solar = *solar_ip;
67 double light_threshold = *light_threshold_ip;
70 double light_exp_at_zero = *light_exp_at_zero_ip;
80 double light = 1.0 / (1.0 + exp(-2.0 * light_exp_at_zero * (solar - 0.5 * light_threshold) / light_threshold));
86 update(light_op, light);
static string_vector get_outputs()
static string_vector get_inputs()
static std::string get_name()
light_from_solar(state_map const &input_quantities, state_map *output_quantities)
This is the standard BioCro module library; it includes the essential modules used in typical BioCro ...