public CohortIteration( Int64 period, Int64 timeStepLength, Double initialNumberOfTrees, Double initialVolume, Double initialBiomass, Double initialDensity, TreeSpecies species, bool performCalculation, DecayModel model) { Period = period; Species = species; Model = model; if (performCalculation) { //V_t = V_0 * exp(- alpha*t) Volume = initialVolume * Math.Exp(-GetVolumeAlpha() * timeStepLength); Biomass = initialBiomass * Math.Exp(-GetBiomassAlpha() * timeStepLength); Density = initialDensity * Math.Exp(-GetDensityAlpha() * timeStepLength); } else { Volume = initialVolume; Biomass = initialBiomass; Density = initialDensity; } DecayClass = GetDecayClass(Density); NumberOfStems = initialNumberOfTrees; }
public SimulationManager(DecayModel model, int maxDecompositionClass, int maxTimeStep) { _decimalSeparator = System.Globalization.NumberFormatInfo.CurrentInfo.CurrencyDecimalSeparator; _selectedModel = model; _maxDecayClass = maxDecompositionClass; _maxTimeStep = maxTimeStep; _forestStands = new List<ForestStand>(); }
public ForestStand( String plot, int maxTimeStep, int maxDecayClass, DecayModel model) { Plot = plot; MaxTimeStep = maxTimeStep; MaxDecayClass = maxDecayClass; Cohorts = new List<CohortStatistics>(); TimeSerieOfForestStandStatisticses = new List<ForestStandStatistics>(); }
public CohortStatistics( int periodCreated, String plot, TreeSpecies species, String sizeClass, DecayModel model, int maxDecayClass, int maxTimeStep, Double numberOfStemsCreated, Double volumeCreated, Double biomassCreated, Double densityCreated, Double diameterCreated ) { CohortIteration iteration; PeriodCreated = periodCreated; Plot = plot; Species = species; SizeClass = sizeClass; NumberOfStemsCreated = numberOfStemsCreated; VolumeCreated = volumeCreated; BiomassCreated = biomassCreated; DiameterAtBrestHeightCreated = diameterCreated; int decayClass = 0; int period = periodCreated; Double numberOfStems = NumberOfStemsCreated; Double volume = volumeCreated; Double biomass = biomassCreated; Double density = densityCreated; Iterations = new List<CohortIteration>(); iteration = new CohortIteration(period++, TimeStepLength, numberOfStems, volume, biomass, density, Species, false, model); Iterations.Add(iteration); while (decayClass < maxDecayClass && period < (periodCreated + maxTimeStep)) //Iterates the decay of the cohort of all dead tree stems until reaching max decay class. { iteration = new CohortIteration(period++, TimeStepLength, numberOfStems, volume, biomass, density, Species, true, model); Iterations.Add(iteration); decayClass = iteration.DecayClass; volume = iteration.Volume; biomass = iteration.Biomass; density = iteration.Density; } }