Release radf-1.0.1

Edited shared library
This commit is contained in:
arcan1s
2013-08-03 02:09:24 +04:00
parent 0523b2f7fa
commit e9e0e82c4d
8 changed files with 92 additions and 46 deletions

View File

@ -94,6 +94,7 @@ int main(int argc, char *argv[])
* @return 1 - error in error_checking
* @return 2 - input file does not exist
* @return 3 - memory error
* @return 4 - unknown flag
* @return 0 - exit without errors
*/
{
@ -141,7 +142,7 @@ int main(int argc, char *argv[])
for (i=1; i<argc; i++)
{
if ((argv[i][0] == '-') && (argv[i][1] == 'h'))
if ((argv[i][0] == '-') && (argv[i][1] == 'h') && (argv[i][2] == '\0'))
{
sprintf (tmp_str, " radf\n");
sprintf (tmp_str, "%sProgram that calculates radial distribution function (RDF) or radial-angles\n", tmp_str);
@ -171,13 +172,13 @@ int main(int argc, char *argv[])
fputs (tmp_str, stdout);
return 0;
}
else if ((argv[i][0] == '-') && (argv[i][1] == 'i'))
else if ((argv[i][0] == '-') && (argv[i][1] == 'i') && (argv[i][2] == '\0'))
// input file
{
strcpy (input, argv[i+1]);
i++;
}
else if ((argv[i][0] == '-') && (argv[i][1] == 's'))
else if ((argv[i][0] == '-') && (argv[i][1] == 's') && (argv[i][2] == '\0'))
// steps
{
sscanf (argv[i+1], "%i,%i", &from, &to);
@ -190,13 +191,13 @@ int main(int argc, char *argv[])
step = to - from + 1;
i++;
}
else if ((argv[i][0] == '-') && (argv[i][1] == 'c'))
else if ((argv[i][0] == '-') && (argv[i][1] == 'c') && (argv[i][2] == '\0'))
// cell size
{
sscanf (argv[i+1], "%f,%f,%f", &cell[0], &cell[1], &cell[2]);
i++;
}
else if ((argv[i][0] == '-') && (argv[i][1] == 'a') && (argv[i][2] == 't'))
else if ((argv[i][0] == '-') && (argv[i][1] == 'a') && (argv[i][2] == 't') && (argv[i][3] == '\0'))
// atom types
{
num_needed_at = 2;
@ -210,7 +211,7 @@ int main(int argc, char *argv[])
&needed_at[3], &needed_at[4], &needed_at[5]);
i++;
}
else if ((argv[i][0] == '-') && (argv[i][1] == 'o'))
else if ((argv[i][0] == '-') && (argv[i][1] == 'o') && (argv[i][2] == '\0'))
// output file
{
strcpy (output, argv[i+1]);
@ -228,7 +229,7 @@ int main(int argc, char *argv[])
}
i++;
}
else if ((argv[i][0] == '-') && (argv[i][1] == 'r') && (argv[i][2] == 's'))
else if ((argv[i][0] == '-') && (argv[i][1] == 'r') && (argv[i][2] == 's') && (argv[i][3] == '\0'))
// radius step
{
sscanf (argv[i+1], "%f", &r_step);
@ -246,29 +247,34 @@ int main(int argc, char *argv[])
}
i++;
}
else if ((argv[i][0] == '-') && (argv[i][1] == 'a') && (argv[i][2] == 's'))
else if ((argv[i][0] == '-') && (argv[i][1] == 'a') && (argv[i][2] == 's') && (argv[i][3] == '\0'))
// angle step
{
sscanf (argv[i+1], "%f", &ang_step);
i++;
}
else if ((argv[i][0] == '-') && (argv[i][1] == 'm'))
else if ((argv[i][0] == '-') && (argv[i][1] == 'm') && (argv[i][2] == '\0'))
// matrix mode
{
matrix = 1;
}
else if ((argv[i][0] == '-') && (argv[i][1] == 'l'))
else if ((argv[i][0] == '-') && (argv[i][1] == 'l') && (argv[i][2] == '\0'))
// log mode
{
log = 1;
strcpy (logfile, argv[i+1]);
i++;
}
else if ((argv[i][0] == '-') && (argv[i][1] == 'q'))
else if ((argv[i][0] == '-') && (argv[i][1] == 'q') && (argv[i][2] == '\0'))
// quiet mode
{
quiet = 1;
}
else
// unknown flag
{
return 4;
}
}
if (log == 1)

View File

@ -117,11 +117,10 @@ int print_result (const char *output, const int matrix, const int mode,
r = r_min + (0.5 + i) * r_step;
ang = ang_min + (0.5 + j) * ang_step;
dv = 4 * M_PI * pow (r, 2) * sin (M_PI * ang / 180) * r_step * (M_PI * ang_step / 180);
// dv = 4;
ro = num_atoms / (3 * 2 * cell[0] * cell[1] * cell[2]);
norm = radf[i] / (dv * ro * num_atoms / 3 * step);
norm = radf[n*i+j] / (dv * ro * num_atoms / 3 * step);
if (matrix == 0)
fprintf (f_out, " %9.4f %9.2f %10.4e %9i %9.6f \n", r, ang, dv, radf[i] / 2, norm);
fprintf (f_out, " %9.4f %9.2f %10.4e %9i %9.6f \n", r, ang, dv, radf[n*i+j] / 2, norm);
else
fprintf (f_out, " %9.6f", norm);
}