Ian Jauslin
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Jauslin <ian.jauslin@rutgers.edu>2023-04-05 20:33:38 -0400
committerIan Jauslin <ian.jauslin@rutgers.edu>2023-04-05 20:33:38 -0400
commit0bf223bcb90f154a0e471af7638b25755b246c5f (patch)
tree6b78a4c50e117bab99139a089c43c967e24d0831 /src/main.c
parent75de7e03b7b73cb45ce611368a023841e530a219 (diff)
Reversible equation
Diffstat (limited to 'src/main.c')
-rw-r--r--src/main.c22
1 files changed, 18 insertions, 4 deletions
diff --git a/src/main.c b/src/main.c
index 853f172..f60a38e 100644
--- a/src/main.c
+++ b/src/main.c
@@ -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);