Ian Jauslin
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Jauslin <ian@jauslin.org>2022-05-26 15:16:44 -0400
committerIan Jauslin <ian@jauslin.org>2022-05-26 15:16:44 -0400
commitaa66aadb7451fe3f82f4c05e2fe860084e1e644f (patch)
tree1763e00e1294407661ba1b8e9f58b9043666b304 /src/navier-stokes.c
parentd4254c6b8e6d4a94a5448e771d8a0620f266cf05 (diff)
Driving force as vector instead of function
Diffstat (limited to 'src/navier-stokes.c')
-rw-r--r--src/navier-stokes.c18
1 files changed, 9 insertions, 9 deletions
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));
}
}