| | |
| | | fprintf(fh," %.17E\t%.17E\t%.17E\t%.17E\t%.17E\t%u\n", |
| | | vlist->vtx[i]->xk,vlist->vtx[i]->c,vlist->vtx[i]->energy, |
| | | vlist->vtx[i]->energy_h, vlist->vtx[i]->curvature, 0); |
| | | for(j=0;j<vlist->vtx[i]->neigh_no;j++){ |
| | | for(j=0;j<vlist->vtx[i]->bond_no;j++){ |
| | | fprintf(fh," %.17E", vlist->vtx[i]->bond[j]->bond_length_dual); |
| | | } |
| | | fprintf(fh,"\n"); |
| | | for(j=0;j<vlist->vtx[i]->neigh_no;j++){ |
| | | for(j=0;j<vlist->vtx[i]->bond_no;j++){ |
| | | fprintf(fh," %.17E", vlist->vtx[i]->bond[j]->bond_length); |
| | | } |
| | | fprintf(fh,"\n"); |
| | |
| | | |
| | | |
| | | ts_vesicle *parsetape(ts_uint *mcsweeps, ts_uint *inititer, ts_uint *iterations){ |
| | | long int nshell=17,ncxmax=60, ncymax=60, nczmax=60, npoly=10, nmono=20; // THIS IS DUE TO CONFUSE BUG! |
| | | long int nshell=17,ncxmax=60, ncymax=60, nczmax=60, npoly=10, nmono=20, pswitch=0; // THIS IS DUE TO CONFUSE BUG! |
| | | char *buf=malloc(255*sizeof(char)); |
| | | long int brezveze0=1; |
| | | long int brezveze1=1; |
| | | long int brezveze2=1; |
| | | ts_double xk0=25.0, dmax=1.67,stepsize=0.15; |
| | | ts_double xk0=25.0, dmax=1.67,stepsize=0.15,kspring=800.0,pressure=0.0; |
| | | long int iter=1000, init=1000, mcsw=1000; |
| | | |
| | | |
| | |
| | | CFG_SIMPLE_INT("nmono", &nmono), |
| | | CFG_SIMPLE_FLOAT("dmax", &dmax), |
| | | CFG_SIMPLE_FLOAT("xk0",&xk0), |
| | | CFG_SIMPLE_INT("pswitch",&pswitch), |
| | | CFG_SIMPLE_FLOAT("pressure",&pressure), |
| | | CFG_SIMPLE_FLOAT("k_spring",&kspring), |
| | | CFG_SIMPLE_FLOAT("stepsize",&stepsize), |
| | | CFG_SIMPLE_INT("nxmax", &ncxmax), |
| | | CFG_SIMPLE_INT("nymax", &ncymax), |
| | |
| | | *mcsweeps=mcsw; |
| | | vesicle=initial_distribution_dipyramid(nshell,ncxmax,ncymax,nczmax,stepsize); |
| | | vesicle->poly_list=init_poly_list(npoly,nmono, vesicle->vlist); |
| | | vesicle->spring_constant=kspring; |
| | | poly_assign_spring_const(vesicle); |
| | | |
| | | |
| | | vesicle->nshell=nshell; |
| | | vesicle->dmax=dmax*dmax; |
| | | vesicle->bending_rigidity=xk0; |
| | | vtx_set_global_values(vesicle); //copies xk0 to every vertex |
| | | |
| | | |
| | | vesicle->stepsize=stepsize; |
| | | vesicle->clist->ncmax[0]=ncxmax; |
| | | vesicle->clist->ncmax[1]=ncymax; |
| | | vesicle->clist->ncmax[2]=nczmax; |
| | | vesicle->clist->max_occupancy=8; |
| | | |
| | | vesicle->pressure=pressure/vesicle->bending_rigidity; //all energy contributions need to be divided by bending_rigidity! |
| | | vesicle->pswitch=pswitch; |
| | | cfg_free(cfg); |
| | | free(buf); |
| | | // fprintf(stderr,"NSHELL=%u\n",vesicle->nshell); |