Write restart command to savefile

This commit is contained in:
2023-04-12 19:05:01 -04:00
parent 0b0894839d
commit c00c311528
5 changed files with 81 additions and 7 deletions

View File

@@ -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);