21 double velo_x, velo_y, velo_z;
23 double T0, T, A, rho0, pre0;
46 for (i = 0; i <
x; i++) {
47 for (j = 0; j <
y; j++) {
48 for (k = 0; k <
z; k++) {
50 T = T0 + A * ((
ymax /
y) * (y - j));
65 for (i = 0; i <
x; i++) {
66 for (j = 0; j <
y; j++) {
67 for (k = 0; k <
z; k++) {
97 for (i = 0; i <
x; i++) {
98 for (j = 0; j <
y; j++) {
99 for (k = 0; k <
z; k++) {
115 for (i = 0; i <
x; i++) {
116 for (j = 0; j <
y; j++) {
117 for (k = 0; k <
z; k++) {
118 int i2 = i - x / 2.0;
119 int j2 = j - y / 2.0;
120 int xy = sqrt(i2 * i2 + j2 * j2);
138 printf(
"Initiate domain done\n");
150 for (i = 0; i <
x; i++) {
151 for (j = 0; j <
y; j++) {
152 for (k = 0; k <
z; k++) {
154 if (
dom[i][j][k] == 1) {
166 printf(
"Initiate domain done\n");
177 for (i = 0; i <
x; i++) {
178 for (j = 0; j <
y; j++) {
179 for (k = 0; k <
z; k++) {
181 if (
marker[i][j][k] == 1) {
188 printf(
"Initiate domain done\n");
198 float radius, radius1;
200 if (
dimension == 2) radius = sqrt(pow(x, 2) + pow(y, 2));
201 if (
dimension == 3) radius = sqrt(pow(x, 2) + pow(y, 2) + pow(z, 2));
203 for (i = 0; i <
x; i++) {
204 for (j = 0; j <
y; j++) {
205 for (k = 0; k <
z; k++) {
210 pre[i][j][k] = 1.0 * 5E4;
216 pre[i][j][k] = 0.10 * 5E4;
225 radius1 = sqrt(pow(i, 2) + pow(j, 2));
227 if (radius1 < radius / 2) {
229 pre[i][j][k] = 1.0 * 1E4;
235 pre[i][j][k] = 0.10 * 1E2;
244 radius1 = sqrt(pow(i, 2) + pow(j, 2) + pow(k, 2));
246 if (radius1 <= radius / 2) {
275 for (i = 0; i <
x; i++) {
276 for (j = 0; j <
y; j++) {
277 for (k = 0; k <
z; k++) {
279 if ((j < y / 4) || (j > 3 * y / 4)) {
294 if (j == y / 4)
vy[i][j][k] = sin(
xmax / x * i) * cos(
zmax / z * k);
295 if (j == 3 * y / 4)
vy[i][j][k] = -1 * sin(
xmax / x * i) * cos(
zmax / z * k);
299 if (j == y / 4)
vy[i][j][k] = sin(
xmax / x * i);
300 if (j == 3 * y / 4)
vy[i][j][k] = -1 * sin(
xmax / x * i);
318 for (i = 0; i <
x; i++) {
319 for (j = 0; j <
y; j++) {
320 for (k = 0; k <
z; k++) {
321 if (
dom[i][j][k] != 1) {
324 if (round((
double) rand() / (
double) RAND_MAX) == 1) {