#include <BrowsedRelativeGrowth.h>
Inheritance diagram for clBrowsedRelativeGrowth:
Public Member Functions | |
clBrowsedRelativeGrowth (clSimManager *p_oSimManager) | |
Constructor. | |
~clBrowsedRelativeGrowth () | |
Destructor. | |
float | CalcDiameterGrowthValue (clTree *p_oTree, clTreePopulation *p_oPop, float fHeightGrowth) |
Applies growth as described in the equation above. | |
void | SetNameData (char *cNameString) |
Captures the behavior name passed from the parameter file. | |
void | DoShellSetup (xercesc::DOMDocument *p_oDoc) |
Does setup. | |
Protected Attributes | |
float * | mp_fUnbrowsedS |
Slope of growth response, unbrowsed. | |
float * | mp_fBrowsedS |
Slope of growth response, browsed. | |
float * | mp_fUnbrowsedA |
Asymptotic diameter growth, unbrowsed. | |
float * | mp_fBrowsedA |
Asymptotic diameter growth, browsed. | |
float * | mp_fUnbrowsedDiamExp |
Diameter exponent, unbrowsed. | |
float * | mp_fBrowsedDiamExp |
Diameter exponent, browsed. | |
short int ** | mp_iLightCodes |
Codes for "Light" data member. | |
short int ** | mp_iBrowsedCodes |
Codes for "Browsed" data member. | |
float | m_fNumberYearsPerTimestep |
Number of years per timestep - from sim manager. | |
short int | m_iNumSpecies |
Number of species. |
This is a growth shell object which applies the Michaelis-Menton function to find relative growth. There are two growth rates: one for browsed, and one for unbrowsed.
Browsedness is determined by the Random Browse behavior (class clRandomBrowse). This class expects that behavior to be enabled and the "Browsed" bool data member to be present for all trees to which this behavior is applied.
The growth equation is:
The actual amount of new growth is:
(There are some strangenesses in the math - 1s are added and subtracted at various times and I don't know why. This is based on code I didn't originally write.)
The namestring for this class is "browsedrelgrowthshell". Call in the parameter file via "browsed relative growth" or "browsed relative growth diam only".
Copyright 2007 Charles D. Canham.
clBrowsedRelativeGrowth::clBrowsedRelativeGrowth | ( | clSimManager * | p_oSimManager | ) |
Constructor.
p_oSimManager | Sim Manager object. |
float clBrowsedRelativeGrowth::CalcDiameterGrowthValue | ( | clTree * | p_oTree, | |
clTreePopulation * | p_oPop, | |||
float | fHeightGrowth | |||
) | [virtual] |
Applies growth as described in the equation above.
p_oTree | Tree for which to calculate growth. | |
p_oPop | Tree population. | |
fHeightGrowth | Amount of height growth, in m (ignored). |
Reimplemented from clGrowthBase.
void clBrowsedRelativeGrowth::SetNameData | ( | char * | cNameString | ) | [virtual] |
Captures the behavior name passed from the parameter file.
This is useful since this class can produce a few different kinds of behaviors.
cNameString | Behavior name from parameter file. |
Reimplemented from clBehaviorBase.
void clBrowsedRelativeGrowth::DoShellSetup | ( | xercesc::DOMDocument * | p_oDoc | ) | [virtual] |
Does setup.
Reads in values from the parameter file,, and validates that all species/type combos use light and browse.
p_oDoc | DOM tree of parsed input file. |
modelErr | if any species/type combo to which this behavior is applied does not have a light behavior or the browse behavior. |
Reimplemented from clGrowthBase.
float* clBrowsedRelativeGrowth::mp_fUnbrowsedS [protected] |
Slope of growth response, unbrowsed.
Array size is number of species.
float* clBrowsedRelativeGrowth::mp_fBrowsedS [protected] |
Slope of growth response, browsed.
Array size is number of species.
float* clBrowsedRelativeGrowth::mp_fUnbrowsedA [protected] |
Asymptotic diameter growth, unbrowsed.
Array size is number of species.
float* clBrowsedRelativeGrowth::mp_fBrowsedA [protected] |
Asymptotic diameter growth, browsed.
Array size is number of species.
float* clBrowsedRelativeGrowth::mp_fUnbrowsedDiamExp [protected] |
Diameter exponent, unbrowsed.
Array size is number of species
float* clBrowsedRelativeGrowth::mp_fBrowsedDiamExp [protected] |
Diameter exponent, browsed.
Array size is number of species
short int** clBrowsedRelativeGrowth::mp_iLightCodes [protected] |
Codes for "Light" data member.
Array size is number of species by number of types.
short int** clBrowsedRelativeGrowth::mp_iBrowsedCodes [protected] |
Codes for "Browsed" data member.
Array size is number of species by number of types.
short int clBrowsedRelativeGrowth::m_iNumSpecies [protected] |
Number of species.
For destructor.