| | |
| | | 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 */ |
| | |
| | | sprintf(command_line_args.output_fullfilename,"output.pvd"); |
| | | sprintf(command_line_args.dump_fullfilename,"dump.bin"); |
| | | sprintf(command_line_args.tape_fullfilename,"tape"); |
| | | sprintf(command_line_args.tape_templatefull,"./tape"); |
| | | FILE *file; |
| | | |
| | | while (1) |
| | |
| | | {"directory", required_argument, 0, 'd'}, |
| | | {"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. */ |
| | |
| | | /* If this option set a flag, do nothing else now. */ |
| | | if (long_options[option_index].flag != 0) |
| | | break; |
| | | printf ("option %s", long_options[option_index].name); |
| | | /* printf ("option %s", long_options[option_index].name); |
| | | if (optarg) |
| | | printf (" with arg %s", optarg); |
| | | printf ("\n"); |
| | | printf (" with arg %s", optarg); |
| | | printf ("\n"); */ |
| | | //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; |
| | | |
| | | case 'c': |
| | |
| | | if ((file = fopen(buffer, "w")) == NULL) { |
| | | fprintf(stderr,"Could not create output file %s!\n", buffer); |
| | | fatal("Please specify correct output file or check permissions of the file",1); |
| | | //there is a tape template. make a copy into desired directory |
| | | |
| | | } else { |
| | | fclose(file); |
| | |
| | | strcpy(buffer,command_line_args.path); |
| | | strcat(buffer,command_line_args.tape_fullfilename); |
| | | if (stat(buffer, &sb) == -1) { |
| | | ts_fprintf(stderr,"Tape '%s' does not exist!\n",buffer); |
| | | fatal("Please select correct tape or check permissions of the file",1); |
| | | |
| | | //tape does not exist. does tape template exist? |
| | | if(stat(command_line_args.tape_templatefull, &sb)==-1){ |
| | | ts_fprintf(stderr,"Tape '%s' does not exist and no tape template was specified (or does not exist)!\n",buffer); |
| | | fatal("Please select correct tape or check permissions of the file",1); |
| | | } else { |
| | | //tape template found |
| | | fatal("Samo did not program template copy yet",1); |
| | | } |
| | | } else { |
| | | strcpy(command_line_args.tape_fullfilename,buffer); |
| | | } |
| | |
| | | return TS_SUCCESS; |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | |
| | | CFG_SIMPLE_FLOAT("xk0",&tape->xk0), |
| | | CFG_SIMPLE_INT("pswitch",&tape->pswitch), |
| | | CFG_SIMPLE_INT("constvolswitch",&tape->constvolswitch), |
| | | CFG_SIMPLE_INT("constareaswitch",&tape->constareaswitch), |
| | | CFG_SIMPLE_FLOAT("constvolprecision",&tape->constvolprecision), |
| | | CFG_SIMPLE_FLOAT("pressure",&tape->pressure), |
| | | CFG_SIMPLE_FLOAT("k_spring",&tape->kspring), |