1#ifndef VARYING_JMAX25_H
2#define VARYING_JMAX25_H
4#include "../framework/module.h"
5#include "../framework/state_map.h"
87 state_map
const& input_quantities,
88 state_map* output_quantities)
92 DVI{get_input(input_quantities,
"DVI")},
93 Jmax_at_25_mature{get_input(input_quantities,
"Jmax_at_25_mature")},
94 DVI0_jmax{get_input(input_quantities,
"DVI0_jmax")},
95 D_DVI{get_input(input_quantities,
"Delta_DVI_jmax")},
96 sf_jmax{get_input(input_quantities,
"sf_jmax")},
99 Jmax_at_25_op{get_op(output_quantities,
"Jmax_at_25")}
104 static std::string
get_name() {
return "varying_Jmax25"; }
109 double const& Jmax_at_25_mature;
110 double const& DVI0_jmax;
112 double const& sf_jmax;
115 double* Jmax_at_25_op;
118 void do_operation()
const;
139void varying_Jmax25::do_operation()
const
141 double const k = -log(1.0 / 0.95 - 1.0);
143 double const C = Jmax_at_25_mature * sf_jmax;
144 double const L = Jmax_at_25_mature * (1 - sf_jmax);
146 double const Jmax_at_25 = L / (1.0 + exp(-k * (DVI - DVI0_jmax) / D_DVI)) + C;
148 update(Jmax_at_25_op, Jmax_at_25);
Allows Jmax_at_25 to vary based on development index.
static string_vector get_outputs()
varying_Jmax25(state_map const &input_quantities, state_map *output_quantities)
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 ...