| | |
| | | energy+=tmpenergy/3.0 |
| | | return energy |
| | | |
| | | def sum_bending_energy(vesicle, only_c0_c0=False): |
| | | energy=0.0 |
| | | ts.mean_curvature_and_energy(vesicle) |
| | | for i in range(0,vesicle.contents.vlist.contents.n): |
| | | cvtx=vesicle.contents.vlist.contents.vtx[i] |
| | | if(only_c0_c0 is False or (only_c0_c0 is True and vesicle.contents.vlist.contents.vtx[i].contents.c)): |
| | | energy+=cvtx.contents.energy |
| | | return energy |
| | | |
| | | def get_histogram_data(vesicle): |
| | | cstlist=ts.init_cluster_list() |
| | | ts.clusterize_vesicle(vesicle,cstlist) |
| | |
| | | 'l3':l3, |
| | | 'Nbw/Nb':count_bonds/vesicle.contents.blist.contents.n, |
| | | 'StretchingE': sum_stretching_energy(vesicle), |
| | | 'StretchingEonlyC0': sum_stretching_energy(vesicle, True), |
| | | 'BendingEonlyC0': sum_bending_energy(vesicle, True), |
| | | 'avgFx': avg_normal_force[0], |
| | | 'avgFy': avg_normal_force[1], |
| | | 'avgFz': avg_normal_force[2] |
| | |
| | | csvdict=read_csv(os.path.join(directory,'data_tspoststat.csv')) |
| | | except FileNotFoundError: |
| | | #print("no file") |
| | | csvdict={'OuterLoop':['OuterLoop', 'Volume', 'Area', 'lamdba1', 'lambda2', 'lambda3', 'Nbw/Nb', 'hbar', 'StretchingE', 'avgFx', 'avgFy', 'avgFz', 'StretchingEonlyC0']} |
| | | csvdict={'OuterLoop':['OuterLoop', 'Volume', 'Area', 'lamdba1', 'lambda2', 'lambda3', 'Nbw/Nb', 'hbar', 'StretchingE', 'avgFx', 'avgFy', 'avgFz', 'BendingEonlyC0']} |
| | | filedict=get_vtu_dict(directory) |
| | | modified=False |
| | | for f in filedict: |
| | |
| | | '{:.17e}'.format(p['avgFx']), |
| | | '{:.17e}'.format(p['avgFy']), |
| | | '{:.17e}'.format(p['avgFz']), |
| | | '{:.17e}'.format(p['StretchingEonlyC0'])] |
| | | '{:.17e}'.format(p['BendingEonlyC0'])] |
| | | modified=True |
| | | if modified: |
| | | write_csv(os.path.join(directory,'data_tspoststat.csv'), csvdict) |