Added wrapper to libtrisurf
1 files added
2 files modified
| | |
| | | from vtk import * |
| | | except: |
| | | print("Vtk rendering works if you manually install vtk7 for python3") |
| | | exit(1) |
| | | # exit(1) |
| | | |
| | | class MultiRender: |
| | | def __init__(self,args,host): |
| | |
| | | from trisurf import VTKRendering as vtk |
| | | import math |
| | | from multiprocessing import Process |
| | | table=trisurf.Statistics(run.Dir.fullpath(),filename='data_tspoststat.csv').getTable() |
| | | table=trisurf.Statistics(run.Dir.fullpath(),filename='poststat.csv').getTable() |
| | | def running_avg(col): |
| | | import numpy as np |
| | | avg=[] |
| | |
| | | # these functions should be wrapped |
| | | # ------------------------------- |
| | | @analysis('plotColumnFromPostProcess') |
| | | def plotColumnFromPostProcess(run, filename='data_tspoststat.csv', column='hbar', **kwargs): |
| | | def plotColumnFromPostProcess(run, filename='poststat.csv', column='hbar', **kwargs): |
| | | import matplotlib.pyplot as plt |
| | | |
| | | def smooth(y, box_pts): |
New file |
| | |
| | | from ctypes import * |
| | | |
| | | TS_SUCCESS=0 |
| | | TS_FAIL=1 |
| | | |
| | | TS_ID_FILAMENT=1 |
| | | |
| | | TS_COORD_CARTESIAN=0 |
| | | TS_COORD_SPHERICAL=1 |
| | | TS_COORD_CYLINDRICAL=2 |
| | | |
| | | |
| | | class ts_coord(Structure): |
| | | _fields_=[ |
| | | ("e1", c_double), |
| | | ("e2", c_double), |
| | | ("e3", c_double), |
| | | ("coord_type", c_uint) |
| | | ] |
| | | class ts_vertex(Structure): |
| | | pass |
| | | class ts_bond(Structure): |
| | | pass |
| | | class ts_triangle(Structure): |
| | | pass |
| | | class ts_cell(Structure): |
| | | pass |
| | | class ts_poly(Structure): |
| | | pass |
| | | class ts_cluster(Structure): |
| | | pass |
| | | ts_vertex._fields_=[ |
| | | ('idx',c_uint), |
| | | ('x',c_double), |
| | | ('y',c_double), |
| | | ('z',c_double), |
| | | ('neigh_no',c_uint), |
| | | ('neigh', POINTER(POINTER(ts_vertex))), |
| | | ('bond_length', POINTER(c_double)), |
| | | ('bond_length_dual',POINTER(c_double)), |
| | | ('curvature', c_double), |
| | | ('energy', c_double), |
| | | ('energy_h',c_double), |
| | | ('tristar_no', c_uint), |
| | | ('tristar', POINTER(POINTER(ts_triangle))), |
| | | ('bond_no',c_uint), |
| | | ('bond',POINTER(POINTER(ts_bond))), |
| | | ('cell',POINTER(ts_cell)), |
| | | ('xk',c_double), |
| | | ('c',c_double), |
| | | ('id', c_uint), |
| | | ('projArea',c_double), |
| | | ('relR', c_double), |
| | | ('solAngle', c_double), |
| | | ('grafted_poly', POINTER(ts_poly)), |
| | | ('cluster',POINTER(ts_cluster)), |
| | | ] |
| | | class ts_vertex_list(Structure): |
| | | _fields_=[('n',c_uint), ('vtx',POINTER(POINTER(ts_vertex)))] |
| | | |
| | | ts_bond._fields_=[('idx',c_uint), |
| | | ('vtx1', POINTER(ts_vertex)), |
| | | ('vtx2', POINTER(ts_vertex)), |
| | | ('bond_length',c_double), |
| | | ('bond_length_dual',c_double), |
| | | ('tainted', c_char), |
| | | ('energy',c_double), |
| | | ('x',c_double), |
| | | ('y',c_double), |
| | | ('z',c_double), |
| | | ] |
| | | class ts_bond_list(Structure): |
| | | _fields_=[('n', c_uint),('bond',POINTER(POINTER(ts_bond)))] |
| | | |
| | | ts_triangle._fields_=[ |
| | | ('idx',c_uint), |
| | | ('vertex', POINTER(ts_vertex)*3), |
| | | ('neigh_no',c_uint), |
| | | ('neigh', POINTER(POINTER(ts_triangle))), |
| | | ('xnorm', c_double), |
| | | ('ynorm', c_double), |
| | | ('znorm', c_double), |
| | | ('area', c_double), |
| | | ('volume', c_double), |
| | | ] |
| | | |
| | | class ts_triangle_list(Structure): |
| | | _fields_=[('n',c_uint),('tria', POINTER(POINTER(ts_triangle)))] |
| | | |
| | | |
| | | ts_cell._fields_=[ |
| | | ('idx', c_uint), |
| | | ('vertex', POINTER(POINTER(ts_vertex))), |
| | | ('nvertex', c_uint), |
| | | ] |
| | | |
| | | class ts_cell_list(Structure): |
| | | _fields_=[ |
| | | ('ncmax', c_uint*3), |
| | | ('cellno', c_uint), |
| | | ('cell',POINTER(POINTER(ts_cell))), |
| | | ('dcell', c_double), |
| | | ('shift', c_double), |
| | | ('max_occupancy', c_double), |
| | | ('dmin_interspecies', c_double) |
| | | ] |
| | | |
| | | class ts_spharm(Structure): |
| | | _fields_=[ |
| | | ('l',c_uint), |
| | | ('ulm', POINTER(POINTER(c_double))), |
| | | # ('ulmComplex', POINTER(POINTER(gsl_complex))), #poisci!!!! |
| | | ('ulmComplex', POINTER(POINTER(c_double))), #temporary solution |
| | | ('sumUlm2', POINTER(POINTER(c_double))), |
| | | ('N', c_uint), |
| | | ('co',POINTER(POINTER(c_double))), |
| | | ('Ylmi', POINTER(POINTER(c_double))), |
| | | ] |
| | | |
| | | ts_poly._fields_=[ |
| | | ('vlist', POINTER(ts_vertex_list)), |
| | | ('blist', POINTER(ts_bond_list)), |
| | | ('grafted_vtx',POINTER(ts_vertex)), |
| | | ('k', c_double), |
| | | ] |
| | | |
| | | class ts_poly_list(Structure): |
| | | _fields_=[('n',c_uint),('poly',POINTER(POINTER(ts_poly)))] |
| | | |
| | | class ts_tape(Structure): |
| | | _fields_=[ |
| | | ('nshell',c_long), |
| | | ('ncxmax',c_long), |
| | | ('ncymax',c_long), |
| | | ('nczmax',c_long), |
| | | ('npoly',c_long), |
| | | ('nmono',c_long), |
| | | ('internal_poly',c_long), |
| | | ('nfil',c_long), |
| | | ('nfono', c_long), |
| | | ('R_nucleus',c_long), |
| | | ('R_nucleusX',c_double), |
| | | ('R_nucleusY',c_double), |
| | | ('R_nucleusZ',c_double), |
| | | ('pswitch',c_long), |
| | | ('constvolswitch',c_long), |
| | | ('constareaswitch',c_long), |
| | | ('constvolprecision',c_double), |
| | | ('multiprocessing',c_char_p), |
| | | ('brezveze0',c_long), |
| | | ('brezveze1',c_long), |
| | | ('brezveze2',c_long), |
| | | ('xk0',c_double), |
| | | ('dmax',c_double), |
| | | ('dmin_interspecies',c_double), |
| | | ('stepsize',c_double), |
| | | ('kspring',c_double), |
| | | ('xi',c_double), |
| | | ('pressure',c_double), |
| | | ('iterations',c_long), |
| | | ('inititer',c_long), |
| | | ('mcsweeps',c_long), |
| | | ('quiet',c_long), |
| | | ('shc',c_long), |
| | | ('number_of_vertice_with_c0',c_long), |
| | | ('c0', c_double), |
| | | ('w', c_double), |
| | | ('F', c_double), |
| | | ] |
| | | |
| | | |
| | | class ts_vesicle(Structure): |
| | | _fields_=[ |
| | | ('vlist', POINTER(ts_vertex_list)), |
| | | ('blist', POINTER(ts_bond_list)), |
| | | ('tlist', POINTER(ts_triangle_list)), |
| | | ('clist', POINTER(ts_cell_list)), |
| | | ('nshell', c_uint), |
| | | ('bending_rigidity',c_double), |
| | | ('dmax',c_double), |
| | | ('stepsize',c_double), |
| | | ('cm', c_double*3), |
| | | ('volume', c_double), |
| | | ('sphHarmonics',POINTER(ts_spharm)), |
| | | ('poly_list', POINTER(ts_poly_list)), |
| | | ('filament_list', POINTER(ts_poly_list)), |
| | | ('spring_constant', c_double), |
| | | ('pressure', c_double), |
| | | ('pswitch', c_int), |
| | | ('tape', POINTER(ts_tape)), |
| | | ('R_nucleus', c_double), |
| | | ('R_nucleusX', c_double), |
| | | ('R_nucleusY', c_double), |
| | | ('R_nucleusZ', c_double), |
| | | ('nucleus_center', c_double *3 ), |
| | | ('area', c_double), |
| | | ] |
| | | |
| | | ts_cluster._fields_=[('nvtx',c_uint),('idx',c_uint),('vtx', POINTER(POINTER(ts_vertex)))] |
| | | |
| | | class ts_cluster_list(Structure): |
| | | _fields_=[('n',c_uint),('poly',POINTER(POINTER(ts_cluster)))] |
| | | |