Changeset f50ab8 for pcp


Ignore:
Timestamp:
Apr 21, 2008, 9:12:22 PM (17 years ago)
Author:
Frederik Heber <heber@…>
Children:
57a69b2
Parents:
0b638d
Message:

CombineOutVisDensity(): suffix instead of direct define

Again, using char array instead of directly a define for filename suffix

File:
1 edited

Legend:

Unmodified
Added
Removed
  • pcp/src/output.c

    r0b638d rf50ab8  
    332332  strncpy (suffixdoc, suffixdat, 255);
    333333  // for the various spin cases, output the doc-file if it's process 0
    334   if (!(P->Par.me_comm_ST)) {
     334  if (P->Par.me_comm_ST == 0) { // if we are process 0 of SpinDouble or SpinUp&-Down
    335335    switch (Lat->Psi.PsiST) {
    336336    case SpinDouble:
     
    353353      break;
    354354    }
    355     if (!OpenFileNo(P, &SrcPsiData, suffixdat, colorNo, "wb",P->Call.out[ReadOut])) // open SourcePsiData as write binary
     355    if (!OpenFileNo(P, &SrcPsiData, suffixdat, colorNo, "wb",P->Call.out[ReadOut])) { // open SourcePsiData as write binary
    356356      fprintf(stderr,"(%i) Error opening file with suffix %s for writing!\n",P->Par.me, suffixdat);
    357     if (!(P->Par.my_color_comm_ST_Psi)) { // if we are process 0
    358         if (!OpenFile(P, &SrcPsiDoc, suffixdoc, "w",P->Call.out[ReadOut])) // open the (text) doc file
    359         fprintf(stderr,"(%i) Error opening file with suffix %s for writing!\n",P->Par.me, suffixdoc);
    360         fprintf(SrcPsiDoc, "Mintype\t%i\n", (int)type);
    361       fprintf(SrcPsiDoc, "LevelNo\t%i\n", LevS->LevelNo);
    362       fprintf(SrcPsiDoc, "GridNodes\t%i\t%i\t%i\n", LevS->N[0], LevS->N[1], LevS->N[2]);
    363       fprintf(SrcPsiDoc, "PsiNo\t%i\t%i\n", Num, P->Lat.Psi.GlobalNo[PsiMaxAdd]);
    364       fprintf(SrcPsiDoc, "Epsilon\t%lg\t%lg\n", P->R.RelEpsTotalEnergy, P->R.RelEpsKineticEnergy);
    365         for (i = 0; i < P->Par.Max_my_color_comm_ST_Psi; i++) {
    366           fprintf(SrcPsiDoc, "\t%i", Lat->Psi.RealAllLocalNo[i]); // print number of local Psis
    367       }
    368       fprintf(SrcPsiDoc, "\n");
    369         fclose(SrcPsiDoc);
    370     }
     357      return 1;
     358    }
     359        if (!OpenFile(P, &SrcPsiDoc, suffixdoc, "w",P->Call.out[ReadOut])) { // open the (text) doc file
     360      fprintf(stderr,"(%i) Error opening file with suffix %s for writing!\n",P->Par.me, suffixdoc);
     361      return 1;
     362    }
     363        fprintf(SrcPsiDoc, "Mintype\t%i\n", (int)type);
     364    fprintf(SrcPsiDoc, "LevelNo\t%i\n", LevS->LevelNo);
     365    fprintf(SrcPsiDoc, "GridNodes\t%i\t%i\t%i\n", LevS->N[0], LevS->N[1], LevS->N[2]);
     366    fprintf(SrcPsiDoc, "PsiNo\t%i\t%i\n", Num, P->Lat.Psi.GlobalNo[PsiMaxAdd]);
     367    fprintf(SrcPsiDoc, "Epsilon\t%lg\t%lg\n", P->R.RelEpsTotalEnergy, P->R.RelEpsKineticEnergy);
     368        for (i = 0; i < P->Par.Max_my_color_comm_ST_Psi; i++) {
     369          fprintf(SrcPsiDoc, "\t%i", Lat->Psi.RealAllLocalNo[i]); // print number of local Psis
     370    }
     371    fprintf(SrcPsiDoc, "\n");
     372        fclose(SrcPsiDoc);
    371373  }
    372374 
     
    10351037  float step = P->Files.OutVisStep;
    10361038  int No=0, destpos;
     1039  char suffix[255];
    10371040  FILE *DensityData, *DensityPos;
    10381041  int Nx = Lev0->Plan0.plan->N[0]+1;
     
    10451048  switch (Lat->RT.ActualUse) {
    10461049  case active:
    1047     OpenFileNo(P, &DensityPos, suffixdenspos, (int)step, "wb",P->Call.out[ReadOut]);
     1050    sprintf(suffix, "%s", suffixdenspos);
     1051    OpenFileNo(P, &DensityPos, suffix, (int)step, "wb",P->Call.out[ReadOut]);
    10481052  case inactive:
    10491053  case standby:
    1050     OpenFileNo(P, &DensityData, suffixdensdat, (int)step, "wb",P->Call.out[ReadOut]);
     1054    sprintf(suffix, "%s", suffixdensdat);
     1055    OpenFileNo(P, &DensityData, suffix, (int)step, "wb",P->Call.out[ReadOut]);
    10511056    break;
    10521057  }
     
    16231628  if (!P->Files.MeOutCurr) return;
    16241629
     1630  if(P->Call.out[NormalOut]) fprintf(stderr,"(%i)Output of Current Density (Vis)\n", P->Par.me);
     1631
    16251632  P->Files.OutputPosType = (enum ModeType *) Realloc(P->Files.OutputPosType,sizeof(enum ModeType)*(P->Files.OutVisStep+(1)*NDIM),"OutputVis");
    16261633  for (i=0;i<(1)*NDIM;i++)
Note: See TracChangeset for help on using the changeset viewer.