コード例 #1
0
ファイル: walls.cpp プロジェクト: exianshine/deft
int main(int, char **) {
  FILE *fout = fopen("papers/fuzzy-fmt/figs/wallsfillingfracInfo.txt", "w");
  fclose(fout);
  const double etas[] = { 0.1, 0.4 };
  const double temps[] = { 0.0, 0.01, 0.02, 0.03 };
  for (double eta = 0.4; eta > 0; eta-=0.3) {
    for (unsigned int i = 0; i<sizeof(temps)/sizeof(temps[0]); i++) {
      const double temp = temps[i];
      Functional f = HardFluid(1,0);
      if (temp > 0) f = SoftFluid(1, 1, 0);
      const double mu = find_chemical_potential(OfEffectivePotential(f), (temp)?temp:1, eta/(4*M_PI/3));
      printf("mu is %g\n", mu);
      if (temp > 0) f = SoftFluid(1, 1, mu);
      else f = HardFluid(1, mu);

      const char *name = "hard";
      if (temp > 0) name = "soft";

      run_walls(eta, name, f, temp);
    }
  }
  // Just create this file so make knows we have run.
  if (!fopen("papers/fuzzy-fmt/figs/walls.dat", "w")) {
    printf("Error creating walls.dat!\n");
    return 1;
  }
  return 0;
}
コード例 #2
0
ファイル: walls.cpp プロジェクト: rscheirer/deft
int main(int argc, char **argv) {
  double n_reduced, temp;
  if (argc != 3) {
    printf("usage: %s reduced_density kT\n", argv[0]);
    return 1;
  }
  sscanf(argv[1], "%lg", &n_reduced);
  sscanf(argv[2], "%lg", &temp);

  const double rad = 1; // //radius of our spheres
  const double sigma = rad*pow(2,5.0/6.0);

  Functional f = HardRosenfeldFluid(rad,0);
  if (temp > 0) f = SoftFluid(sigma, 1, 0);
  const double mu = find_chemical_potential(OfEffectivePotential(f), (temp)?temp:1, n_reduced*pow(2,-5.0/2.0));
  printf("mu is %g for reduced density = %g at temperature %g\n", mu, n_reduced, temp);
  if (temp > 0) f = SoftFluid(sigma, 1, mu);
  else f = HardRosenfeldFluid(rad, mu);

  const char *name = "hard";
  if (temp > 0) name = "soft";

  run_walls(n_reduced, name, f, temp);
  return 0;
}