Changeset c4ebad


Ignore:
Timestamp:
Feb 1, 2010, 9:02:55 PM (16 years ago)
Author:
Frederik Heber <heber@…>
Children:
49faa8
Parents:
4737be
Message:

NanoCreator - length and radius parameters are now parsed as doubles and rounded to integers.

  • This is necessary due to pgfplotstable writing out 7.89e2 instead of 789. The former is a double, the latter an integer value.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • util/src/NanoCreator.c

    r4737be rc4ebad  
    849849
    850850  int numbersheet, biggestdiameter, sheetnr[NDIM], tmp, seed;
     851  double dfactors[2];
    851852  double x1,x2,x3, angle;
    852853  char flag = 'n';
     
    943944      x1 = fabs(gsl_vector_get(u,0));
    944945      x2 = fabs(gsl_vector_get(u,1));
    945       fprintf(stdout, "(c,d) = (%d,%d)\n",((int)(x1+x1/fabs(x1)*.5)), ((int)(x2+x2/fabs(x2)*.5)));
     946      fprintf(stdout, "(c,d) = (%d,%d).\n",((int)(x1+x1/fabs(x1)*.5)), ((int)(x2+x2/fabs(x2)*.5)));
    946947      j = GCD(((int)(x1+x1/fabs(x1)*.5)), ((int)(x2+x2/fabs(x2)*.5)));
    947       fprintf(stdout, "GCD(%d,%d) = %i", ((int)(x1+x1/fabs(x1)*.5)), ((int)(x2+x2/fabs(x2)*.5)), j);
     948      fprintf(stdout, "GCD(%d,%d) = %i.\n", ((int)(x1+x1/fabs(x1)*.5)), ((int)(x2+x2/fabs(x2)*.5)), j);
    948949      for (i=0;i<2;i++)
    949950        gsl_vector_set(u,i, gsl_vector_get(u,i)/(double)j);
     
    953954        x[i] = gsl_vector_get(u,0) * Vector[axis[0]][i] + gsl_vector_get(u,1) * Vector[axis[1]][i];
    954955      angle = Norm(x)/Norm(Tubevector[axis[1]]) ;//ScalarProduct(x,Tubevector[axis[1]])/Norm(Tubevector[axis[1]]);
    955       fprintf(stdout, "angle is %lg\n", angle);
     956      fprintf(stdout, "Angle is %lg.\n", angle);
    956957      for (i=0;i<NDIM;i++) {
    957958        Tubevector[axis[1]][i] = gsl_vector_get(u,0) * Vector[axis[0]][i] + gsl_vector_get(u,1) * Vector[axis[1]][i];
     
    10091010        );
    10101011      fprintf(stdout, "\nGive integer factors for length and radius of tube (multiple of %d suggested) : ", ggT);
    1011       fscanf(stdin, "%d %d", &factors[1], &factors[0]);
     1012      fscanf(stdin, "%lg %lg", &dfactors[1], &dfactors[0]);
     1013      for(i=0;i<2;i++)
     1014        factors[i] = (int)(dfactors[i]);
     1015      fprintf(stdout, "\nI got %d and %d.\n", factors[1], factors[0]);
    10121016      fprintf(stdout, "\nThe chiral angle then is %5.5f degrees with tube radius %5.5f A and length %5.5f A, i.e. torus radius of %5.5f A.\n",
    10131017        acos(Projection(Vector[axis[0]], Tubevector[axis[0]]))/M_PI*180.,
Note: See TracChangeset for help on using the changeset viewer.