| | |
| | | #include <sys/types.h> |
| | | #include <dirent.h> |
| | | #include <errno.h> |
| | | #include <snapshot.h> |
| | | /** DUMP STATE TO DISK DRIVE **/ |
| | | |
| | | ts_bool dump_state(ts_vesicle *vesicle, ts_uint iteration){ |
| | |
| | | FILE *fh=fopen(command_line_args.dump_fullfilename,"wb"); |
| | | |
| | | /* dump vesicle */ |
| | | fwrite(vesicle, sizeof(ts_vesicle),1,fh); |
| | | fwrite(vesicle, sizeof(ts_vesicle)-sizeof(ts_double),1,fh); |
| | | /* dump vertex list */ |
| | | fwrite(vesicle->vlist, sizeof(ts_vertex_list),1,fh); |
| | | /* dump bond list */ |
| | |
| | | /* we restore all the data from the dump */ |
| | | /* restore vesicle */ |
| | | ts_vesicle *vesicle=(ts_vesicle *)calloc(1,sizeof(ts_vesicle)); |
| | | retval=fread(vesicle, sizeof(ts_vesicle),1,fh); |
| | | retval=fread(vesicle, sizeof(ts_vesicle)-sizeof(ts_double),1,fh); |
| | | // fprintf(stderr,"was here! %e\n",vesicle->dmax); |
| | | |
| | | /* restore vertex list */ |
| | |
| | | {"dump-filename", required_argument,0, 'f'}, |
| | | {"tape-options",required_argument,0,'c'}, |
| | | {"tape-template", required_argument,0,0}, |
| | | {"dump-from-vtk",required_argument,0,0}, |
| | | {0, 0, 0, 0} |
| | | }; |
| | | /* getopt_long stores the option index here. */ |
| | |
| | | //TODO: find a better way. |
| | | if(strcmp(long_options[option_index].name,"tape-template")==0){ |
| | | strcpy(command_line_args.tape_templatefull,optarg); |
| | | } |
| | | if(strcmp(long_options[option_index].name,"dump-from-vtk")==0){ |
| | | strcpy(command_line_args.dump_from_vtk,optarg); |
| | | } |
| | | break; |
| | | |
| | |
| | | } |
| | | } |
| | | |
| | | fprintf(fh, "<?xml version=\"1.0\"?>\n<VTKFile type=\"UnstructuredGrid\" version=\"0.1\" byte_order=\"LittleEndian\" compressor=\"vtkZLibDataCompressor\">\n <UnstructuredGrid>\n"); |
| | | fprintf(fh, "<?xml version=\"1.0\"?>\n<VTKFile type=\"UnstructuredGrid\" version=\"0.1\" byte_order=\"LittleEndian\" compressor=\"vtkZLibDataCompressor\">\n"); |
| | | xml_trisurf_data(fh,vesicle); |
| | | fprintf(fh, " <UnstructuredGrid>\n"); |
| | | fprintf(fh, "<Piece NumberOfPoints=\"%u\" NumberOfCells=\"%u\">\n",vlist->n+monono*polyno+fonono*filno, blist->n+monono*polyno+filno*(fonono-1)); |
| | | fprintf(fh,"<PointData Scalars=\"scalars\">\n<DataArray type=\"Int64\" Name=\"scalars\" format=\"ascii\">"); |
| | | for(i=0;i<vlist->n;i++){ |