| | |
| | | retval = mean_curvature_and_energy(vesicle); |
| | | ts_fprintf(stdout,"initial_distribution finished!\n"); |
| | | if(retval); |
| | | // ts_fprintf(stdout,"%e %e %e\n", vesicle->vlist->vtx[0]->x,vesicle->vlist->vtx[0]->y, vesicle->vlist->vtx[0]->z); |
| | | // for(int i=0;i<vesicle->vlist->vtx[0]->neigh_no; i++){ |
| | | // ts_fprintf(stdout,"%e %e %e\n", vesicle->vlist->vtx[0]->neigh[i]->x,vesicle->vlist->vtx[0]->neigh[i]->y, vesicle->vlist->vtx[0]->neigh[i]->z); |
| | | // } |
| | | return vesicle; |
| | | } |
| | | |
| | |
| | | |
| | | vesicle=initial_distribution_dipyramid(tape->nshell,tape->ncxmax,tape->ncymax,tape->nczmax,tape->stepsize); |
| | | vesicle->tape=tape; |
| | | vesicle->clist->dmin_interspecies = tape->dmin_interspecies*tape->dmin_interspecies; |
| | | vesicle->poly_list=init_poly_list(tape->npoly,tape->nmono, vesicle->vlist, vesicle); |
| | | set_vesicle_values_from_tape(vesicle); |
| | | initial_population_with_c0(vesicle,tape); |
| | | return vesicle; |
| | | } |
| | | |
| | |
| | | vesicle->clist->dmin_interspecies = tape->dmin_interspecies*tape->dmin_interspecies; |
| | | |
| | | //Initialize grafted polymers (brush): |
| | | vesicle->poly_list=init_poly_list(tape->npoly,tape->nmono, vesicle->vlist, vesicle); |
| | | //vesicle->poly_list=init_poly_list(tape->npoly,tape->nmono, vesicle->vlist, vesicle); |
| | | vesicle->spring_constant=tape->kspring; |
| | | poly_assign_spring_const(vesicle); |
| | | |
| | |
| | | vesicle->clist->ncmax[0]=tape->ncxmax; |
| | | vesicle->clist->ncmax[1]=tape->ncymax; |
| | | vesicle->clist->ncmax[2]=tape->nczmax; |
| | | vesicle->clist->max_occupancy=8; /* hard coded max occupancy? */ |
| | | vesicle->clist->max_occupancy=16; /* hard coded max occupancy? */ |
| | | |
| | | vesicle->pressure= tape->pressure; |
| | | vesicle->pswitch=tape->pswitch; |
| | |
| | | vesicle->sphHarmonics=NULL; |
| | | } |
| | | |
| | | int rndvtx; |
| | | vesicle->tlist->a0=sqrt(3)/4*pow((vesicle->tape->dmax+1.0)/2.0,2); |
| | | return TS_SUCCESS; |
| | | |
| | | } |
| | | |
| | | |
| | | ts_bool initial_population_with_c0(ts_vesicle *vesicle, ts_tape *tape){ |
| | | int rndvtx,i,j; |
| | | if(tape->number_of_vertices_with_c0>0){ |
| | | ts_fprintf(stderr,"Setting values for spontaneous curvature as defined in tape\n"); |
| | | // 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; |
| | |
| | | } |
| | | 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"); |
| | | // ts_fprintf(stderr,"Setting attraction between vertices with spontaneous curvature\n"); |
| | | sweep_attraction_bond_energy(vesicle); |
| | | } |
| | | } |
| | | |
| | | return TS_SUCCESS; |
| | | |
| | | return TS_SUCCESS; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | ts_bool pentagonal_dipyramid_vertex_distribution(ts_vertex_list *vlist){ |