Ignore:
Timestamp:
03/26/16 00:26:52 (9 years ago)
Author:
oriona
Message:

Food seasonality added.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • experiments/frams/foraminifera/data/scripts/foraminifera.expdef

    r479 r481  
    3131global o;
    3232global reprocounter;
     33global changePeriod;
     34global phase;
    3335
    3436@include "foraminifera.inc"
     
    9193
    9294        //reproduction
    93         ExpParams.foramPop = 4;
     95        ExpParams.foramPop = 20;       
    9496        ExpParams.crossprob = 0;
    9597        ExpParams.mutationprob = 0;
     
    110112        ExpParams.chamber_difference_haplo = 0.0;
    111113        ExpParams.chamber_proculus_diplo = micronsToFrams(20);
    112         ExpParams.chamber_difference_diplo = 0.2;
     114        ExpParams.chamber_difference_diplo = micronsToFrams(8);
    113115
    114116        max_chamber_volume = [Vector.new(), Vector.new()];
     
    129131        ExpParams.energy_move = 0.0000005;
    130132
    131         ExpParams.energies0_haplo = energyFromVolume(ExpParams.chamber_proculus_haplo,1);
     133        ExpParams.energies0_haplo = energyFromVolume(micronsToFrams(20),1);
    132134        ExpParams.energies0_diplo = energyFromVolume(micronsToFrams(1.25),1);
    133135        ExpParams.feedtrans = 0.001;
     
    139141
    140142        //nutrients
    141         ExpParams.foodperiod = 480;
     143        changePeriod = 0;
     144        phase = "high";
     145        ExpParams.foodperiod = 21600;
     146        ExpParams.foodPeriodChange = 0;
    142147        ExpParams.nutrientradius = micronsToFrams(10);
    143148        ExpParams.energy_nut = energyFromVolume(ExpParams.nutrientradius,1);
     
    226231        {
    227232                addInitialForam(0, i); 
    228                 addInitialForam(1, i);
     233                //addInitialForam(1, i);
    229234        }
    230235        o = Populations[0][0].getMechPart(0).orient.clone();
     
    652657function nutrientGrowth()
    653658{
     659        if (ExpParams.foodPeriodChange > 0)
     660        {
     661                        changePeriod += 1;
     662                        if (phase=="low" && (changePeriod*ExpParams.secPerStep) >= 23328000) //9 months
     663                        {
     664                                ExpParams.foodperiod = ExpParams.foodperiod/ExpParams.foodPeriodChange;
     665                                phase = "high";
     666                                changePeriod = 0;
     667                        }
     668               
     669                        else if (phase == "high" && (changePeriod*ExpParams.secPerStep) >= 7776000) //3 months
     670                        {
     671                                ExpParams.foodperiod = ExpParams.foodperiod*ExpParams.foodPeriodChange;
     672                                phase = "low";
     673                                changePeriod = 0;
     674                        }
     675        }
    654676        nutrientenergywaiting = nutrientenergywaiting + 1;
    655677        if (nutrientenergywaiting*ExpParams.secPerStep >= ExpParams.foodperiod)
    656678        {
    657                 for (var i = 0; i < ExpParams.feedrate*(ExpParams.secPerStep/ExpParams.foodperiod); i++)
     679                for (var i = 0; i < ExpParams.feedrate; i++)
    658680                {   
    659681                        addNutrient();
     
    976998
    977999prop:
     1000id:foodPeriodChange
     1001name:Set variable feed rate
     1002type:f 0
     1003group:Energy
     1004
     1005prop:
    9781006id:ingestion
    9791007name:Ingestion rate
     
    9961024id:foodperiod
    9971025name:Time between food occurrences
    998 type:f 0 100000
     1026type:f 0 1000000
    9991027group:Energy
    10001028
Note: See TracChangeset for help on using the changeset viewer.