- #1
teqnick
- 6
- 0
Hello
Could anyone help me rewrite following C code to Fortran code? It generates coords for sc silver atoms.
Could anyone help me rewrite following C code to Fortran code? It generates coords for sc silver atoms.
Code:
#include <stdio.h>
#include <math.h>
int main(void) {
int
i, j, k,
n = 0;
double
A = 4.08,
L_X = 20.0,
L_Y = 20.0,
L_Z = 15.0;
int
iMax = ceil(L_X/A),
jMax = ceil(L_Y/A),
kMax = ceil(L_Z/A),
N = (iMax + 1) * (jMax + 1) * (kMax + 1) * 1;
const int
NN = 1000;
double x[NN], y[NN], z[NN];
FILE* fileOut = fopen("Zad-VI.txt", "w");
FILE* fileOut2 = fopen("Zad-VI.xyz", "w");
for(k = 0; k <= kMax; k++) {
for(j = 0; j <= jMax; j++) {
for(i = 0; i <= iMax; i++) {
x[n] = (i + 0.0) * A;
y[n] = (j + 0.0) * A;
z[n] = (k + 0.0) * A;
n++;
}
}
}
fprintf(fileOut, "# atomN x y z\n");
for(i = 0; i < N; i++) {
fprintf(fileOut, "%d %f %f %f\n", i + 1, x[i], y[i], z[i]);
}
fprintf(fileOut2, "%d\n", N);
fprintf(fileOut2, "atomName x y z\n");
for(i = 0; i < N; i++) {
fprintf(fileOut2, "%s %f %f %f\n", "Ag", x[i], y[i], z[i]);
}
fclose(fileOut);
fclose(fileOut2);
return 0;
}
Last edited: