From 870196ec078054d1c94d1eeae682cc4d9ea2304a Mon Sep 17 00:00:00 2001 From: Ian Jauslin Date: Wed, 14 Jun 2023 14:28:03 -0400 Subject: [PATCH] Save utfile and nthreads to savefile --- src/main.c | 2 +- src/navier-stokes.c | 13 ++++++++++++- src/navier-stokes.h | 2 +- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/main.c b/src/main.c index ea52550..d3efda8 100644 --- a/src/main.c +++ b/src/main.c @@ -184,7 +184,7 @@ int main ( // register signal handler to handle aborts signal(SIGINT, sig_handler); signal(SIGTERM, sig_handler); - enstrophy(parameters.K1, parameters.K2, parameters.N1, parameters.N2, parameters.final_time, parameters.nu, parameters.delta, parameters.L, parameters.adaptive_tolerance, parameters.adaptive_factor, parameters.max_delta, parameters.adaptive_norm, u0, g, parameters.irreversible, parameters.algorithm, parameters.print_freq, parameters.starting_time, nthreads, savefile, utfile, (char*)argv[0], param_str, savefile_str); + enstrophy(parameters.K1, parameters.K2, parameters.N1, parameters.N2, parameters.final_time, parameters.nu, parameters.delta, parameters.L, parameters.adaptive_tolerance, parameters.adaptive_factor, parameters.max_delta, parameters.adaptive_norm, u0, g, parameters.irreversible, parameters.algorithm, parameters.print_freq, parameters.starting_time, nthreads, savefile, utfile, (char*)argv[0], param_str, savefile_str, utfile_str); } else if(command==COMMAND_QUIET){ quiet(parameters.K1, parameters.K2, parameters.N1, parameters.N2, parameters.final_time, parameters.nu, parameters.delta, parameters.L, parameters.adaptive_tolerance, parameters.adaptive_factor, parameters.max_delta, parameters.adaptive_norm, parameters.starting_time, u0, g, parameters.irreversible, parameters.algorithm, nthreads, savefile); diff --git a/src/navier-stokes.c b/src/navier-stokes.c index 6da0968..1545be9 100644 --- a/src/navier-stokes.c +++ b/src/navier-stokes.c @@ -160,7 +160,8 @@ int enstrophy( // for interrupt recovery char* cmd_string, char* params_string, - char* savefile_string + char* savefile_string, + char* utfile_string ){ _Complex double* u; _Complex double* tmp1; @@ -293,6 +294,16 @@ int enstrophy( } fprintf(savefile,"\""); } + + // utfile + if(utfile!=NULL){ + fprintf(savefile," -u \"%s\"", utfile_string); + } + // threads + if(nthreads!=1){ + fprintf(savefile," -t %d", nthreads); + } + fprintf(savefile," enstrophy\n"); // save final u to savefile diff --git a/src/navier-stokes.h b/src/navier-stokes.h index 4b70014..639d361 100644 --- a/src/navier-stokes.h +++ b/src/navier-stokes.h @@ -36,7 +36,7 @@ typedef struct fft_vects { int uk( int K1, int K2, int N1, int N2, double final_time, double nu, double delta, double L, double adaptive_tolerance, double adaptive_factor, double max_delta, unsigned int adaptive_norm, _Complex double* u0, _Complex double* g, bool irreversible, unsigned int algorithm, double print_freq, double starting_time, unsigned int nthreadsl, FILE* savefile); // compute enstrophy and alpha -int enstrophy( int K1, int K2, int N1, int N2, double final_time, double nu, double delta, double L, double adaptive_tolerance, double adaptive_factor, double max_delta, unsigned int adaptive_norm, _Complex double* u0, _Complex double* g, bool irreversible, unsigned int algorithm, double print_freq, double starting_time, unsigned int nthreads, FILE* savefile, FILE* utfile, char* cmd_string, char* params_string, char* savefile_string); +int enstrophy( int K1, int K2, int N1, int N2, double final_time, double nu, double delta, double L, double adaptive_tolerance, double adaptive_factor, double max_delta, unsigned int adaptive_norm, _Complex double* u0, _Complex double* g, bool irreversible, unsigned int algorithm, double print_freq, double starting_time, unsigned int nthreads, FILE* savefile, FILE* utfile, char* cmd_string, char* params_string, char* savefile_string, char* utfile_string); // compute solution as a function of time, but do not print anything (useful for debugging) int quiet( int K1, int K2, int N1, int N2, double final_time, double nu, double delta, double L, double adaptive_tolerance, double adaptive_factor, double max_delta, unsigned int adaptive_norm, double starting_time, _Complex double* u0, _Complex double* g, bool irreversible, unsigned int algorithm, unsigned int nthreads, FILE* savefile);