#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include "utilf.h"
#include "markers.h"
#include "xfig.h"
#include "printxplot.h"
#include "inout.h"
Include dependency graph for printxplot.c:
Go to the source code of this file.
Functions | |
void | printxpl (real2D u, real2D v, real2D c, real2D p, int nx, int ny, real tau, real du, real dp, char *fname) |
void | datbarray (real2D a, int nx, int ny, char *name) |
void | datbvector (real2D u, real2D a, real2D v, real2D c, int nx, int ny, char *name) |
void | gnuvectors (real2D u, real2D a, real2D v, real2D c, int nx, int ny, char *name) |
|
Definition at line 75 of file printxplot.c. References real2D. Referenced by adaptative_tau(), and pressure().
00076 { 00077 int i, j; 00078 FILE *fptr; 00079 char fname[256]; 00080 float val; 00081 00082 sprintf(fname, "%s.datb", name); 00083 fptr = fopen(fname, "wt"); 00084 fwrite(&nx, sizeof(int), 1, fptr); 00085 fwrite(&ny, sizeof(int), 1, fptr); 00086 i = 1; 00087 fwrite(&i, sizeof(int), 1, fptr); 00088 fwrite(&i, sizeof(int), 1, fptr); 00089 strcpy(fname, "val"); 00090 fwrite((char *) fname, sizeof(char), 256, fptr); 00091 for (i = 1; i <= nx; i++) 00092 for (j = 1; j <= ny; j++) 00093 { 00094 val = a[i][j]; 00095 fwrite(&val, sizeof(float), 1, fptr); 00096 } 00097 fclose(fptr); 00098 } |
|
Definition at line 101 of file printxplot.c.
00103 { 00104 int i, j; 00105 FILE *fptr; 00106 char fname[256]; 00107 real umax = 0.0; 00108 00109 for (i = 2; i < nx; i++) 00110 for (j = 2; j < ny; j++) { 00111 if (a[i-1][j] == 1.0 && fabs(u[i][j]) > umax) 00112 umax = fabs(u[i][j]); 00113 if (c[i][j-1] == 1.0 && fabs(v[i][j]) > umax) 00114 umax = fabs(v[i][j]); 00115 } 00116 00117 sprintf(fname, "%s.gnu", name); 00118 fptr = fopen(fname, "wt"); 00119 for (i = 2; i < nx; i++) 00120 for (j = 2; j < ny; j++) 00121 if (umax > 0.0) { 00122 if (a[i-1][j] == 1.0) 00123 fprintf(fptr, "%g %g\n%g %g\n\n", 00124 (real)i, 0.5 + (real)j, 00125 u[i][j]/umax + (real)i, 0.5 + (real)j); 00126 if (c[i][j-1] == 1.0) 00127 fprintf(fptr, "%g %g\n%g %g\n\n", 00128 (real)i + 0.5, (real)j, 00129 (real)i + 0.5, (real)j + v[i][j]/umax); 00130 } 00131 else { 00132 fprintf(fptr, "%g %g\n%g %g\n\n", 00133 (real)i, 0.5 + (real)j, 00134 (real)i, 0.5 + (real)j); 00135 fprintf(fptr, "%g %g\n%g %g\n\n", 00136 (real)i + 0.5, (real)j, 00137 (real)i + 0.5, (real)j); 00138 } 00139 fclose(fptr); 00140 } |
|
Definition at line 143 of file printxplot.c. Referenced by timestep().
00145 { 00146 int i, j; 00147 FILE *fptr; 00148 char fname[256]; 00149 real umax = 0.0, u1, v1; 00150 00151 for (i = 2; i < nx; i++) 00152 for (j = 2; j < ny; j++) { 00153 if (a[i-1][j] == 1.0 && fabs(u[i][j]) > umax) 00154 umax = fabs(u[i][j]); 00155 if (c[i][j-1] == 1.0 && fabs(v[i][j]) > umax) 00156 umax = fabs(v[i][j]); 00157 } 00158 00159 sprintf(fname, "%s.gnu", name); 00160 fptr = fopen(fname, "wt"); 00161 for (i = 2; i < nx; i++) 00162 for (j = 2; j < ny; j++) 00163 if (umax > 0.0) { 00164 if (a[i][j] <= 1.0) { 00165 if (a[i-1][j] <= 1.0) 00166 u1 = 0.5*(u[i][j] + u[i+1][j]); 00167 else 00168 u1 = u[i+1][j]; 00169 } 00170 else if (a[i-1][j] == 1.0) 00171 u1 = u[i][j]; 00172 else 00173 u1 = 1000.0; 00174 if (c[i][j] <= 1.0) { 00175 if (c[i][j-1] <= 1.0) 00176 v1 = 0.5*(v[i][j] + v[i][j+1]); 00177 else 00178 v1 = v[i][j+1]; 00179 } 00180 else if (c[i][j-1] == 1.0) 00181 v1 = v[i][j]; 00182 else 00183 v1 = 1000.0; 00184 if (u1 != 1000.0 && v1 != 1000.0) 00185 fprintf(fptr, "%g %g\n%g %g\n\n", 00186 0.5 + (real)i, 0.5 + (real)j, 00187 3.*u1/umax + 0.5 + (real)i, 3.*v1/umax + 0.5 + (real)j); 00188 } 00189 else { 00190 fprintf(fptr, "%g %g\n%g %g\n\n", 00191 0.5 + (real)i, 0.5 + (real)j, 00192 0.5 + (real)i, 0.5 + (real)j); 00193 fprintf(fptr, "%g %g\n%g %g\n\n", 00194 (real)i + 0.5, 0.5 + (real)j, 00195 (real)i + 0.5, 0.5 + (real)j); 00196 } 00197 fclose(fptr); 00198 } |
|
Definition at line 14 of file printxplot.c. References real, real2D, and UNDEFINED. Referenced by initialize(), and timestep().
00017 { 00018 int i, j, n1, n2; 00019 float uu, vv, cc, pp, h; 00020 char s[256]; 00021 FILE *fptr = fopen(fname, "wb"); 00022 00023 h = 1.0 / (nx - 2); 00024 00025 n1 = nx - 2; 00026 n2 = ny - 2; 00027 fwrite(&n1, sizeof(int), 1, fptr); 00028 fwrite(&n2, sizeof(int), 1, fptr); 00029 i = 1; 00030 fwrite(&i, sizeof(int), 1, fptr); 00031 i = 4; 00032 fwrite(&i, sizeof(int), 1, fptr); 00033 strcpy(s, "u"); 00034 fwrite((char *) s, sizeof(char), 256, fptr); 00035 strcpy(s, "v"); 00036 fwrite((char *) s, sizeof(char), 256, fptr); 00037 strcpy(s, "c"); 00038 fwrite((char *) s, sizeof(char), 256, fptr); 00039 strcpy(s, "p"); 00040 fwrite((char *) s, sizeof(char), 256, fptr); 00041 du *= 0.5 * h / tau; 00042 dp *= h * h / (tau * tau); 00043 00044 for (i = 2; i <= nx - 1; i++) 00045 for (j = 2; j <= ny - 1; j++) { 00046 if (u[i][j] != UNDEFINED && u[i+1][j] != UNDEFINED) 00047 uu = (u[i][j] + u[i+1][j]) * du; 00048 else uu = 0.0; 00049 fwrite(&uu, sizeof(float), 1, fptr); 00050 } 00051 for (i = 2; i <= nx - 1; i++) 00052 for (j = 2; j <= ny - 1; j++) { 00053 if (v[i][j] != UNDEFINED && v[i][j+1] != UNDEFINED) 00054 vv = (v[i][j] + v[i][j+1]) * du; 00055 else vv = 0.0; 00056 fwrite(&vv, sizeof(float), 1, fptr); 00057 } 00058 for (i = 2; i <= nx - 1; i++) 00059 for (j = 2; j <= ny - 1; j++) { 00060 cc = c[i][j]; 00061 fwrite(&cc, sizeof(float), 1, fptr); 00062 } 00063 for (i = 2; i <= nx - 1; i++) 00064 for (j = 2; j <= ny - 1; j++) { 00065 pp = p[i][j] * dp; 00066 fwrite(&pp, sizeof(float), 1, fptr); 00067 } 00068 00069 fclose(fptr); 00070 00071 printf("popiplot file %s written\n", fname); 00072 } |