1.3.82
 
Loading...
Searching...
No Matches
C4ModelCoefficients Struct Reference

Coefficients for the von Caemmerer (2021) steady-state C4 photosynthesis model. More...

#include <PhotosynthesisModel.h>

Public Member Functions

void setVpmax (float Vpmax)
 Set Vpmax (maximum PEPC activity) with no temperature response.
 
void setVpmax (float Vpmax_at_25_C, float rate_of_increase_dHa)
 Set Vpmax with a monotonically increasing Arrhenius response.
 
void setVpmax (float Vpmax_at_25_C, float rate_of_increase_dHa, float optimum_temperature_in_C)
 Set Vpmax with a peaked Arrhenius response (optimum, default dHd).
 
void setVpmax (float Vpmax_at_25_C, float rate_of_increase_dHa, float optimum_temperature_in_C, float rate_of_decrease_dHd)
 Set Vpmax with a peaked Arrhenius response (optimum + explicit rate of decrease).
 
void setVcmax (float Vcmax)
 Set Vcmax (maximum Rubisco activity) with no temperature response.
 
void setVcmax (float Vcmax_at_25_C, float rate_of_increase_dHa)
 Set Vcmax with a monotonically increasing Arrhenius response.
 
void setVcmax (float Vcmax_at_25_C, float rate_of_increase_dHa, float optimum_temperature_in_C)
 Set Vcmax with a peaked Arrhenius response (optimum, default dHd).
 
void setVcmax (float Vcmax_at_25_C, float rate_of_increase_dHa, float optimum_temperature_in_C, float rate_of_decrease_dHd)
 Set Vcmax with a peaked Arrhenius response (optimum + explicit rate of decrease).
 
void setJmax (float Jmax)
 Set Jmax (maximum linear electron transport rate) with no temperature response.
 
void setJmax (float Jmax_at_25_C, float rate_of_increase_dHa)
 Set Jmax with a monotonically increasing Arrhenius response.
 
void setJmax (float Jmax_at_25_C, float rate_of_increase_dHa, float optimum_temperature_in_C)
 Set Jmax with a peaked Arrhenius response.
 
void setJmax (float Jmax_at_25_C, float rate_of_increase_dHa, float optimum_temperature_in_C, float rate_of_decrease_dHd)
 Set Jmax with a peaked Arrhenius response with explicit rate of decrease.
 
void setRd (float Rd)
 Set Rd (leaf mitochondrial respiration) with no temperature response.
 
void setRd (float Rd_at_25_C, float rate_of_increase_dHa)
 Set Rd with a monotonically increasing Arrhenius response.
 
void setRd (float Rd_at_25_C, float rate_of_increase_dHa, float optimum_temperature_in_C)
 Set Rd with a peaked Arrhenius response.
 
void setRd (float Rd_at_25_C, float rate_of_increase_dHa, float optimum_temperature_in_C, float rate_of_decrease_dHd)
 Set Rd with a peaked Arrhenius response with explicit rate of decrease.
 
void setMesophyllConductance_gm (float gm)
 Set mesophyll conductance gm (mol CO2 / m^2 / s / bar) with no temperature response.
 
void setMesophyllConductance_gm (float gm_at_25_C, float rate_of_increase_dHa)
 Set gm with a monotonically increasing Arrhenius response.
 
void setMesophyllConductance_gm (float gm_at_25_C, float rate_of_increase_dHa, float optimum_temperature_in_C)
 Set gm with a peaked Arrhenius response.
 
void setMesophyllConductance_gm (float gm_at_25_C, float rate_of_increase_dHa, float optimum_temperature_in_C, float rate_of_decrease_dHd)
 Set gm with a peaked Arrhenius response with explicit rate of decrease.
 
PhotosyntheticTemperatureResponseParameters getVpmaxTempResponse () const
 
PhotosyntheticTemperatureResponseParameters getVcmaxTempResponse () const
 
PhotosyntheticTemperatureResponseParameters getJmaxTempResponse () const
 
PhotosyntheticTemperatureResponseParameters getRdTempResponse () const
 
PhotosyntheticTemperatureResponseParameters getMesophyllConductance_gmTempResponse () const
 

Data Fields

float Kc_25 = 1210.f
 Michaelis constant of Rubisco for CO2 at 25 °C (μbar)
 
float Ko_25 = 292000.f
 Michaelis constant of Rubisco for O2 at 25 °C (μbar = 292 mbar)
 
float Kp_25 = 82.f
 Michaelis constant of PEPC for CO2 at 25 °C (μbar)
 
float gamma_star_25 = 3.81679e-4f
 0.5 / S_Rubisco at 25 °C (dimensionless)
 
float Om_25 = 210000.f
 Mesophyll O2 partial pressure at 25 °C (μbar = 210 mbar, ambient)
 
float dH_Kc = 64.2f
 Activation energy for Kc (kJ/mol)
 
float dH_Ko = 10.5f
 Activation energy for Ko (kJ/mol)
 
float dH_Kp = 38.3f
 Activation energy for Kp (kJ/mol)
 
float dH_gamma_star = 31.1f
 Activation energy for γ* (kJ/mol; positive — γ* increases with T because S_c/o decreases with T; see block comment above)
 
float dH_Om = 0.f
 Activation energy for Om (kJ/mol; ambient O2, assumed T-independent)
 
float alpha_psII_fraction = 0.f
 α — fraction of PSII activity in the bundle sheath (0 for NADP-ME; range [0,1])
 
float x_etr_partition = 0.4f
 x — fraction of linear electron-transport rate partitioned to the mesophyll
 
float Vpr = 80.f
 PEP regeneration rate cap (μmol/m²/s)
 
float Rm_frac = 0.5f
 R_m = Rm_frac · R_d (mesophyll mitochondrial respiration as a fraction of total)
 
float fcyc = 0.45f
 Fraction of linear electron flow that is cyclic (Woodford et al. 2025 Table 1; updated from 0.3 in vC2021 to reflect NDH dominance — Ermakova 2024, Yin & Struik 2012)
 
float gbs = 0.003f
 Bundle-sheath conductance to CO2 (mol/m²/s/bar), constant with temperature.
 
float ao = 0.047f
 O2/CO2 solubility-diffusivity ratio (a_o in Eq. 15)
 
float absorptance = 0.85f
 Leaf PAR absorptance (fraction of incident PAR absorbed)
 
float f_spectral = 0.15f
 Spectral-quality correction to absorbed PAR (Eq. 35)
 
float theta_etr = 0.7f
 Curvature of the J ~ I2 non-rectangular hyperbola (Eq. 34)
 
float h_protons = 4.f
 Protons required per ATP synthesized (Eq. 31)
 
float H_J = 3.f
 Protons per electron for linear electron flow (H⁺/e⁻; Woodford et al. 2025 Table 1)
 
float H_Jcyc = 3.4f
 Protons per electron for cyclic electron flow (H⁺/e⁻; Woodford et al. 2025 Table 1, reflecting NDH dominance)
 

Friends

class PhotosynthesisModel
 

Detailed Description

Coefficients for the von Caemmerer (2021) steady-state C4 photosynthesis model.

Parameters are divided into three groups: 1) Temperature-responsive enzyme/electron-transport rates (Vpmax, Vcmax, Jmax, Rd, gm) — each has the same four setter overloads as the C3 Farquhar model (constant / Arrhenius / peaked / peaked+dHd). 2) Rubisco + PEPC kinetic constants (Kc, Ko, Kp, γ*) — stored as public fields and evaluated with a simple Arrhenius response at the 25 °C reference, mirroring the C3 Farquhar treatment of Kc/Ko. 3) User-tunable scalar parameters with paper defaults (α, x, Vpr, Rm_frac, fcyc, gbs, ao, Om, …). Defaults for Setaria viridis follow Table 1 of von Caemmerer, S. (2021) "Updating the steady-state model of C4 photosynthesis", Journal of Experimental Botany 72:6003–6017.

Definition at line 554 of file PhotosynthesisModel.h.

Constructor & Destructor Documentation

◆ C4ModelCoefficients()

C4ModelCoefficients::C4ModelCoefficients ( )
inline

Definition at line 556 of file PhotosynthesisModel.h.

Member Function Documentation

◆ getJmaxTempResponse()

PhotosyntheticTemperatureResponseParameters C4ModelCoefficients::getJmaxTempResponse ( ) const
inline

Definition at line 658 of file PhotosynthesisModel.h.

◆ getMesophyllConductance_gmTempResponse()

PhotosyntheticTemperatureResponseParameters C4ModelCoefficients::getMesophyllConductance_gmTempResponse ( ) const
inline

Definition at line 660 of file PhotosynthesisModel.h.

◆ getRdTempResponse()

PhotosyntheticTemperatureResponseParameters C4ModelCoefficients::getRdTempResponse ( ) const
inline

Definition at line 659 of file PhotosynthesisModel.h.

◆ getVcmaxTempResponse()

PhotosyntheticTemperatureResponseParameters C4ModelCoefficients::getVcmaxTempResponse ( ) const
inline

Definition at line 657 of file PhotosynthesisModel.h.

◆ getVpmaxTempResponse()

PhotosyntheticTemperatureResponseParameters C4ModelCoefficients::getVpmaxTempResponse ( ) const
inline

Definition at line 656 of file PhotosynthesisModel.h.

◆ setJmax() [1/4]

void C4ModelCoefficients::setJmax ( float  Jmax)
inline

Set Jmax (maximum linear electron transport rate) with no temperature response.

Definition at line 605 of file PhotosynthesisModel.h.

◆ setJmax() [2/4]

void C4ModelCoefficients::setJmax ( float  Jmax_at_25_C,
float  rate_of_increase_dHa 
)
inline

Set Jmax with a monotonically increasing Arrhenius response.

Definition at line 609 of file PhotosynthesisModel.h.

◆ setJmax() [3/4]

void C4ModelCoefficients::setJmax ( float  Jmax_at_25_C,
float  rate_of_increase_dHa,
float  optimum_temperature_in_C 
)
inline

Set Jmax with a peaked Arrhenius response.

Definition at line 613 of file PhotosynthesisModel.h.

◆ setJmax() [4/4]

void C4ModelCoefficients::setJmax ( float  Jmax_at_25_C,
float  rate_of_increase_dHa,
float  optimum_temperature_in_C,
float  rate_of_decrease_dHd 
)
inline

Set Jmax with a peaked Arrhenius response with explicit rate of decrease.

Definition at line 617 of file PhotosynthesisModel.h.

◆ setMesophyllConductance_gm() [1/4]

void C4ModelCoefficients::setMesophyllConductance_gm ( float  gm)
inline

Set mesophyll conductance gm (mol CO2 / m^2 / s / bar) with no temperature response.

Definition at line 639 of file PhotosynthesisModel.h.

◆ setMesophyllConductance_gm() [2/4]

void C4ModelCoefficients::setMesophyllConductance_gm ( float  gm_at_25_C,
float  rate_of_increase_dHa 
)
inline

Set gm with a monotonically increasing Arrhenius response.

Definition at line 643 of file PhotosynthesisModel.h.

◆ setMesophyllConductance_gm() [3/4]

void C4ModelCoefficients::setMesophyllConductance_gm ( float  gm_at_25_C,
float  rate_of_increase_dHa,
float  optimum_temperature_in_C 
)
inline

Set gm with a peaked Arrhenius response.

Definition at line 647 of file PhotosynthesisModel.h.

◆ setMesophyllConductance_gm() [4/4]

void C4ModelCoefficients::setMesophyllConductance_gm ( float  gm_at_25_C,
float  rate_of_increase_dHa,
float  optimum_temperature_in_C,
float  rate_of_decrease_dHd 
)
inline

Set gm with a peaked Arrhenius response with explicit rate of decrease.

Definition at line 651 of file PhotosynthesisModel.h.

◆ setRd() [1/4]

void C4ModelCoefficients::setRd ( float  Rd)
inline

Set Rd (leaf mitochondrial respiration) with no temperature response.

Definition at line 622 of file PhotosynthesisModel.h.

◆ setRd() [2/4]

void C4ModelCoefficients::setRd ( float  Rd_at_25_C,
float  rate_of_increase_dHa 
)
inline

Set Rd with a monotonically increasing Arrhenius response.

Definition at line 626 of file PhotosynthesisModel.h.

◆ setRd() [3/4]

void C4ModelCoefficients::setRd ( float  Rd_at_25_C,
float  rate_of_increase_dHa,
float  optimum_temperature_in_C 
)
inline

Set Rd with a peaked Arrhenius response.

Definition at line 630 of file PhotosynthesisModel.h.

◆ setRd() [4/4]

void C4ModelCoefficients::setRd ( float  Rd_at_25_C,
float  rate_of_increase_dHa,
float  optimum_temperature_in_C,
float  rate_of_decrease_dHd 
)
inline

Set Rd with a peaked Arrhenius response with explicit rate of decrease.

Definition at line 634 of file PhotosynthesisModel.h.

◆ setVcmax() [1/4]

void C4ModelCoefficients::setVcmax ( float  Vcmax)
inline

Set Vcmax (maximum Rubisco activity) with no temperature response.

Definition at line 588 of file PhotosynthesisModel.h.

◆ setVcmax() [2/4]

void C4ModelCoefficients::setVcmax ( float  Vcmax_at_25_C,
float  rate_of_increase_dHa 
)
inline

Set Vcmax with a monotonically increasing Arrhenius response.

Definition at line 592 of file PhotosynthesisModel.h.

◆ setVcmax() [3/4]

void C4ModelCoefficients::setVcmax ( float  Vcmax_at_25_C,
float  rate_of_increase_dHa,
float  optimum_temperature_in_C 
)
inline

Set Vcmax with a peaked Arrhenius response (optimum, default dHd).

Definition at line 596 of file PhotosynthesisModel.h.

◆ setVcmax() [4/4]

void C4ModelCoefficients::setVcmax ( float  Vcmax_at_25_C,
float  rate_of_increase_dHa,
float  optimum_temperature_in_C,
float  rate_of_decrease_dHd 
)
inline

Set Vcmax with a peaked Arrhenius response (optimum + explicit rate of decrease).

Definition at line 600 of file PhotosynthesisModel.h.

◆ setVpmax() [1/4]

void C4ModelCoefficients::setVpmax ( float  Vpmax)
inline

Set Vpmax (maximum PEPC activity) with no temperature response.

Definition at line 571 of file PhotosynthesisModel.h.

◆ setVpmax() [2/4]

void C4ModelCoefficients::setVpmax ( float  Vpmax_at_25_C,
float  rate_of_increase_dHa 
)
inline

Set Vpmax with a monotonically increasing Arrhenius response.

Definition at line 575 of file PhotosynthesisModel.h.

◆ setVpmax() [3/4]

void C4ModelCoefficients::setVpmax ( float  Vpmax_at_25_C,
float  rate_of_increase_dHa,
float  optimum_temperature_in_C 
)
inline

Set Vpmax with a peaked Arrhenius response (optimum, default dHd).

Definition at line 579 of file PhotosynthesisModel.h.

◆ setVpmax() [4/4]

void C4ModelCoefficients::setVpmax ( float  Vpmax_at_25_C,
float  rate_of_increase_dHa,
float  optimum_temperature_in_C,
float  rate_of_decrease_dHd 
)
inline

Set Vpmax with a peaked Arrhenius response (optimum + explicit rate of decrease).

Definition at line 583 of file PhotosynthesisModel.h.

Friends And Related Symbol Documentation

◆ PhotosynthesisModel

friend class PhotosynthesisModel
friend

Definition at line 718 of file PhotosynthesisModel.h.

Field Documentation

◆ absorptance

float C4ModelCoefficients::absorptance = 0.85f

Leaf PAR absorptance (fraction of incident PAR absorbed)

Definition at line 697 of file PhotosynthesisModel.h.

◆ alpha_psII_fraction

float C4ModelCoefficients::alpha_psII_fraction = 0.f

α — fraction of PSII activity in the bundle sheath (0 for NADP-ME; range [0,1])

Definition at line 690 of file PhotosynthesisModel.h.

◆ ao

float C4ModelCoefficients::ao = 0.047f

O2/CO2 solubility-diffusivity ratio (a_o in Eq. 15)

Definition at line 696 of file PhotosynthesisModel.h.

◆ dH_gamma_star

float C4ModelCoefficients::dH_gamma_star = 31.1f

Activation energy for γ* (kJ/mol; positive — γ* increases with T because S_c/o decreases with T; see block comment above)

Definition at line 685 of file PhotosynthesisModel.h.

◆ dH_Kc

float C4ModelCoefficients::dH_Kc = 64.2f

