Trisurf Monte Carlo simulator
Samo Penic
2014-04-28 460c2a326b332e1b3e03621970a1b48dfb872050
src/main.c
@@ -1,5 +1,6 @@
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
#include "general.h"
#include "vertex.h"
#include "bond.h"
@@ -11,6 +12,8 @@
#include "frame.h"
#include "timestep.h"
#include "poly.h"
#include "sh.h"
#include "shcomplex.h"
/** Entrance function to the program
  * @param argv is a number of parameters used in program call (including the program name
@@ -22,9 +25,10 @@
   ts_vesicle *vesicle;
   ts_tape *tape;
   ts_uint start_iteration=0;
   force_from_tape=0;
   parse_args(argv,argc); // sets global variable command_line_args (defined in io.h)
   ts_fprintf(stdout,"Starting program...\n\n");
   if(force_from_tape){
   if(command_line_args.force_from_tape){
      ts_fprintf(stdout,"************************************************\n");
      ts_fprintf(stdout,"**** Generating initial geometry from tape *****\n");
      ts_fprintf(stdout,"************************************************\n\n");
@@ -37,8 +41,29 @@
      ts_fprintf(stdout,"**********************************************************************\n\n");
      tape=parsetape("tape");
      vesicle=restore_state(&start_iteration);
        if(vesicle==NULL){
            ts_fprintf(stderr, "Dump file does not exist or is not a regular file! Did you mean to invoke trisurf with --force-from-tape option?\n\n");
            return 1;
        }
      // nove vrednosti iz tapea...
      vesicle->bending_rigidity=tape->xk0;
      vtx_set_global_values(vesicle);
      vesicle->pswitch =tape->pswitch;
      vesicle->pressure=tape->pressure;
      vesicle->dmax=tape->dmax*tape->dmax;
      poly_assign_filament_xi(vesicle,tape);
        free(vesicle->tape);
        vesicle->tape=tape;
      vesicle->clist->dmin_interspecies = tape->dmin_interspecies*tape->dmin_interspecies;
        /* spherical harmonics */
        if(tape->shc>0){
           vesicle->sphHarmonics=complex_sph_init(vesicle->vlist,tape->shc);
        }
        else {
            vesicle->sphHarmonics=NULL;
        }
      if(command_line_args.reset_iteration_count) start_iteration=0;
      if(command_line_args.reset_iteration_count) start_iteration=tape->inititer;
      else start_iteration++;
      if(start_iteration>=tape->iterations){