diff options
author | Ian Jauslin <ian@jauslin.org> | 2022-05-25 11:12:02 -0400 |
---|---|---|
committer | Ian Jauslin <ian@jauslin.org> | 2022-05-25 11:12:02 -0400 |
commit | a55065f4745f5f340eb6dffbd88fe2fb05a40625 (patch) | |
tree | 62b362f965037469d574cc9a35d9064e91ec8d5e /src/navier-stokes.c | |
parent | d37d6104e01897491412e2949db327e905d6b53a (diff) |
add L parameter
Diffstat (limited to 'src/navier-stokes.c')
-rw-r--r-- | src/navier-stokes.c | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/src/navier-stokes.c b/src/navier-stokes.c index 99e41ab..89bfbbd 100644 --- a/src/navier-stokes.c +++ b/src/navier-stokes.c @@ -2,8 +2,6 @@ #include <math.h> #include <stdlib.h> -#define M_PI 3.14159265358979323846 - // compute solution as a function of time int uk( int K1, @@ -13,6 +11,7 @@ int uk( unsigned int nsteps, double nu, double delta, + double L, _Complex double (*g)(int,int), unsigned int print_freq, unsigned int nthreads @@ -44,7 +43,7 @@ int uk( // iterate for(t=0;t<nsteps;t++){ - ins_step(u, K1, K2, N1, N2, nu, delta, g, fft1, fft2, ifft, tmp1, tmp2, tmp3); + ins_step(u, K1, K2, N1, N2, nu, delta, L, g, fft1, fft2, ifft, tmp1, tmp2, tmp3); if(t%print_freq==0){ fprintf(stderr,"%d % .8e ",t,t*delta); @@ -77,6 +76,7 @@ int energy( unsigned int nsteps, double nu, double delta, + double L, _Complex double (*g)(int,int), unsigned int print_freq, unsigned int nthreads @@ -97,7 +97,7 @@ int energy( // iterate for(t=0;t<nsteps;t++){ - ins_step(u, K1, K2, N1, N2, nu, delta, g, fft1, fft2, ifft, tmp1, tmp2, tmp3); + ins_step(u, K1, K2, N1, N2, nu, delta, L, g, fft1, fft2, ifft, tmp1, tmp2, tmp3); if(t%print_freq==0){ @@ -126,6 +126,7 @@ int enstrophy( unsigned int nsteps, double nu, double delta, + double L, _Complex double (*g)(int,int), unsigned int print_freq, unsigned int nthreads @@ -150,7 +151,7 @@ int enstrophy( // iterate for(t=0;t<nsteps;t++){ - ins_step(u, K1, K2, N1, N2, nu, delta, g, fft1, fft2, ifft, tmp1, tmp2, tmp3); + ins_step(u, K1, K2, N1, N2, nu, delta, L, g, fft1, fft2, ifft, tmp1, tmp2, tmp3); alpha=compute_alpha(u, K1, K2, g); // running average @@ -177,6 +178,7 @@ int quiet( unsigned int nsteps, double nu, double delta, + double L, _Complex double (*g)(int,int), unsigned int nthreads ){ @@ -194,7 +196,7 @@ int quiet( // iterate for(t=0;t<nsteps;t++){ - ins_step(u, K1, K2, N1, N2, nu, delta, g, fft1, fft2, ifft, tmp1, tmp2, tmp3); + ins_step(u, K1, K2, N1, N2, nu, delta, L, g, fft1, fft2, ifft, tmp1, tmp2, tmp3); } ns_free_tmps(u, tmp1, tmp2, tmp3, fft1, fft2, ifft); @@ -342,6 +344,7 @@ int ins_step( int N2, double nu, double delta, + double L, _Complex double (*g)(int,int), fft_vect fft1, fft_vect fft2, @@ -353,7 +356,7 @@ int ins_step( int kx,ky; // k1 - ins_rhs(tmp1, u, K1, K2, N1, N2, nu, g, fft1, fft2, ifft); + ins_rhs(tmp1, u, K1, K2, N1, N2, nu, L, g, fft1, fft2, ifft); // add to output for(kx=-K1;kx<=K1;kx++){ for(ky=-K2;ky<=K2;ky++){ @@ -368,7 +371,7 @@ int ins_step( } } // k2 - ins_rhs(tmp1, tmp2, K1, K2, N1, N2, nu, g, fft1, fft2, ifft); + ins_rhs(tmp1, tmp2, K1, K2, N1, N2, nu, L, g, fft1, fft2, ifft); // add to output for(kx=-K1;kx<=K1;kx++){ for(ky=-K2;ky<=K2;ky++){ @@ -383,7 +386,7 @@ int ins_step( } } // k3 - ins_rhs(tmp1, tmp2, K1, K2, N1, N2, nu, g, fft1, fft2, ifft); + ins_rhs(tmp1, tmp2, K1, K2, N1, N2, nu, L, g, fft1, fft2, ifft); // add to output for(kx=-K1;kx<=K1;kx++){ for(ky=-K2;ky<=K2;ky++){ @@ -398,7 +401,7 @@ int ins_step( } } // k4 - ins_rhs(tmp1, tmp2, K1, K2, N1, N2, nu, g, fft1, fft2, ifft); + ins_rhs(tmp1, tmp2, K1, K2, N1, N2, nu, L, g, fft1, fft2, ifft); // add to output for(kx=-K1;kx<=K1;kx++){ for(ky=-K2;ky<=K2;ky++){ @@ -418,6 +421,7 @@ int ins_rhs( int N1, int N2, double nu, + double L, _Complex double (*g)(int,int), fft_vect fft1, fft_vect fft2, @@ -447,7 +451,7 @@ int ins_rhs( for(kx=-K1;kx<=K1;kx++){ for(ky=-K2;ky<=K2;ky++){ if(kx!=0 || ky!=0){ - out[klookup(kx,ky,2*K1+1,2*K2+1)]=-4*M_PI*M_PI*nu*(kx*kx+ky*ky)*u[klookup(kx,ky,2*K1+1,2*K2+1)]+(*g)(kx,ky)+4*M_PI*M_PI/sqrt(kx*kx+ky*ky)*ifft.fft[klookup(kx,ky,N1,N2)]; + out[klookup(kx,ky,2*K1+1,2*K2+1)]=-4*M_PI*M_PI/L/L*nu*(kx*kx+ky*ky)*u[klookup(kx,ky,2*K1+1,2*K2+1)]+(*g)(kx,ky)+4*M_PI*M_PI/L/L/sqrt(kx*kx+ky*ky)*ifft.fft[klookup(kx,ky,N1,N2)]; } } } |