Trisurf Monte Carlo simulator
Samo Penic
2019-03-09 2c4278db6ead5c27e30a3000097ed898c968534e
src/main.c
@@ -29,14 +29,29 @@
   ts_char *plugin0 = (ts_char *)calloc(255,sizeof(ts_char));
   ts_char *plugin1 = (ts_char *)calloc(255,sizeof(ts_char));
   ts_char *plugin2 = (ts_char *)calloc(255,sizeof(ts_char));
   ts_char *plugin3 = (ts_char *)calloc(255,sizeof(ts_char));
   ts_char *plugin4 = (ts_char *)calloc(255,sizeof(ts_char));
   ts_char *plugin5 = (ts_char *)calloc(255,sizeof(ts_char));
   ts_char *plugin6 = (ts_char *)calloc(255,sizeof(ts_char));
   ts_char *plugin7 = (ts_char *)calloc(255,sizeof(ts_char));
   strcpy(plugin0,"/home/samo/programiranje/trisurf-ng/src/plugins/.libs/demoplugin.so");
   strcpy(plugin1,"/home/samo/programiranje/trisurf-ng/src/plugins/.libs/vmdefaulthardconstraints.so");
   strcpy(plugin2,"/home/samo/programiranje/trisurf-ng/src/plugins/.libs/plane_confinement.so");
   ts_char **plugins=(ts_char **)calloc(3,sizeof(ts_char *));
   *plugins=plugin0;
   strcpy(plugin3,"/home/samo/programiranje/trisurf-ng/src/plugins/.libs/pressure.so");
   strcpy(plugin4,"/home/samo/programiranje/trisurf-ng/src/plugins/.libs/constant_volume.so");
   strcpy(plugin5,"/home/samo/programiranje/trisurf-ng/src/plugins/.libs/constant_area.so");
   strcpy(plugin6,"/home/samo/programiranje/trisurf-ng/src/plugins/.libs/stretching_energy.so");
   strcpy(plugin7,"/home/samo/programiranje/trisurf-ng/src/plugins/.libs/direct_force_on_c0.so");
   ts_char **plugins=(ts_char **)calloc(8,sizeof(ts_char *));
   plugins[0]=plugin0;
   plugins[1]=plugin1;
   plugins[2]=plugin2;
   ts_plugin_list *plist=init_plugin_list(plugins,3);
   plugins[3]=plugin3;
   plugins[4]=plugin4;
   plugins[5]=plugin5;
   plugins[6]=plugin6;
   plugins[7]=plugin7;
   ts_plugin_list *plist=init_plugin_list(plugins,8);
   //printf("%s", plist->chain->at_start->next->plugin->filename);
   //ts_fprintf(stdout, "TRISURF in PRVI PLUGIN %s\n", plist->plugin[0]->details->name);
   ts_vesicle *vesicle;
@@ -143,10 +158,10 @@
   vesicle->plist=plist;
/* Entry point for plugin after_vesicle_init() function */
   ptr=plist->chain->after_vesicle_init;
   while(ptr!=NULL){
      ptr->plugin->function->after_vesicle_init(vesicle);
      ptr=ptr->next;
   vesicle->plist->pointer=vesicle->plist->chain->after_vesicle_init;
   while(vesicle->plist->pointer!=NULL){
      vesicle=vesicle->plist->pointer->plugin->function->after_vesicle_init(vesicle);
      vesicle->plist->pointer=vesicle->plist->pointer->next;
   }
   run_simulation(vesicle, tape->mcsweeps, tape->inititer, tape->iterations, start_iteration);