diff options
author | Ian Jauslin <ian.jauslin@rutgers.edu> | 2023-04-05 20:33:38 -0400 |
---|---|---|
committer | Ian Jauslin <ian.jauslin@rutgers.edu> | 2023-04-05 20:33:38 -0400 |
commit | 0bf223bcb90f154a0e471af7638b25755b246c5f (patch) | |
tree | 6b78a4c50e117bab99139a089c43c967e24d0831 /src/main.c | |
parent | 75de7e03b7b73cb45ce611368a023841e530a219 (diff) |
Reversible equation
Diffstat (limited to 'src/main.c')
-rw-r--r-- | src/main.c | 22 |
1 files changed, 18 insertions, 4 deletions
@@ -14,6 +14,7 @@ // structure to store parameters, to make it easier to pass parameters to CLI functions typedef struct nstrophy_parameters { + bool irreversible; int K1; int K2; int N1; @@ -120,13 +121,13 @@ int main ( // 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.print_freq, parameters.starting_time, nthreads, savefile); + 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); } else if(command==COMMAND_EEA){ - eea(parameters.K1, parameters.K2, parameters.N1, parameters.N2, parameters.nsteps, parameters.nu, parameters.delta, parameters.L, u0, g, parameters.print_freq, 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.starting_time, nthreads, savefile); } else if(command==COMMAND_QUIET){ - quiet(parameters.K1, parameters.K2, parameters.N1, parameters.N2, parameters.nsteps, parameters.nu, parameters.delta, parameters.L, u0, g, nthreads, savefile); + quiet(parameters.K1, parameters.K2, parameters.N1, parameters.N2, parameters.nsteps, parameters.nu, parameters.delta, parameters.L, u0, g, parameters.irreversible, nthreads, savefile); } else if(command==0){ fprintf(stderr, "error: no command specified\n"); @@ -337,6 +338,7 @@ int read_params( bool lhs=true; // defaults + parameters->irreversible=true; parameters->K1=16; parameters->K2=parameters->K1; //delta=2^-13 @@ -428,7 +430,19 @@ int set_parameter( ){ int ret; - if (strcmp(lhs,"K1")==0){ + if (strcmp(lhs,"equation")==0){ + if (strcmp(rhs,"irreversible")==0){ + parameters->irreversible=true; + } + else if (strcmp(rhs,"reversible")==0){ + parameters->irreversible=false; + } + else { + fprintf(stderr, "error: 'equation' should be 'irreversible' or 'reversible'\n got '%s'\n",rhs); + return(-1); + } + } + else if (strcmp(lhs,"K1")==0){ ret=sscanf(rhs,"%d",&(parameters->K1)); if(ret!=1){ fprintf(stderr, "error: parameter 'K1' should be an integer\n got '%s'\n",rhs); |