//
// eqheat.c: Solution of heat equation using with finite differences
//
#include <stdlib.h>
#include <stdio.h>
#define size 5000000 // grid size
#define maxiter 300000 // iterations
#define thc 0.12 // thermal conductivity
#define sph 0.113 // specific heat
#define rho 7.8 // density
main() {
int i, j, k;
double cons, u[size + 1][2];
FILE *output; // save data in eqheat.dat
output = fopen("eqheat.datc", "w");
// t = 0 points are 100C
for (i = 0; i<size; i++) u[i][0] = 100.;
// except the endpoints
for (j = 0; j<2; j++) {
u[0][j] = 0.;
u[size][j] = 0.;
}
cons = thc / (sph*rho); // material constants
// loop over maxiter timesteps
for (k = 1; k <= maxiter; k++)
{
for (j = 1; j<size; j++) // loop over space
{
u[j][1] = u[j][0] + cons*(u[j + 1][0] + u[j - 1][0] - 2.0*u[j][0]);
}
// save every 1000 steps
if ((k % 1000 == 0) || (k == 1))
{
for (j = 0; j <= size; j++)
{
if (j % 10 == 0) fprintf(output, "%f\n", u[j][1]);
}
fprintf(output, "\n"); // empty line for gnuplot
}
for (j = 0; j<size; j++) u[j][0] = u[j][1]; // new to old
}
printf("data stored in eqheat.datc\n");
fclose(output);
}
Ly8KLy8gIGVxaGVhdC5jOiBTb2x1dGlvbiBvZiBoZWF0IGVxdWF0aW9uIHVzaW5nIHdpdGggZmluaXRlIGRpZmZlcmVuY2VzCi8vCgojaW5jbHVkZSA8c3RkbGliLmg+IAojaW5jbHVkZSA8c3RkaW8uaD4KI2RlZmluZSBzaXplIDUwMDAwMDAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGdyaWQgc2l6ZQojZGVmaW5lIG1heGl0ZXIgMzAwMDAwICAgICAgICAgICAgICAgICAgICAgIC8vIGl0ZXJhdGlvbnMKI2RlZmluZSB0aGMgMC4xMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB0aGVybWFsIGNvbmR1Y3Rpdml0eQojZGVmaW5lIHNwaCAwLjExMyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHNwZWNpZmljIGhlYXQKI2RlZmluZSByaG8gNy44ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBkZW5zaXR5CgptYWluKCkgIHsKCglpbnQgaSwgaiwgazsKCWRvdWJsZSBjb25zLCB1W3NpemUgKyAxXVsyXTsKCglGSUxFICpvdXRwdXQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHNhdmUgZGF0YSBpbiBlcWhlYXQuZGF0IAoJb3V0cHV0ID0gZm9wZW4oImVxaGVhdC5kYXRjIiwgInciKTsKCS8vIHQgPSAwIHBvaW50cyBhcmUgMTAwQwoJZm9yIChpID0gMDsgaTxzaXplOyBpKyspIHVbaV1bMF0gPSAxMDAuOwoJLy8gZXhjZXB0IHRoZSBlbmRwb2ludHMKCWZvciAoaiA9IDA7IGo8MjsgaisrKSB7CgkJdVswXVtqXSA9IDAuOwoJCXVbc2l6ZV1bal0gPSAwLjsKCX0KCgljb25zID0gdGhjIC8gKHNwaCpyaG8pOyAgICAgICAgICAgICAgICAgICAgLy8gbWF0ZXJpYWwgY29uc3RhbnRzCgkvLyBsb29wIG92ZXIgbWF4aXRlciB0aW1lc3RlcHMKCglmb3IgKGsgPSAxOyBrIDw9IG1heGl0ZXI7IGsrKykKCXsKCQlmb3IgKGogPSAxOyBqPHNpemU7IGorKykgICAgICAgICAgICAgICAvLyBsb29wIG92ZXIgc3BhY2UKCgkJewoJCQl1W2pdWzFdID0gdVtqXVswXSArIGNvbnMqKHVbaiArIDFdWzBdICsgdVtqIC0gMV1bMF0gLSAyLjAqdVtqXVswXSk7CgkJfQoKCQkvLyBzYXZlIGV2ZXJ5IDEwMDAgc3RlcHMKCQlpZiAoKGsgJSAxMDAwID09IDApIHx8IChrID09IDEpKQoJCXsKCQkJZm9yIChqID0gMDsgaiA8PSBzaXplOyBqKyspCgkJCXsKCQkJCWlmIChqICUgMTAgPT0gMCkgIGZwcmludGYob3V0cHV0LCAiJWZcbiIsIHVbal1bMV0pOwoJCQl9CgkJCWZwcmludGYob3V0cHV0LCAiXG4iKTsgICAgICAgICAgICAgIC8vIGVtcHR5IGxpbmUgZm9yIGdudXBsb3QKCQl9CgoJCWZvciAoaiA9IDA7IGo8c2l6ZTsgaisrKSB1W2pdWzBdID0gdVtqXVsxXTsgICAgICAgLy8gbmV3IHRvIG9sZAoJfQoJcHJpbnRmKCJkYXRhIHN0b3JlZCBpbiBlcWhlYXQuZGF0Y1xuIik7CgoJZmNsb3NlKG91dHB1dCk7Cn0=
Main.java:5: error: illegal character: '#'
#include <stdlib.h>
^
Main.java:5: error: class, interface, or enum expected
#include <stdlib.h>
^
Main.java:6: error: illegal character: '#'
#include <stdio.h>
^
Main.java:7: error: illegal character: '#'
#define size 5000000 // grid size
^
Main.java:8: error: illegal character: '#'
#define maxiter 300000 // iterations
^
Main.java:9: error: illegal character: '#'
#define thc 0.12 // thermal conductivity
^
Main.java:10: error: illegal character: '#'
#define sph 0.113 // specific heat
^
Main.java:11: error: illegal character: '#'
#define rho 7.8 // density
^
Main.java:16: error: class, interface, or enum expected
double cons, u[size + 1][2];
^
Main.java:18: error: class, interface, or enum expected
FILE *output; // save data in eqheat.dat
^
Main.java:19: error: class, interface, or enum expected
output = fopen("eqheat.datc", "w");
^
Main.java:21: error: class, interface, or enum expected
for (i = 0; i<size; i++) u[i][0] = 100.;
^
Main.java:21: error: class, interface, or enum expected
for (i = 0; i<size; i++) u[i][0] = 100.;
^
Main.java:21: error: class, interface, or enum expected
for (i = 0; i<size; i++) u[i][0] = 100.;
^
Main.java:23: error: class, interface, or enum expected
for (j = 0; j<2; j++) {
^
Main.java:23: error: class, interface, or enum expected
for (j = 0; j<2; j++) {
^
Main.java:23: error: class, interface, or enum expected
for (j = 0; j<2; j++) {
^
Main.java:25: error: class, interface, or enum expected
u[size][j] = 0.;
^
Main.java:26: error: class, interface, or enum expected
}
^
Main.java:31: error: class, interface, or enum expected
for (k = 1; k <= maxiter; k++)
^
Main.java:31: error: class, interface, or enum expected
for (k = 1; k <= maxiter; k++)
^
Main.java:31: error: class, interface, or enum expected
for (k = 1; k <= maxiter; k++)
^
Main.java:33: error: class, interface, or enum expected
for (j = 1; j<size; j++) // loop over space
^
Main.java:33: error: class, interface, or enum expected
for (j = 1; j<size; j++) // loop over space
^
Main.java:37: error: class, interface, or enum expected
}
^
Main.java:42: error: class, interface, or enum expected
for (j = 0; j <= size; j++)
^
Main.java:42: error: class, interface, or enum expected
for (j = 0; j <= size; j++)
^
Main.java:45: error: class, interface, or enum expected
}
^
Main.java:47: error: class, interface, or enum expected
}
^
Main.java:49: error: class, interface, or enum expected
for (j = 0; j<size; j++) u[j][0] = u[j][1]; // new to old
^
Main.java:49: error: class, interface, or enum expected
for (j = 0; j<size; j++) u[j][0] = u[j][1]; // new to old
^
Main.java:50: error: class, interface, or enum expected
}
^
Main.java:53: error: class, interface, or enum expected
fclose(output);
^
Main.java:54: error: class, interface, or enum expected
}
^
34 errors