#include <SizeDepLogisticGrowth.h>
Inheritance diagram for clSizeDepLogisticGrowth:
Public Member Functions | |
clSizeDepLogisticGrowth (clSimManager *p_oSimManager) | |
Constructor. | |
~clSizeDepLogisticGrowth () | |
Destructor. | |
float | CalcHeightGrowthValue (clTree *p_oTree, clTreePopulation *p_oPop, float fDiameterGrowth) |
Calculates the amount of height growth increase for a particular tree using the size dependent 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 size dependent 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 (int iSpecies, float fGLI, float fDiam) |
Calculates the value of the size dependent logistic growth function for one increment. | |
Protected Attributes | |
float * | mp_fSlope |
Growth slope - b - sized number of behavior species. | |
float * | mp_fIntercept |
Growth intercept - a - sized number of behavior species. | |
float * | mp_fShape1 |
Shape parameter 1 - c - sized number of behavior species. | |
float * | mp_fShape2 |
Shape parameter 2 - d - 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, depending on the type of growth behavior this is. | |
float | m_fNumberOfYearsPerTimestep |
Number of years per timestep. |
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:
This behavior compounds this result for multi-year timesteps. In the case of diameter growth, a copy of the diameter value is incremented X times (with X being the number of years per timestep) and the final increment is the sum of all the interim increments. In the case of height growth, the amount of diameter growth is divided by X and this value used to increment height X times, with the nth diameter (n = 1 to X) being the original diameter plus (n * diameter growth / X).
The name string is "sizedeplogisticgrowthshell". In the parameter file: For diameter growth with no automatic height adjustment, call "size dependent logistic growth diam only". For diameter growth with automatic height adjustment, call "size dependent logistic growth". For height growth, call "size dependent logistic growth height".
Copyright 2004 Charles D. Canham.
|
Constructor. Sets the namestring. |
|
Destructor. Frees memory. |
|
Calculates the amount of diameter growth increase for a particular tree using the size dependent logistic growth equation. The function value is calculated for each year of the timestep by repeatedly incrementing a copy of the diameter (the tree's actual diameter remains untouched, as it is supposed to). The final increment is the sum of all the intermediate increments.
Reimplemented from clGrowthBase. |
|
Calculates the amount of height growth increase for a particular tree using the size dependent logistic growth equation. The function value is calculated for each year of the timestep by using the original diameter plus fDiameterGrowth divided by the years per timestep times the loop counter for the year being compounded. The final increment is the sum of all the intermediate increments.
Reimplemented from clGrowthBase. |
|
Calculates the value of the size dependent logistic growth function for one increment. The meaning of what is returned depends on the type of growth the behavior is doing.
|
|
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).
Reimplemented from clGrowthBase. |
|
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.
Reimplemented from clBehaviorBase. |