Changeset bd3839


Ignore:
Timestamp:
Jun 22, 2008, 9:57:06 AM (17 years ago)
Author:
Frederik Heber <heber@…>
Children:
73bc6b
Parents:
e2f3fde
Message:

increase epsilons for finding integer factor a bit and added check whether found TubeVectors are really orthogonal and abort if not

File:
1 edited

Legend:

Unmodified
Added
Removed
  • util/src/NanoCreator.c

    re2f3fde rbd3839  
    919919        x3 =
    920920        fprintf(stdout, "%d: %d\t%d vs. %lg\t%lg\n",i, ((int)(x1+x1/fabs(x1)*.5)), ((int)(x2+x2/fabs(x2)*.5)), (x1), (x2));
    921         if (( fabs( ((int)(x1+x1/fabs(x1)*.5)) - (x1) ) < 1e-3) && ( fabs( ((int)(x2+x2/fabs(x2)*.5)) - (x2) ) < 1e-3 )) {
     921        if (( fabs( ((int)(x1+x1/fabs(x1)*.5)) - (x1) ) < 1e-6) && ( fabs( ((int)(x2+x2/fabs(x2)*.5)) - (x2) ) < 1e-6 )) {
    922922          gsl_blas_dscal((double)i, u);
    923923          break;
     
    944944      gsl_vector_set(v,1,(double)chiral[1]);
    945945      gsl_blas_dgemv(CblasNoTrans, 1.0, M, u, 0.0, eval);
    946       gsl_blas_dgemv(CblasTrans, 1.0, M, v, 0.0, u);
     946      gsl_blas_dgemv(CblasNoTrans, 1.0, M, v, 0.0, u);
    947947      x1=1.;
    948948      gsl_blas_ddot(u,eval,&x1);
     
    956956      gsl_vector_free(u);
    957957      gsl_eigen_symmv_free(w);
     958     
     959      if (fabs(x1) > 1e-6) {
     960        fprintf(stderr,"Resulting TubeVectors of axis %d and %d and not orthogonal, aborting.\n", axis[0], axis[1]);
     961        return(128);
     962      }
     963       
    958964     
    959965      angle = Projection(Tubevector[axis[1]], Vector[axis[0]]);
     
    10981104      x3 =
    10991105      fprintf(stdout, "%d: %d\t%d vs. %lg\t%lg\n",i, ((int)(x1+x1/fabs(x1)*.5)), ((int)(x2+x2/fabs(x2)*.5)), (x1), (x2));
    1100       if (( fabs( ((int)(x1+x1/fabs(x1)*.5)) - (x1) ) < 1e-3) && ( fabs( ((int)(x2+x2/fabs(x2)*.5)) - (x2) ) < 1e-3 )) {
     1106      if (( fabs( ((int)(x1+x1/fabs(x1)*.5)) - (x1) ) < 1e-6) && ( fabs( ((int)(x2+x2/fabs(x2)*.5)) - (x2) ) < 1e-6 )) {
    11011107        gsl_blas_dscal((double)i, u);
    11021108        break;
     
    11231129    gsl_vector_set(v,1,(double)chiral[1]);
    11241130    gsl_blas_dgemv(CblasNoTrans, 1.0, M, u, 0.0, eval);
    1125     gsl_blas_dgemv(CblasTrans, 1.0, M, v, 0.0, u);
     1131    gsl_blas_dgemv(CblasNoTrans, 1.0, M, v, 0.0, u);
    11261132    x1=1.;
    11271133    gsl_blas_ddot(u,eval,&x1);
     
    11351141    gsl_vector_free(u);
    11361142    gsl_eigen_symmv_free(w);   
     1143
     1144    if (fabs(x1) > 1e-6) {
     1145      fprintf(stderr,"Resulting TubeVectors of axis %d and %d and not orthogonal, aborting.\n", axis[0], axis[1]);
     1146      return(128);
     1147    }
    11371148
    11381149    // retrieve seed ...
Note: See TracChangeset for help on using the changeset viewer.