diff options
author | Ian Jauslin <ian.jauslin@rutgers.edu> | 2023-04-22 15:01:31 -0400 |
---|---|---|
committer | Ian Jauslin <ian.jauslin@rutgers.edu> | 2023-04-22 15:01:31 -0400 |
commit | 5d0a1bcc6f952e31be072b2aa24487486c483509 (patch) | |
tree | 5777fbc37302480f35bca10b30e44a69d2ceb438 /src/navier-stokes.c | |
parent | 731244a83d732be84d96763e4747bfe0a8f8a5be (diff) |
Do not enforce symmetry on T: only the k>0 matter anyways
Diffstat (limited to 'src/navier-stokes.c')
-rw-r--r-- | src/navier-stokes.c | 27 |
1 files changed, 7 insertions, 20 deletions
diff --git a/src/navier-stokes.c b/src/navier-stokes.c index 78207e0..6e386a3 100644 --- a/src/navier-stokes.c +++ b/src/navier-stokes.c @@ -207,6 +207,7 @@ int quiet( double nu, double delta, double L, + uint64_t starting_time, _Complex double* u0, _Complex double* g, bool irreversible, @@ -227,7 +228,7 @@ int quiet( copy_u(u, u0, K1, K2); // iterate - for(t=0;nsteps==0 || t<nsteps;t++){ + for(t=starting_time;nsteps==0 || t<starting_time+nsteps;t++){ ns_step(u, K1, K2, N1, N2, nu, delta, L, g, fft1, fft2, ifft, tmp1, tmp2, tmp3, irreversible); } @@ -511,13 +512,6 @@ int ns_T( // inverse fft fftw_execute(ifft.fft_plan); - // enforce T(u,-k)=T(u,k)^* - for(kx=-K1;kx<=K1;kx++){ - for(ky=-K2;ky<=K2;ky++){ - ifft.fft[klookup(kx,ky,N1,N2)]=(ifft.fft[klookup(kx,ky,N1,N2)]+conj(ifft.fft[klookup(-kx,-ky,N1,N2)]))/2; - } - } - return(0); } @@ -534,13 +528,13 @@ int ns_T_nofft( int px,py; int qx,qy; - // loop over K's (needs N1>=4*K1+1 and N2>=4*K2+1) - if (N1<4*K1+1 || N2<4*K2+1){ - fprintf(stderr,"error: N1 and N2 need t be >= 4*K1+1 and 4*K2+1 respectively\n"); + // loop over K's (needs N1>=2*K1+1 and N2>=2*K2+1) + if (N1<2*K1+1 || N2<2*K2+1){ + fprintf(stderr,"error: N1 and N2 need t be >= 2*K1+1 and 2*K2+1 respectively\n"); return(-1); } - for(kx=-2*K1;kx<=2*K1;kx++){ - for(ky=-2*K2;ky<=2*K2;ky++){ + for(kx=-K1;kx<=K1;kx++){ + for(ky=-K2;ky<=K2;ky++){ // init out[klookup(kx,ky,N1,N2)]=0.; @@ -558,13 +552,6 @@ int ns_T_nofft( } } - // enforce T(u,-k)=T(u,k)^* - for(kx=-K1;kx<=K1;kx++){ - for(ky=-K2;ky<=K2;ky++){ - out[klookup(kx,ky,N1,N2)]=(out[klookup(kx,ky,N1,N2)]+conj(out[klookup(-kx,-ky,N1,N2)]))/2; - } - } - return 0; } |