clMichMenBase Class Reference

Michaelis-Menton growth base - Version 1.0. More...

#include <MichMenGrowthBase.h>

Inheritance diagram for clMichMenBase:

clGrowthBase clBehaviorBase clWorkerBase clAbsoluteGrowth clConstantBAGrowth clConstantRadialGrowth clDoubleMMRelGrowth clRelativeGrowth List of all members.

Public Member Functions

 clMichMenBase (clSimManager *p_oSimManager)
 Constructor.
virtual ~clMichMenBase ()
 Destructor.

Protected Member Functions

void GetParameterFileData (xercesc::DOMDocument *p_oDoc)
 Extracts growth parameters.
float CalculateMichaelisMentonFunction (short int &iSpecies, float &fGli)
 Calculates the result of the Michaelis-Menton function.
float ApplyGrowthLimits (const short int &iSpecies, const float &fAmountDiamIncrease, const float &fDiam)
 Applies applicable growth limits according to the flags set.
float GetGrowthMemberValue (clTree *p_oTree, float fDiameterGrowth)
 Gets the proper value for the "Growth" data member for mortality calculations based on growth.

Protected Attributes

float * mp_fSlopeGrowthResponse
 Slope of growth response.
float * mp_fAdultConstBAInc
 Adult constant basal area increment in cm2/timestep (parameter file value is expected in cm2/yr).
float * mp_fAdultConstRadInc
 Adult constant radial increment in cm/timestep (parameter file value is expected in mm/yr).
float * mp_fAsympDiamGrowth
 Asymptotic diameter growth.
bool m_bConstRadialLimited
 Whether or not growth is limited to constant radial increment.
bool m_bConstBasalAreaLimited
 Whether or not growth is limited to constant basal area increment.

Detailed Description

Michaelis-Menton growth base - Version 1.0.

This is the base class for growth behavior shell classes which use the Michaelis-Menton function for growth. The variables held in common across classes are static here.

Copyright 2003 Charles D. Canham.

Author:
Lora E. Murphy

Edit history:
-----------------
April 28, 2004 - Submitted as beta (LEM)


Constructor & Destructor Documentation

clMichMenBase::clMichMenBase ( clSimManager p_oSimManager  ) 

Constructor.

Parameters:
p_oSimManager Sim Manager object.

virtual clMichMenBase::~clMichMenBase (  )  [virtual]

Destructor.

Deletes the static arrays if they haven't already been deleted.


Member Function Documentation

float clMichMenBase::ApplyGrowthLimits ( const short int &  iSpecies,
const float &  fAmountDiamIncrease,
const float &  fDiam 
) [protected]

Applies applicable growth limits according to the flags set.

If a flag is set and the growth passed is higher than the applicable limit, the limit is returned instead; otherwise, the growth is returned.

If m_bConstRadialLimited is set to true, the limit is the value in mp_fAdultConstRadInc for that species. If m_bConstBasalAreaLimited is set to true, then the limit is the value in mp_fAdultConstBAInc divided by the tree's diameter (recall that mp_fAdultConstBAInc is in squared units).

Parameters:
iSpecies Species number
fAmountDiamIncrease Amount of diameter increase in cm/timestep
fDiam Tree diameter in cm
Returns:
The amount of growth in cm

float clMichMenBase::CalculateMichaelisMentonFunction ( short int &  iSpecies,
float &  fGli 
) [inline, protected]

Calculates the result of the Michaelis-Menton function.

Parameters:
iSpecies Species number
fGli GLI value as a percentage between 0 and 100
Returns:
Function result.

float clMichMenBase::GetGrowthMemberValue ( clTree p_oTree,
float  fDiameterGrowth 
) [protected, virtual]

Gets the proper value for the "Growth" data member for mortality calculations based on growth.

In order to keep old slow growers from dying, if the tree's DBH is greater than 30 cm and its GLI is greater than 10, the return value is 10. Otherwise, the tree's amount of annual diameter increase is returned.

Parameters:
p_oTree Tree to get "Growth" for.
fDiameterGrowth Amount of diameter growth to be added.
Returns:
Value to place in "Growth".

Reimplemented from clGrowthBase.

void clMichMenBase::GetParameterFileData ( xercesc::DOMDocument *  p_oDoc  )  [protected]

Extracts growth parameters.

This should be called in child DoShellSetup() functions. If a child behavior wants a particular array filled, simply declare it; all non-needed arrays can be left NULL. Only those species to which a child behavior apply will be filled.

Parameters:
p_oDoc DOM tree of parsed input file.


Member Data Documentation

float* clMichMenBase::mp_fAdultConstBAInc [protected]

Adult constant basal area increment in cm2/timestep (parameter file value is expected in cm2/yr).

Array size is number of species.

float* clMichMenBase::mp_fAdultConstRadInc [protected]

Adult constant radial increment in cm/timestep (parameter file value is expected in mm/yr).

Old parameter g4. Array size is number of species.

float* clMichMenBase::mp_fAsympDiamGrowth [protected]

Asymptotic diameter growth.

Old parameter g1. Array size is number of species.

float* clMichMenBase::mp_fSlopeGrowthResponse [protected]

Slope of growth response.

Array size is number of species. Old parameter g2.


The documentation for this class was generated from the following file:
Generated on Wed Nov 29 08:42:22 2006 for SORTIE Core C++ Documentation by  doxygen 1.4.7