| | |
| | | |
| | | |
| | | ts_bool initial_population_with_c0(ts_vesicle *vesicle, ts_tape *tape){ |
| | | int rndvtx,i,j; |
| | | // OVERRIDE! JUST FOR TEST BRANCH!!! |
| | | // WARNING !!!! |
| | | // WARNING !!!! |
| | | // WARNING !!!! |
| | | return TS_SUCCESS; |
| | | if(tape->number_of_vertices_with_c0>0){ |
| | | // ts_fprintf(stderr,"Setting values for spontaneous curvature as defined in tape\n"); |
| | | j=0; |
| | | for(i=0;i<tape->number_of_vertices_with_c0;i++){ |
| | | add_vertices_with_c0(vesicle, tape->number_of_vertices_with_c0, tape->c0, tape->w); |
| | | } |
| | | return TS_SUCCESS; |
| | | } |
| | | |
| | | ts_bool add_vertices_with_c0(ts_vesicle *vesicle, ts_int n, ts_double c0, ts_double w){ |
| | | ts_int rndvtx,i,j=0; |
| | | for(i=0;i<n;i++){ |
| | | rndvtx=rand() % vesicle->vlist->n; |
| | | if(fabs(vesicle->vlist->vtx[rndvtx]->c-tape->c0)<1e-15){ |
| | | if(fabs(vesicle->vlist->vtx[rndvtx]->c-c0)<1e-15){ |
| | | j++; |
| | | i--; |
| | | if(j>10*vesicle->vlist->n){ |
| | |
| | | } |
| | | continue; |
| | | } |
| | | vesicle->vlist->vtx[rndvtx]->c=tape->c0; |
| | | vesicle->vlist->vtx[rndvtx]->c=c0; |
| | | } |
| | | mean_curvature_and_energy(vesicle); |
| | | if(fabs(tape->w)>1e-16){ //if nonzero energy |
| | | if(fabs(w)>1e-16){ //if nonzero energy |
| | | // ts_fprintf(stderr,"Setting attraction between vertices with spontaneous curvature\n"); |
| | | sweep_attraction_bond_energy(vesicle); |
| | | } |
| | | } |
| | | return TS_SUCCESS; |
| | | } |
| | | |
| | | } |
| | | |
| | | ts_bool pentagonal_dipyramid_vertex_distribution(ts_vertex_list *vlist){ |
| | | /* Some often used relations */ |