Reversible equation
This commit is contained in:
22
src/main.c
22
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);
|
||||
|
||||
Reference in New Issue
Block a user