Ignore:
Timestamp:
09/08/15 01:03:24 (10 years ago)
Author:
oriona
Message:

new reticulopodia range implemented, visualization of reticulopodia

File:
1 edited

Legend:

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

    r422 r430  
    55{
    66        colors = ["1.0,1.0,0.0","1.0,0.5,0.0"];
    7         chambers = [ ["//0\np:sh=1,",
    8         "p:0.98089325428009, 0.00591040402650833, 0.00389722990803421,",
    9         "p:1.90962779521942, -0.256769120693207, -0.16194811463356,",
    10         "p:2.63965249061584, -0.727959632873535, -0.609036147594452,",
    11         "p:3.17575979232788, -1.34843015670776, -1.14828503131866,",
    12         "p:3.55273032188416, -2.22369408607483, -1.3917418718338,",
    13         "p:3.64916682243347, -3.11888360977173, -1.01666414737701,",
    14         "p:3.50461649894714, -3.84039807319641, -0.377427101135254,",
    15         "p:3.15921688079834, -4.50001525878906, 0.261153399944305,",
    16         "p:2.51528453826904, -5.16421365737915, 0.59241509437561,"],
    17         ["//0\np:sh=1,",
    18         "p:1.08020961284637, -0.0597195439040661, -0.0393781512975693,",
    19         "p:1.08020961284637, -0.0597195439040661, -0.0393781512975693,",
    20         "p:0.615013539791107, 0.778662621974945, 0.535521030426025,",
    21         "p:0.488581955432892, 0.826426684856415, -0.381044268608093,",
    22         "p:0.732419908046722, -0.0084995785728097, -1.02214300632477,",
    23         "p:1.35288727283478, 0.875738024711609, -1.03719782829285,",
    24         "p:0.342692613601685, 0.938660383224487, -1.45657968521118,",
    25         "p:1.0958571434021, 0.316927701234818, -1.813929438591,",
    26         "p:0.903768002986908, 1.11856341362, -2.53161096572876,",
    27         "p:0.21014116704464, 0.295340299606323, -2.45328187942505,"] ];
     7        chambers = [ ["0.0,0.0,0.0,", //longitudal
     8        "0.98089325428009, 0.00591040402650833, 0.00389722990803421,",
     9        "1.90962779521942, -0.256769120693207, -0.16194811463356,",
     10        "2.63965249061584, -0.727959632873535, -0.609036147594452,",
     11        "3.17575979232788, -1.34843015670776, -1.14828503131866,",
     12        "3.55273032188416, -2.22369408607483, -1.3917418718338,",
     13        "3.64916682243347, -3.11888360977173, -1.01666414737701,",
     14        "3.50461649894714, -3.84039807319641, -0.377427101135254,",
     15        "3.15921688079834, -4.50001525878906, 0.261153399944305,",
     16        "2.51528453826904, -5.16421365737915, 0.59241509437561,"],
     17        ["0.0,0.0,0.0,",  //coiled
     18        "1.08020961284637, -0.0597195439040661, -0.0393781512975693,",
     19        "1.08020961284637, -0.0597195439040661, -0.0393781512975693,",
     20        "0.615013539791107, 0.778662621974945, 0.535521030426025,",
     21        "0.488581955432892, 0.826426684856415, -0.381044268608093,",
     22        "0.732419908046722, -0.0084995785728097, -1.02214300632477,",
     23        "1.35288727283478, 0.875738024711609, -1.03719782829285,",
     24        "0.342692613601685, 0.938660383224487, -1.45657968521118,",
     25        "1.0958571434021, 0.316927701234818, -1.813929438591,",
     26        "0.903768002986908, 1.11856341362, -2.53161096572876,",
     27        "0.21014116704464, 0.295340299606323, -2.45328187942505,"] ];
    2828}
    2929
     
    3131{
    3232        var rad = getProperty(gen, "chamber_proculus");
    33         var geno = chambers[species][0] + "sx=" + rad + ",sy=" + rad + ",sz=" + rad + ", rz=3.14159265358979,vr=" + colors[gen];
     33        var geno = "//0\np:" + chambers[species][0] + "sh=1,sx=" + rad + ",sy=" + rad + ",sz=" + rad + ", rz=3.14159265358979,vr=" + colors[gen];
    3434
    3535        chamber_num = Math.min(chamber_num, chambers[species].size - 1);
     
    3838        {
    3939                rad = getProperty(gen, "chamber_proculus") + getProperty(gen, "chamber_difference") * (i + 1);
    40                 geno += "\n" + chambers[species][i+1] + "sh=1,sx=" + rad + ",sy=" + rad + ",sz=" + rad + ",vr=" + colors[gen];
     40                geno += "\n" + "p:" + chambers[species][i+1] + "sh=1,sx=" + rad + ",sy=" + rad + ",sz=" + rad + ",vr=" + colors[gen];
    4141        }
    4242
     
    4545                geno += "\n" +  "j:"+ i +", "+ (i+1) +", sh=1";
    4646        }
     47
    4748        if (species == 1) geno += "\nn:p=0,d=\"S\"";
    4849
     
    5455        if (mode["opt"] == 0) //initial
    5556        {
    56                 mode["cr"].user1 = {"min_repro_energies" : [getProperty(0, "min_repro_energ"), getProperty(1, "min_repro_energ")], "hibernation" : 1 - mode["species"]};
     57                mode["cr"].user1 = {"min_repro_energies" : [max_chamber_energ[0][getProperty(0, "min_repro_energ")], max_chamber_energ[1][getProperty(1, "min_repro_energ")]], "hibernation" : 1 - mode["species"]};
    5758                mode["cr"].user2 = {"max_energy_level" : getProperty(0,"energies0"), "gen" : 0,  "hibernated" : 0, "species" : mode["species"], "reproduce" : 0};
    5859        }
     
    7576        {
    7677                energy0 = getProperty(0,"energies0");
    77                 number = getProperty(1, "e_repro_cost") * parent.energy / energy0;
     78                number = (( 1 - getProperty(1, "e_repro_cost")) * parent.energy) / energy0;
    7879                new_user1 = parent.user1;
    7980                parent.user2["gen"] = 1 - parent.user2["gen"]; //because of reversal of "gen" in createOffspring function
     
    8384        {
    8485                energy0 = getProperty(1,"energies0");
    85                 number = getProperty(parent.user2["gen"], "e_repro_cost") * parent.energy / energy0 + getProperty(parent.user2["gen"], "e_repro_cost") * parent2.energy / energy0;
     86                number = (((1 - getProperty(parent.user2["gen"], "e_repro_cost")) * parent.energy) + ((1 -(getProperty(parent.user2["gen"], "e_repro_cost"))) * parent2.energy)) / energy0;
    8687                new_user1 = [parent.user1, parent2.user1];
    8788                gen = 1 - parent.user2["gen"];
    8889        }
    8990
    90         Simulator.print("number of offspring: " + number);
     91        Simulator.print("haploid number of offspring: " + number + " energ0: " + energy0);
    9192
    9293        for (var j = 0; j < number; j++)
     
    99100{
    100101        var energy0 = getProperty(0,"energies0");
    101         var number = getProperty(parent.user2["gen"], "e_repro_cost") * parent.energy / energy0;
    102 
    103         Simulator.print("number of offspring: " + number);
     102        var number = ((1 - (getProperty(parent.user2["gen"], "e_repro_cost"))) * parent.energy) / energy0;
     103
     104        Simulator.print("diploid number of offspring: " + number+ " energ0: " + energy0);
    104105
    105106        for (var j = 0; j < number / 2; j++)
     
    149150                                        parent2 = pop[i];
    150151                                } 
    151                                 else
     152                                if (parent1 != null && parent2 != null)
    152153                                {
    153154                                        reproduce_haploid(parent1, parent2, 0);
     
    158159                                        parent1 = null;
    159160                                        parent2 = null;
    160                                 }
    161                
     161                                }       
    162162                        }
    163163                }
     
    204204}
    205205
     206
     207
    206208function foramReproduce(cr)
    207209{
     
    231233                }
    232234                if (reproduced == 1)
    233                                 return;
     235                                return 1;
    234236        }
    235237
     
    239241                cr.user2["reproduce"] = 0;
    240242        }
     243
     244        return 0;
    241245}
    242246
Note: See TracChangeset for help on using the changeset viewer.