Ian Jauslin
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Jauslin <ian.jauslin@rutgers.edu>2023-04-05 22:41:19 -0400
committerIan Jauslin <ian.jauslin@rutgers.edu>2023-04-05 22:41:19 -0400
commit1616b6bbae0b30f8c2e94283f613df1adf3cbf95 (patch)
tree8d9359a2015cb9db2c2e417fdb9550a35141aaf5 /src/main.c
parent0bf223bcb90f154a0e471af7638b25755b246c5f (diff)
Fix initial enstrophy
Diffstat (limited to 'src/main.c')
-rw-r--r--src/main.c25
1 files changed, 21 insertions, 4 deletions
diff --git a/src/main.c b/src/main.c
index f60a38e..9962c77 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 {
+ double init_en; // initial value for the energy for ins and enstrophy for rns
bool irreversible;
int K1;
int K2;
@@ -159,7 +160,15 @@ int print_params(
char* initfile_str,
FILE* file
){
- fprintf(file,"# K1=%d, K2=%d, N1=%d, N2=%d, nu=%.15e, delta=%.15e, L=%.15e", parameters.K1, parameters.K2, parameters.N1, parameters.N2, parameters.nu, parameters.delta, parameters.L);
+ fprintf(file,"# ");
+
+ if (parameters.irreversible){
+ fprintf(file,"equation=irreversible");
+ } else {
+ fprintf(file,"equation=reversible");
+ }
+
+ fprintf(file,", K1=%d, K2=%d, N1=%d, N2=%d, nu=%.15e, delta=%.15e, L=%.15e, init_en=%.15e", parameters.K1, parameters.K2, parameters.N1, parameters.N2, parameters.nu, parameters.delta, parameters.L, parameters.init_en);
switch(driving){
case DRIVING_TEST:
@@ -338,6 +347,7 @@ int read_params(
bool lhs=true;
// defaults
+ parameters->init_en=1.54511597324389e+02;
parameters->irreversible=true;
parameters->K1=16;
parameters->K2=parameters->K1;
@@ -442,6 +452,13 @@ int set_parameter(
return(-1);
}
}
+ else if (strcmp(lhs,"init_en")==0){
+ ret=sscanf(rhs,"%lf",&(parameters->init_en));
+ if(ret!=1){
+ fprintf(stderr, "error: parameter 'init_en' should be a double\n got '%s'\n",rhs);
+ return(-1);
+ }
+ }
else if (strcmp(lhs,"K1")==0){
ret=sscanf(rhs,"%d",&(parameters->K1));
if(ret!=1){
@@ -579,11 +596,11 @@ _Complex double* set_init(
switch(init){
case INIT_RANDOM:
- init_random(u0, parameters.K1, parameters.K2, parameters.seed);
+ init_random(u0, parameters.init_en, parameters.K1, parameters.K2, parameters.L, parameters.seed, parameters.irreversible);
break;
case INIT_GAUSSIAN:
- init_gaussian(u0, parameters.K1, parameters.K2);
+ init_gaussian(u0, parameters.init_en, parameters.K1, parameters.K2, parameters.L, parameters.irreversible);
break;
case INIT_FILE:
@@ -591,7 +608,7 @@ _Complex double* set_init(
break;
default:
- init_gaussian(u0, parameters.K1, parameters.K2);
+ init_gaussian(u0, parameters.init_en, parameters.K1, parameters.K2, parameters.L, parameters.irreversible);
break;
}