Changeset 473c2b for pcp/src/perturbed.c


Ignore:
Timestamp:
Apr 22, 2008, 11:52:16 AM (17 years ago)
Author:
Frederik Heber <heber@…>
Children:
60a9f9
Parents:
519b83
Message:

CalculateMagneticSusceptibility(): Now stores PAS values in file (and uses dates in header)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified pcp/src/perturbed.c

    r519b83 r473c2b  
    28942894  double eta, delta_chi, S, A, iso;
    28952895  int cross_lookup[4];
    2896   char filename[256];
    2897   FILE *ChiFile;
    2898   time_t seconds; 
    2899   time(&seconds); // get current time
     2896
     2897  if(P->Call.out[NormalOut]) fprintf(stderr,"(%i)Calculating Magnetic Susceptibility \n", P->Par.me); 
    29002898
    29012899 // set pointers onto current density
     
    29582956  // output tensor to file
    29592957  if (P->Par.me == 0) {
    2960     sprintf(filename, ".chi.L%i.csv", Lev0->LevelNo);
    2961     OpenFile(P, &ChiFile, filename, "a", P->Call.out[ReadOut]);
     2958    FILE *ChiFile;
     2959    char suffixchi[255];
     2960    time_t seconds;
     2961     
     2962    time(&seconds); // get current time
     2963    sprintf(&suffixchi[0], ".chi.L%i.csv", Lev0->LevelNo);
     2964    OpenFile(P, &ChiFile, suffixchi, "a", P->Call.out[ReadOut]);
    29622965    fprintf(ChiFile,"# magnetic susceptibility tensor chi[01,02,03,10,11,12,20,21,22], seed %i, config %s, run on %s", R->Seed, P->Files.default_path, ctime(&seconds));
    2963     fprintf(ChiFile,"%lg\t", P->Lat.ECut/(Lat->LevelSizes[0]*Lat->LevelSizes[0]));
     2966    fprintf(ChiFile,"%lg\t", Lev0->ECut/4.);  // ECut is in Rydberg
    29642967    for (in=0;in<NDIM*NDIM;in++)
    29652968      fprintf(ChiFile,"%e\t", Chi[in]);
     
    29983001    fprintf(stderr,"A          : %e\n", A);
    29993002    fprintf(stderr,"==================\n");
     3003  }
     3004  // output PAS tensor to file
     3005  if (P->Par.me == 0) {
     3006    FILE *ChiFile;
     3007    char suffixchi[255];
     3008    time_t seconds;
     3009     
     3010    time(&seconds); // get current time
     3011    sprintf(&suffixchi[0], ".chi_PAS.csv");
     3012    if (Lev0->LevelNo == Lat->MaxLevel-2) {
     3013      OpenFile(P, &ChiFile, suffixchi, "w", P->Call.out[ReadOut]);
     3014      fprintf(ChiFile,"# magnetic susceptibility tensor chi[00,11,22] Principal Axis System, seed %i, config %s, run on %s", R->Seed, P->Files.default_path, ctime(&seconds));
     3015      fprintf(ChiFile,"# Ecut\tChi_XX\t\tChi_YY\t\tChi_ZZ\tShielding\tanisotropy\tasymmetry\tS\t\tA\n");
     3016    } else
     3017      OpenFile(P, &ChiFile, suffixchi, "a", P->Call.out[ReadOut]);
     3018    fprintf(ChiFile,"%lg\t", Lev0->ECut/4.);  // ECut is in Rydberg
     3019    for (i=0;i<NDIM;i++)
     3020      fprintf(ChiFile,"%e\t", gsl_vector_get(eval,i));
     3021    fprintf(ChiFile,"%lg\t%lg\t%lg\t%lg\t%lg\t\n", iso, delta_chi, eta, S, A);
     3022    fclose(ChiFile);
    30003023  }
    30013024  //for(i=0;i<NDIM;i++)
Note: See TracChangeset for help on using the changeset viewer.