Exemplo n.º 1
0
        public void StartModelPreyOnly()
        {
            this.initializeClassVariables();
            this.predatorResults = new ModelResults();
            this.preyResults     = new ModelResults();

            float preyLotkaVolterra  = 0;
            float changeInPopulation = 0;

            timeSeries[0] = 0;
            preyPopulationSizeOverTime[0]     = this.preyInitialParameters.InitialPopulationSize;
            predatorPopulationSizeOverTime[0] = this.predatorInitialParameters.InitialPopulationSize;
            preyGrowthRateOverTime[0]         = 0;
            predatorGrowthRateOverTime[0]     = 0;

            for (int iteration = 1; iteration < numberofIterationsToRun; iteration++)
            {
                timeSeries[iteration] = iteration * this.preyInitialParameters.TimeIncrement;
                timeSeries[iteration] = iteration * this.predatorInitialParameters.TimeIncrement;
                System.Collections.Hashtable lotkavolterra = new System.Collections.Hashtable();

                lotkavolterra.Add("preybirthrate", this.preyInitialParameters.BirthFraction);
                lotkavolterra.Add("preypopulation", preyPopulationSizeOverTime[iteration - 1]);
                lotkavolterra.Add("preydeathrate", this.preyInitialParameters.DeathPropotionalityScore);
                lotkavolterra.Add("predatorpopulation", predatorPopulationSizeOverTime[iteration - 1]);
                lotkavolterra.Add("predatorbirthrate", this.predatorInitialParameters.BirthFraction);
                lotkavolterra.Add("predatordeathrate", this.predatorInitialParameters.DeathPropotionalityScore);

                preyLotkaVolterra  = this.preyChangeInPopulationWithCarryingCapacity(this.preyInitialParameters, lotkavolterra);
                changeInPopulation = preyPopulationSizeOverTime[iteration - 1] + (preyLotkaVolterra * this.preyInitialParameters.TimeIncrement);

                if (changeInPopulation < (float)0)
                {
                    preyPopulationSizeOverTime[iteration] = (float)0;
                }
                else
                {
                    preyPopulationSizeOverTime[iteration] = changeInPopulation;
                }

                preyGrowthRateOverTime[iteration] = this.growthRate(preyPopulationSizeOverTime, iteration);

                predatorPopulationSizeOverTime[iteration] = this.predatorInitialParameters.InitialPopulationSize;

                predatorGrowthRateOverTime[iteration] = this.growthRate(predatorPopulationSizeOverTime, iteration);
            }

            this.preyResults.TimeSeries = timeSeries;
            this.preyResults.PopulationGrowthOverTime     = preyPopulationSizeOverTime;
            this.preyResults.GrowthRateOverTime           = preyGrowthRateOverTime;
            this.predatorResults.TimeSeries               = timeSeries;
            this.predatorResults.PopulationGrowthOverTime = predatorPopulationSizeOverTime;
            this.predatorResults.GrowthRateOverTime       = predatorGrowthRateOverTime;
        }
Exemplo n.º 2
0
 private void initializeClassLevelVariables()
 {
     this.numberofIterationsToRun = this.numberOfIterations();
     this.timeSeries = new float[this.numberofIterationsToRun];
     this.susceptablePopulationSizeOverTime = new float[this.numberofIterationsToRun];
     this.infectedPopulationSizeOverTime    = new float[this.numberofIterationsToRun];
     this.removedPopulationSizeOverTime     = new float[this.numberofIterationsToRun];
     this.susceptableIndividualsResults     = new ModelResults();
     this.infectedIndividualsResults        = new ModelResults();
     this.removedIndividualsResults         = new ModelResults();
 }
Exemplo n.º 3
0
        public void StartModel()
        {
            this.results = new ModelResults();
            int numberofIterationsToRun = this.numberOfIterations();

            float[] timeSeries             = new float[numberofIterationsToRun];
            float[] populationSizeOverTime = new float[numberofIterationsToRun];

            timeSeries[0]             = 0;
            populationSizeOverTime[0] = this.initialparams.InitialPopulationSize;

            for (int iteration = 1; iteration < numberofIterationsToRun; iteration++)
            {
                timeSeries[iteration]             = iteration * this.initialparams.TimeIncrement;
                populationSizeOverTime[iteration] = populationSizeOverTime[iteration - 1] + this.growth(populationSizeOverTime[iteration - 1]);
            }

            this.results.TimeSeries = timeSeries;
            this.results.PopulationGrowthOverTime = populationSizeOverTime;
        }
Exemplo n.º 4
0
        public void StartModel()
        {
            this.competitorOneResults = new ModelResults();
            this.competitorTwoResults = new ModelResults();
            float competitorOneDeaths;
            float competitorTwoDeaths;
            float competitorOneBirths;
            float competitorTwoBirths;

            int numberofIterationsToRun = this.numberOfIterations();

            float[] timeSeries = new float[numberofIterationsToRun];
            float[] competitorOnePopulationSizeOverTime = new float[numberofIterationsToRun];
            float[] competitorTwoPopulationSizeOverTime = new float[numberofIterationsToRun];

            timeSeries[0] = 0;
            competitorOnePopulationSizeOverTime[0] = this.competitorOneInitialParameters.InitialPopulationSize;
            competitorTwoPopulationSizeOverTime[0] = this.competitorTwoInitialParameters.InitialPopulationSize;

            for (int iteration = 1; iteration < numberofIterationsToRun; iteration++)
            {
                timeSeries[iteration] = iteration * this.competitorOneInitialParameters.TimeIncrement;

                competitorOneDeaths = this.deaths(competitorTwoPopulationSizeOverTime[iteration - 1], this.competitorOneInitialParameters) * competitorOnePopulationSizeOverTime[iteration - 1];
                competitorTwoDeaths = this.deaths(competitorOnePopulationSizeOverTime[iteration - 1], this.competitorTwoInitialParameters) * competitorTwoPopulationSizeOverTime[iteration - 1];

                competitorOneBirths = this.births(competitorOnePopulationSizeOverTime[iteration - 1], competitorOneInitialParameters);
                competitorTwoBirths = this.births(competitorTwoPopulationSizeOverTime[iteration - 1], competitorTwoInitialParameters);

                competitorOnePopulationSizeOverTime[iteration] = competitorOnePopulationSizeOverTime[iteration - 1] + ((competitorOneBirths - competitorOneDeaths) * this.competitorOneInitialParameters.TimeIncrement);
                competitorTwoPopulationSizeOverTime[iteration] = competitorTwoPopulationSizeOverTime[iteration - 1] + ((competitorTwoBirths - competitorTwoDeaths) * this.competitorOneInitialParameters.TimeIncrement);
            }

            this.competitorOneResults.TimeSeries = timeSeries;
            this.competitorOneResults.PopulationGrowthOverTime = competitorOnePopulationSizeOverTime;
            this.competitorTwoResults.TimeSeries = timeSeries;
            this.competitorTwoResults.PopulationGrowthOverTime = competitorTwoPopulationSizeOverTime;
        }