📄 write_avs_field_file.c
字号:
#include "global.h"#include "defines.h"void write_avs_field_file(int t){ int x,y; char name[200], RE[10],dummy=(char)12; int Re; float u,v,w=0.0,rho, min_xx=0.0, max_xx=(float)max_x, min_yy=0.0, max_yy=(float)max_y, min_zz=0.0, max_zz=1.0; FILE *fp=NULL; /* Reynolds number ? */ Re=(int)((max_y-1)*u_0/((2.0*tau-1.0)/6.0)+0.5); strcpy(name,"DC."); sprintf(RE,"%d",Re); strcat(name,RE); strcat(name,"."); sprintf(RE,"%d",t); strcat(name,RE); strcat(name,".fld"); fp = fopen(name,"w"); if (fp==(FILE*)NULL) { printf("error opening %s\n",name); exit(0); } fprintf(fp,"# AVS field file\n"); fprintf(fp,"#\n"); fprintf(fp,"ndim=2\n"); fprintf(fp,"dim1=%d\n",max_x); fprintf(fp,"dim2=%d\n",max_y); fprintf(fp,"nspace=2\n"); fprintf(fp,"veclen=3\n"); fprintf(fp,"data=float\n"); fprintf(fp,"field=uniform\n"); fprintf(fp,"min_ext=%f %f\n",min_xx,min_yy); fprintf(fp,"max_ext=%f %f\n",max_xx,max_yy); putc(dummy,fp); putc(dummy,fp); for(y=0;y<max_y;y++) { for(x=0;x<max_x;x++) { rho=(float)(f[1][y][x]+f[2][y][x]+f[3][y][x]+f[4][y][x]+f[5][y][x]+f[6][y][x]+f[7][y][x]+f[8][y][x]+f[0][y][x]); u=(float)(faktor*((f[1][y][x]-f[3][y][x]+f[5][y][x]+f[8][y][x]-f[6][y][x]-f[7][y][x])/rho)); v=(float)(faktor*((f[2][y][x]-f[4][y][x]+f[5][y][x]+f[6][y][x]-f[7][y][x]-f[8][y][x])/rho)); fwrite(&u,sizeof(float),1,fp); fwrite(&v,sizeof(float),1,fp); rho=(float)((rho-rho_0)/3.0); fwrite(&rho,sizeof(float),1,fp); } } fwrite(&min_xx,sizeof(float),1,fp); fwrite(&max_xx,sizeof(float),1,fp); fwrite(&min_yy,sizeof(float),1,fp); fwrite(&max_yy,sizeof(float),1,fp); fclose(fp); printf("wrote %s\n",name);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -