#include <LogisticGrowth.h>
Inheritance diagram for clLogisticGrowth:
Public Member Functions | |
clLogisticGrowth (clSimManager *p_oSimManager) | |
Constructor. | |
~clLogisticGrowth () | |
Destructor. | |
float | CalcHeightGrowthValue (clTree *p_oTree, clTreePopulation *p_oPop, float fDiameterGrowth) |
Calculates the amount of height growth increase for a particular tree using the logistic growth equation. | |
float | CalcDiameterGrowthValue (clTree *p_oTree, clTreePopulation *p_oPop, float fHeightGrowth) |
Calculates the amount of diameter growth increase for a particular tree using the logistic growth equation. | |
void | DoShellSetup (xercesc::DOMDocument *p_oDoc) |
Does the setup for this behavior. | |
void | SetNameData (char *cNameString) |
Captures the namestring passed to this behavior. | |
Protected Member Functions | |
float | CalculateFunctionValue (clTree *p_oTree) |
Calculates the value of the logistic growth function. | |
Protected Attributes | |
float * | mp_fAsympGrowthAtFullLight |
Asymptotic growth at full light - a - sized number of behavior species. | |
float * | mp_fShape1 |
Shape parameter 1 - b - sized number of behavior species. | |
float * | mp_fShape2 |
Shape parameter 2 - c - sized number of behavior species. | |
short int * | mp_iIndexes |
For accessing the other arrays. | |
float | m_fConversionFactor |
Conversion factor to translate the results of the function to the appropriate units per timestep, depending on the type of growth behavior this is. |
This can be used to create a growth increment with no automatic height adjustment, a growth increment with automatic height adjustment, or a height increment.
The equation used in this behavior is:
The name string is "logisticgrowthshell". In the parameter file: For diameter growth with no automatic height adjustment, call "logistic growth diam only". For diameter growth with automatic height adjustment, call "logistic growth". For height growth, call "logistic growth height".
Copyright 2004 Charles D. Canham.
clLogisticGrowth::clLogisticGrowth | ( | clSimManager * | p_oSimManager | ) |
Constructor.
Sets the namestring.
clLogisticGrowth::~clLogisticGrowth | ( | ) |
Destructor.
Frees memory.
float clLogisticGrowth::CalcDiameterGrowthValue | ( | clTree * | p_oTree, | |
clTreePopulation * | p_oPop, | |||
float | fHeightGrowth | |||
) | [inline, virtual] |
Calculates the amount of diameter growth increase for a particular tree using the logistic growth equation.
p_oTree | Tree for which to calculate growth. | |
p_oPop | Tree population object, just in case it's needed. | |
fHeightGrowth | Amount of height growth, in m (ignored). |
Reimplemented from clGrowthBase.
float clLogisticGrowth::CalcHeightGrowthValue | ( | clTree * | p_oTree, | |
clTreePopulation * | p_oPop, | |||
float | fDiameterGrowth | |||
) | [inline, virtual] |
Calculates the amount of height growth increase for a particular tree using the logistic growth equation.
p_oTree | Tree for which to calculate growth. | |
p_oPop | Tree population object, just in case it's needed. | |
fDiameterGrowth | Amount of diameter growth for this tree, in cm. |
Reimplemented from clGrowthBase.
float clLogisticGrowth::CalculateFunctionValue | ( | clTree * | p_oTree | ) | [protected] |
Calculates the value of the logistic growth function.
The meaning of what is returned depends on the type of growth the behavior is doing.
p_oTree | Tree for which to calculate growth. This is needed to get the GLI. |
void clLogisticGrowth::DoShellSetup | ( | xercesc::DOMDocument * | p_oDoc | ) | [virtual] |
Does the setup for this behavior.
This reads in the parameters from the parameter file, and validates that all species/type combos use light (each must have "Light" registered).
p_oDoc | Parsed parameter file. |
modelErr | if any species/type combo to which this behavior is applied does not have a light behavior. |
Reimplemented from clGrowthBase.
void clLogisticGrowth::SetNameData | ( | char * | cNameString | ) | [virtual] |
Captures the namestring passed to this behavior.
This is overridden from clBehaviorBase so we can capture the namestring passed. Since this class can create multiple kinds of behaviors that function differently, this will capture what kind of behavior this is supposed to be.
cNameString | Behavior's namestring. |
Reimplemented from clBehaviorBase.