Exemplo n.º 1
0
        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;
        }
Exemplo n.º 2
0
 public SimulationManager(DecayModel model, int maxDecompositionClass, int maxTimeStep)
 {
     _decimalSeparator = System.Globalization.NumberFormatInfo.CurrentInfo.CurrencyDecimalSeparator;
     _selectedModel = model;
     _maxDecayClass = maxDecompositionClass;
     _maxTimeStep = maxTimeStep;
     _forestStands = new List<ForestStand>();
 }
Exemplo n.º 3
0
 public ForestStand(
     String plot,
     int maxTimeStep,
     int maxDecayClass,
     DecayModel model)
 {
     Plot = plot;
     MaxTimeStep = maxTimeStep;
     MaxDecayClass = maxDecayClass;
     Cohorts = new List<CohortStatistics>();
     TimeSerieOfForestStandStatisticses = new List<ForestStandStatistics>();
 }
Exemplo n.º 4
0
        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;
            }
        }