Nstrophy/src/driving.c

61 lines
830 B
C

#include "driving.h"
#include "navier-stokes.h"
#include "io.h"
#include <math.h>
// test driving function
int g_test(
_Complex double* g,
int K1,
int K2
){
int kx,ky;
for(kx=0;kx<=K1;kx++){
for(ky=(kx>0 ? -K2 : 1);ky<=K2;ky++){
if(kx==2 && ky==-1){
g[klookup_sym(kx,ky,K2)]=0.5+sqrt(3)/2*I;
}
else{
g[klookup_sym(kx,ky,K2)]=0.;
}
}
}
return 0;
}
int g_zero(
_Complex double* g,
int K1,
int K2
){
int i;
for(i=0;i<K1*(2*K2+1)+K2;i++){
g[i]=0.;
}
return 0;
}
// From file
// txt input
int driving_file_txt (
_Complex double* g,
int K1,
int K2,
FILE* file
){
read_vec(g, K1, K2, file);
return 0;
}
// binary input
int driving_file_bin (
_Complex double* g,
int K1,
int K2,
FILE* file
){
read_vec_bin(g, K1, K2, file);
return 0;
}