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/navier-stokes.h
parent75de7e03b7b73cb45ce611368a023841e530a219 (diff)
Reversible equation
Diffstat (limited to 'src/navier-stokes.h')
-rw-r--r--src/navier-stokes.h17
1 files changed, 9 insertions, 8 deletions
diff --git a/src/navier-stokes.h b/src/navier-stokes.h
index 57399a4..582212a 100644
--- a/src/navier-stokes.h
+++ b/src/navier-stokes.h
@@ -2,6 +2,7 @@
#define NAVIERSTOKES_H
#include <complex.h>
+#include <stdbool.h>
#include <fftw3.h>
#define M_PI 3.14159265358979323846
@@ -13,13 +14,13 @@ typedef struct fft_vects {
} fft_vect;
// compute u_k
-int uk( int K1, int K2, int N1, int N2, unsigned int nsteps, double nu, double delta, double L, _Complex double* u0, _Complex double* g, unsigned int print_freq, unsigned int starting_time, unsigned int nthreadsl, FILE* savefile);
+int uk( int K1, int K2, int N1, int N2, unsigned int nsteps, double nu, double delta, double L, _Complex double* u0, _Complex double* g, bool irreversible, unsigned int print_freq, unsigned int starting_time, unsigned int nthreadsl, FILE* savefile);
// compute energy, enstrophy and alpha
-int eea( int K1, int K2, int N1, int N2, unsigned int nsteps, double nu, double delta, double L, _Complex double* u0, _Complex double* g, unsigned int print_freq, unsigned int starting_time, unsigned int nthreads, FILE* savefile);
+int eea( int K1, int K2, int N1, int N2, unsigned int nsteps, double nu, double delta, double L, _Complex double* u0, _Complex double* g, bool irreversible, unsigned int print_freq, unsigned int starting_time, unsigned int nthreads, FILE* savefile);
// 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, unsigned int nsteps, double nu, double delta, double L, _Complex double* u0, _Complex double* g, unsigned int nthreads, FILE* savefile);
+int quiet( int K1, int K2, int N1, int N2, unsigned int nsteps, double nu, double delta, double L, _Complex double* u0, _Complex double* g, bool irreversible, unsigned int nthreads, FILE* savefile);
// initialize vectors for computation
@@ -30,11 +31,11 @@ int ns_free_tmps( _Complex double* u, _Complex double* tmp1, _Complex double *tm
// copy u0 to u
int copy_u( _Complex double* u, _Complex double* u0, int K1, int K2);
-// next time step for Irreversible Navier-Stokes equation
-int ins_step( _Complex double* u, int K1, int K2, int N1, int N2, double nu, double delta, double L, _Complex double* g, fft_vect fft1, fft_vect fft2,fft_vect ifft, _Complex double* tmp1, _Complex double *tmp2, _Complex double *tmp3);
+// next time step for Irreversible/reversible Navier-Stokes equation
+int ns_step( _Complex double* u, int K1, int K2, int N1, int N2, double nu, double delta, double L, _Complex double* g, fft_vect fft1, fft_vect fft2,fft_vect ifft, _Complex double* tmp1, _Complex double *tmp2, _Complex double *tmp3, bool irreversible);
-// right side of Irreversible Navier-Stokes equation
-int ins_rhs( _Complex double* out, _Complex double* u, int K1, int K2, int N1, int N2, double nu, double L, _Complex double* g, fft_vect fft1, fft_vect fft2, fft_vect ifft);
+// right side of Irreversible/reversible Navier-Stokes equation
+int ns_rhs( _Complex double* out, _Complex double* u, int K1, int K2, int N1, int N2, double nu, double L, _Complex double* g, fft_vect fft1, fft_vect fft2, fft_vect ifft, bool irreversible);
// convolution term in right side of equation
int ns_T( _Complex double* u, int K1, int K2, int N1, int N2, fft_vect fft1, fft_vect fft2, fft_vect ifft);
@@ -43,7 +44,7 @@ int ns_T( _Complex double* u, int K1, int K2, int N1, int N2, fft_vect fft1, fft
int ns_T_nofft( _Complex double* out, _Complex double* u, int K1, int K2, int N1, int N2);
// compute alpha
-double compute_alpha( _Complex double* u, int K1, int K2, _Complex double* g);
+double compute_alpha( _Complex double* u, int K1, int K2, int N1, int N2, _Complex double* g, double L, _Complex double* T);
// compute energy
double compute_energy( _Complex double* u, int K1, int K2);
// compute enstrophy