コード例 #1
0
ファイル: pr_08_1.c プロジェクト: qnu/mdoch
void PrintSummary (FILE *fp)
{
  fprintf (fp,
     "%5d %8.4f %7.4f %7.4f %7.4f %7.4f %7.4f\n",
     stepCount, timeNow, VCSum (vSum) / nMol, PropEst (totEnergy),
     PropEst (kinEnergy));
  fflush (fp);
}
コード例 #2
0
ファイル: pr_andiffus.c プロジェクト: KWMalik/S3MD
int main (int argc, char **argv)
{
  Prop **diff;
  real *tVal;
  int j, k, n, nData, nDataSkip, nv, nValDiffuse;
  char buff[BUFF_LEN], *bp;
  FILE *fp;

  if ((fp = fopen (argv[1], "r")) == 0) {
    printf ("no file\n");
    exit (0);
  }
  while (1) {
    bp = fgets (buff, BUFF_LEN, fp);
    if (*bp == CHAR_MINUS) break;
    NameVal (nValDiffuse);
  }
  AllocMem2 (diff, NDIFF, nValDiffuse, Prop);
  for (j = 0; j < NDIFF; j ++) {
    for (n = 0; n < nValDiffuse; n ++) PropZero (diff[j][n]);
  }
  AllocMem (tVal, nValDiffuse, real);
  nDataSkip = 3;
  nv = 0;
  nData = 0;
  while (1) {
    if (! (bp = fgets (buff, BUFF_LEN, fp))) break;
    if (! strncmp (bp, txtDiff, strlen (txtDiff))) {
      if (++ nData > nDataSkip) {
        ++ nv;
        for (n = 0; n < nValDiffuse; n ++) {
          bp = fgets (buff, BUFF_LEN, fp);
          tVal[n] = strtod (bp, &bp);
          for (j = 0; j < NDIFF; j ++) {
            diff[j][n].val = strtod (bp, &bp);
            PropAccum (diff[j][n]);
          }
        }
      }
    }
  }
  fclose (fp);
  printf ("%d\n", nv);
  for (n = 0; n < nValDiffuse; n ++) {
    printf ("%9.4f", tVal[n]);
    for (j = 0; j < NDIFF; j ++) {
      PropAvg (diff[j][n], nv);
      printf (" %9.4f %9.4f", PropEst (diff[j][n]));
    }
    printf ("\n");
  }
}