From aa66aadb7451fe3f82f4c05e2fe860084e1e644f Mon Sep 17 00:00:00 2001 From: Ian Jauslin Date: Thu, 26 May 2022 15:16:44 -0400 Subject: Driving force as vector instead of function --- src/navier-stokes.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'src/navier-stokes.c') diff --git a/src/navier-stokes.c b/src/navier-stokes.c index c52b810..fadc87e 100644 --- a/src/navier-stokes.c +++ b/src/navier-stokes.c @@ -13,7 +13,7 @@ int uk( double delta, double L, _Complex double* u0, - _Complex double (*g)(int,int), + _Complex double* g, unsigned int print_freq, unsigned int nthreads ){ @@ -80,7 +80,7 @@ int energy( double delta, double L, _Complex double* u0, - _Complex double (*g)(int,int), + _Complex double* g, unsigned int print_freq, unsigned int nthreads ){ @@ -131,7 +131,7 @@ int enstrophy( double delta, double L, _Complex double* u0, - _Complex double (*g)(int,int), + _Complex double* g, unsigned int print_freq, unsigned int nthreads ){ @@ -185,7 +185,7 @@ int quiet( double delta, double L, _Complex double* u0, - _Complex double (*g)(int,int), + _Complex double* g, unsigned int nthreads ){ _Complex double* u; @@ -306,7 +306,7 @@ int ins_step( double nu, double delta, double L, - _Complex double (*g)(int,int), + _Complex double* g, fft_vect fft1, fft_vect fft2, fft_vect ifft, @@ -383,7 +383,7 @@ int ins_rhs( int N2, double nu, double L, - _Complex double (*g)(int,int), + _Complex double* g, fft_vect fft1, fft_vect fft2, fft_vect ifft @@ -413,7 +413,7 @@ int ins_rhs( for(ky=-K2;ky<=K2;ky++){ if(kx!=0 || ky!=0){ // enforce the reality of u by adding ifft.fft(k) and the conjugate of ifft.fft(-k) - 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)]+conj(ifft.fft[klookup(-kx,-ky,N1,N2)]))/2; + 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[klookup(kx,ky,2*K1+1,2*K2+1)]+4*M_PI*M_PI/L/L/sqrt(kx*kx+ky*ky)*(ifft.fft[klookup(kx,ky,N1,N2)]+conj(ifft.fft[klookup(-kx,-ky,N1,N2)]))/2; } } } @@ -535,7 +535,7 @@ _Complex double compute_alpha( _Complex double* u, int K1, int K2, - _Complex double (*g)(int,int) + _Complex double* g ){ _Complex double num=0; _Complex double denom=0; @@ -544,7 +544,7 @@ _Complex double compute_alpha( for(kx=-K1;kx<=K1;kx++){ for(ky=-K2;ky<=K2;ky++){ denom+=(kx*kx+ky*ky)*(kx*kx+ky*ky)*u[klookup(kx,ky,2*K1+1,2*K2+1)]*conj(u[klookup(kx,ky,2*K1+1,2*K2+1)])*(1+(ky!=0?kx*kx/ky/ky:0)); - num+=(kx*kx+ky*ky)*u[klookup(kx,ky,2*K1+1,2*K2+1)]*conj((*g)(kx,ky))*(1+(ky!=0?kx*kx/ky/ky:0)); + num+=(kx*kx+ky*ky)*u[klookup(kx,ky,2*K1+1,2*K2+1)]*conj(g[klookup(kx,ky,2*K1+1,2*K2+1)])*(1+(ky!=0?kx*kx/ky/ky:0)); } } -- cgit v1.2.3-54-g00ecf