Trisurf Monte Carlo simulator
Samo Penic
2016-06-21 032273a4cf21e1a43038b60b8744021930c97a5b
src/initial_distribution.c
@@ -110,6 +110,30 @@
    else {
        vesicle->sphHarmonics=NULL;
    }
   int rndvtx;
   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++){
         rndvtx=rand() % vesicle->vlist->n;
         if(fabs(vesicle->vlist->vtx[rndvtx]->c-tape->c0)<1e-15){
            j++;
            i--;
            if(j>10*vesicle->vlist->n){
               fatal("cannot populate vesicle with vertices with spontaneous curvature. Too many spontaneous curvature vertices?",100);
            }
            continue;
         }
         vesicle->vlist->vtx[rndvtx]->c=tape->c0;
      }
      mean_curvature_and_energy(vesicle);
      if(fabs(tape->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;
}