Write restart command to savefile
This commit is contained in:
		
							
								
								
									
										13
									
								
								src/main.c
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								src/main.c
									
									
									
									
									
								
							@@ -13,6 +13,8 @@
 | 
			
		||||
#include "init.h"
 | 
			
		||||
#include "int_tools.h"
 | 
			
		||||
 | 
			
		||||
#include "io.h"
 | 
			
		||||
 | 
			
		||||
// structure to store parameters, to make it easier to pass parameters to CLI functions
 | 
			
		||||
typedef struct nstrophy_parameters {
 | 
			
		||||
  double init_en; // initial value for the energy for ins and enstrophy for rns
 | 
			
		||||
@@ -135,6 +137,11 @@ int main (
 | 
			
		||||
  print_params(parameters, initfile_str, stderr);
 | 
			
		||||
  print_params(parameters, initfile_str, stdout);
 | 
			
		||||
 | 
			
		||||
  // free initfile_str
 | 
			
		||||
  if(initfile_str!=NULL){
 | 
			
		||||
    free(initfile_str);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  // run command
 | 
			
		||||
  if (command==COMMAND_UK){
 | 
			
		||||
    uk(parameters.K1, parameters.K2, parameters.N1, parameters.N2, parameters.nsteps, parameters.nu, parameters.delta, parameters.L, u0, g, parameters.irreversible, parameters.print_freq, parameters.starting_time, nthreads, savefile);
 | 
			
		||||
@@ -142,7 +149,7 @@ int main (
 | 
			
		||||
  else if(command==COMMAND_EEA){
 | 
			
		||||
    // register signal handler to handle aborts
 | 
			
		||||
    signal(SIGINT, sig_handler);
 | 
			
		||||
    eea(parameters.K1, parameters.K2, parameters.N1, parameters.N2, parameters.nsteps, parameters.nu, parameters.delta, parameters.L, u0, g, parameters.irreversible, parameters.print_freq, parameters.avg_window, parameters.starting_time, nthreads, savefile);
 | 
			
		||||
    eea(parameters.K1, parameters.K2, parameters.N1, parameters.N2, parameters.nsteps, parameters.nu, parameters.delta, parameters.L, u0, g, parameters.irreversible, parameters.print_freq, parameters.avg_window, parameters.starting_time, nthreads, savefile, (char*)argv[0], param_str, savefile_str);
 | 
			
		||||
  }
 | 
			
		||||
  else if(command==COMMAND_QUIET){
 | 
			
		||||
    quiet(parameters.K1, parameters.K2, parameters.N1, parameters.N2, parameters.nsteps, parameters.nu, parameters.delta, parameters.L, u0, g, parameters.irreversible, nthreads, savefile);
 | 
			
		||||
@@ -217,6 +224,7 @@ int print_params(
 | 
			
		||||
  return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
// read command line arguments
 | 
			
		||||
#define CP_FLAG_PARAMS 1
 | 
			
		||||
#define CP_FLAG_NTHREADS 2
 | 
			
		||||
@@ -570,7 +578,8 @@ int set_parameter(
 | 
			
		||||
    // matches any argument that starts with 'file:'
 | 
			
		||||
    else if (strncmp(rhs,"file:",5)==0){
 | 
			
		||||
      parameters->init=INIT_FILE;
 | 
			
		||||
      *initfile_str=(char*)rhs+5;
 | 
			
		||||
      *initfile_str=calloc(sizeof(char), strlen(rhs)-5);
 | 
			
		||||
      strcpy(*initfile_str, rhs+5);
 | 
			
		||||
    }
 | 
			
		||||
    else{
 | 
			
		||||
      fprintf(stderr, "error: unrecognized initial condition '%s'\n",rhs);
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user