Nstrophy/src/driving.c

61 lines
830 B
C
Raw Normal View History

2022-05-18 07:57:06 +00:00
#include "driving.h"
#include "navier-stokes.h"
2023-04-24 16:22:29 +00:00
#include "io.h"
2022-05-18 07:57:06 +00:00
#include <math.h>
// test driving function
int g_test(
_Complex double* g,
int K1,
int K2
2022-05-18 07:57:06 +00:00
){
int kx,ky;
2023-04-11 22:45:45 +00:00
for(kx=0;kx<=K1;kx++){
2023-04-25 21:51:14 +00:00
for(ky=(kx>0 ? -K2 : 1);ky<=K2;ky++){
if(kx==2 && ky==-1){
2023-04-11 22:45:45 +00:00
g[klookup_sym(kx,ky,K2)]=0.5+sqrt(3)/2*I;
}
else{
2023-04-11 22:45:45 +00:00
g[klookup_sym(kx,ky,K2)]=0.;
}
}
2022-05-18 07:57:06 +00:00
}
return 0;
2022-05-18 07:57:06 +00:00
}
int g_zero(
_Complex double* g,
int K1,
int K2
2022-05-19 15:51:45 +00:00
){
int i;
2023-04-25 21:51:14 +00:00
for(i=0;i<K1*(2*K2+1)+K2;i++){
g[i]=0.;
}
2022-05-19 15:51:45 +00:00
return 0;
}
2023-04-24 16:22:29 +00:00
// 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;
}