The BioCro C++ Library
buck_swvp.h
Go to the documentation of this file.
1#ifndef BUCK_SWVP_H
2#define BUCK_SWVP_H
3
4#include "../framework/module.h"
5#include "../framework/state_map.h"
6#include "water_and_air_properties.h" // for saturation_vapor_pressure
7
8namespace standardBML
9{
17class buck_swvp : public direct_module
18{
19 public:
21 state_map const& input_quantities,
22 state_map* output_quantities)
23 : direct_module{},
24
25 // Get references to input quantities
26 temp{get_input(input_quantities, "temp")},
27
28 // Get pointers to output quantities
29 saturation_water_vapor_pressure_atmosphere_op{get_op(output_quantities, "saturation_water_vapor_pressure_atmosphere")}
30 {
31 }
32 static string_vector get_inputs();
33 static string_vector get_outputs();
34 static std::string get_name() { return "buck_swvp"; }
35
36 private:
37 // References to input quantities
38 double const& temp;
39
40 // Pointers to output quantities
41 double* saturation_water_vapor_pressure_atmosphere_op;
42
43 // Main operation
44 void do_operation() const;
45};
46
47string_vector buck_swvp::get_inputs()
48{
49 return {
50 "temp" // degrees C
51 };
52}
53
55{
56 return {
57 "saturation_water_vapor_pressure_atmosphere" // Pa
58 };
59}
60
61void buck_swvp::do_operation() const
62{
63 // Update the output quantity list
64 update(saturation_water_vapor_pressure_atmosphere_op,
65 saturation_vapor_pressure(temp)); // Pa
66}
67
68} // namespace standardBML
69#endif
Determines the saturation water vapor pressure of atmospheric air using the saturation_vapor_pressure...
Definition: buck_swvp.h:18
static string_vector get_outputs()
Definition: buck_swvp.h:54
static string_vector get_inputs()
Definition: buck_swvp.h:47
static std::string get_name()
Definition: buck_swvp.h:34
buck_swvp(state_map const &input_quantities, state_map *output_quantities)
Definition: buck_swvp.h:20
This is the standard BioCro module library; it includes the essential modules used in typical BioCro ...
Definition: aba_decay.h:8
double saturation_vapor_pressure(double air_temperature)
Determine saturation water vapor pressure (Pa) from air temperature (degrees C) using the Arden Buck ...