Trisurf Monte Carlo simulator
Samo Penic
2016-07-13 82a8abcddd62838bfcd06b6081042caf4d385a88
Seems that the bugs are fixed. Pegs are self avoidant now
1 files modified
10 ■■■■ changed files
src/poly.c 10 ●●●● patch | view | raw | blame | history
src/poly.c
@@ -135,7 +135,7 @@
                    k++;
                    if(k>1000){
                        //undo changes to the cell
                        for(l=0;l<j-1;l++){
                        for(l=0;l<j;l++){
                            cellidx=vertex_self_avoidance(vesicle, poly_list->poly[i]->vlist->vtx[l]);
                            cell_remove_vertex(vesicle->clist->cell[cellidx],poly_list->poly[i]->vlist->vtx[l]);
                        }
@@ -161,9 +161,9 @@
    ts_double dphi,dh;
    cell_occupation(vesicle); //needed for evading the membrane
    // Grafting polymers:
    int tries=0;
    if (vlist!=NULL){
        if (n_poly > vlist->n){fatal("Number of polymers larger than numbero f vertices on a vesicle.",310);}
        while(i<n_poly){
            gvtxi = rand() % vlist->n;
            if (vlist->vtx[gvtxi]->grafted_poly == NULL){
@@ -171,10 +171,16 @@
                retval=poly_initial_distribution(poly_list, i, vesicle);
                if(retval==TS_FAIL){
                    ts_fprintf(stdout,"Found new potential grafting vertex %d for poly %d\n",gvtxi,i);
                    poly_free(poly_list->poly[i]);
                    tries++;
                }
                else {
                    tries=0;
                    i++;
                }
                if(tries>5000){
                    fatal("Cannot find space for inner polymeres",1001);
                }
            }
        }
    }