Activation energy for Kc (kJ/mol)

Definition at line 672 of file PhotosynthesisModel.h.

◆ dH_Ko

float C4ModelCoefficients::dH_Ko = 10.5f

Activation energy for Ko (kJ/mol)

Definition at line 673 of file PhotosynthesisModel.h.

◆ dH_Kp

float C4ModelCoefficients::dH_Kp = 38.3f

Activation energy for Kp (kJ/mol)

Definition at line 674 of file PhotosynthesisModel.h.

◆ dH_Om

float C4ModelCoefficients::dH_Om = 0.f

Activation energy for Om (kJ/mol; ambient O2, assumed T-independent)

Definition at line 686 of file PhotosynthesisModel.h.

◆ f_spectral

float C4ModelCoefficients::f_spectral = 0.15f

Spectral-quality correction to absorbed PAR (Eq. 35)

Definition at line 698 of file PhotosynthesisModel.h.

◆ fcyc

float C4ModelCoefficients::fcyc = 0.45f

Fraction of linear electron flow that is cyclic (Woodford et al. 2025 Table 1; updated from 0.3 in vC2021 to reflect NDH dominance — Ermakova 2024, Yin & Struik 2012)

Definition at line 694 of file PhotosynthesisModel.h.

◆ gamma_star_25

float C4ModelCoefficients::gamma_star_25 = 3.81679e-4f

0.5 / S_Rubisco at 25 °C (dimensionless)

Definition at line 669 of file PhotosynthesisModel.h.

◆ gbs

float C4ModelCoefficients::gbs = 0.003f

Bundle-sheath conductance to CO2 (mol/m²/s/bar), constant with temperature.

Definition at line 695 of file PhotosynthesisModel.h.

◆ H_J

float C4ModelCoefficients::H_J = 3.f

Protons per electron for linear electron flow (H⁺/e⁻; Woodford et al. 2025 Table 1)

Definition at line 708 of file PhotosynthesisModel.h.

◆ H_Jcyc

float C4ModelCoefficients::H_Jcyc = 3.4f

Protons per electron for cyclic electron flow (H⁺/e⁻; Woodford et al. 2025 Table 1, reflecting NDH dominance)

Definition at line 709 of file PhotosynthesisModel.h.

◆ h_protons

float C4ModelCoefficients::h_protons = 4.f

Protons required per ATP synthesized (Eq. 31)

Definition at line 700 of file PhotosynthesisModel.h.

◆ Kc_25

float C4ModelCoefficients::Kc_25 = 1210.f

Michaelis constant of Rubisco for CO2 at 25 °C (μbar)

Definition at line 666 of file PhotosynthesisModel.h.

◆ Ko_25

float C4ModelCoefficients::Ko_25 = 292000.f

Michaelis constant of Rubisco for O2 at 25 °C (μbar = 292 mbar)

Definition at line 667 of file PhotosynthesisModel.h.

◆ Kp_25

float C4ModelCoefficients::Kp_25 = 82.f

Michaelis constant of PEPC for CO2 at 25 °C (μbar)

Definition at line 668 of file PhotosynthesisModel.h.

◆ Om_25

float C4ModelCoefficients::Om_25 = 210000.f

Mesophyll O2 partial pressure at 25 °C (μbar = 210 mbar, ambient)

Definition at line 670 of file PhotosynthesisModel.h.

◆ Rm_frac

float C4ModelCoefficients::Rm_frac = 0.5f

R_m = Rm_frac · R_d (mesophyll mitochondrial respiration as a fraction of total)

Definition at line 693 of file PhotosynthesisModel.h.

◆ theta_etr

float C4ModelCoefficients::theta_etr = 0.7f

Curvature of the J ~ I2 non-rectangular hyperbola (Eq. 34)

Definition at line 699 of file PhotosynthesisModel.h.

◆ Vpr

float C4ModelCoefficients::Vpr = 80.f

PEP regeneration rate cap (μmol/m²/s)

Definition at line 692 of file PhotosynthesisModel.h.

◆ x_etr_partition

float C4ModelCoefficients::x_etr_partition = 0.4f

x — fraction of linear electron-transport rate partitioned to the mesophyll

Definition at line 691 of file PhotosynthesisModel.h.


The documentation for this struct was generated from the following file: