- Timestamp:
- Apr 23, 2008, 4:03:13 PM (17 years ago)
- Children:
- 4f9fe2
- Parents:
- d52fb5
- Location:
- pcp/src
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
pcp/src/output.c
rd52fb5 rd3482a 321 321 fftw_complex *srcpsiC = (fftw_complex *)LevS->Dens->DensityCArray[TempDensity]; 322 322 FILE *SrcPsiData, *SrcPsiDoc; 323 char suffixdat[255], suffixdoc[255];323 char *suffixdat, *suffixdoc; 324 324 MPI_Status status; 325 325 struct OnePsiElement *OnePsiA, *LOnePsiA; … … 327 327 int Num = 0, colorNo = 0; 328 328 int Sent = 0, sent = 0; 329 329 330 330 SpeedMeasure(P,ReadnWriteTime,StartTimeDo); 331 suffixdat = (char *) Malloc(sizeof(char)*255, "OutputSrcPsiDensity: *suffixdat"); 332 suffixdoc = (char *) Malloc(sizeof(char)*255, "OutputSrcPsiDensity: *suffixdoc"); 331 333 sprintf(suffixdat, ".%.254s.L%i", P->R.MinimisationName[type], LevS->LevelNo); 332 334 strncpy (suffixdoc, suffixdat, 255); … … 372 374 fclose(SrcPsiDoc); 373 375 } 376 Free(suffixdat, "OutputSrcPsiDensity: *suffixdat"); 377 Free(suffixdoc, "OutputSrcPsiDensity: *suffixdoc"); 374 378 375 379 // send/receive around and write share of coefficient array of each wave function … … 1037 1041 float step = P->Files.OutVisStep[P->Lat.Lev[STANDARTLEVEL].LevelNo]; 1038 1042 int No=0, destpos; 1039 char suffix[255];1043 char *suffix; 1040 1044 FILE *DensityData, *DensityPos; 1041 1045 int Nx = Lev0->Plan0.plan->N[0]+1; … … 1045 1049 N[1] = Lev0->Plan0.plan->N[1]+1; 1046 1050 N[2] = Lev0->Plan0.plan->N[2]+1; 1051 1047 1052 // Open respective file depending on RiemannTensor use 1053 suffix = (char *) Malloc(sizeof(char)*255, "CombineOutVisDensity: *suffix"); 1048 1054 switch (Lat->RT.ActualUse) { 1049 1055 case active: … … 1146 1152 break; 1147 1153 } 1154 Free(suffix, "CombineOutVisDensity: *suffix"); 1148 1155 } 1149 1156 … … 1310 1317 int is,ia,i; 1311 1318 FILE *SrcIonDoc, *SrcIonData; 1312 char suffix[255];1319 char *suffix = (char *) Malloc(sizeof(char)*255, "CombineOutVisDensity: *suffix"); 1313 1320 1314 1321 if (!(P->Par.me == 0)) return; … … 1337 1344 } 1338 1345 fclose(SrcIonData); 1346 Free(suffix, "CombineOutVisDensity: *suffix"); 1339 1347 } 1340 1348 … … 1479 1487 float data[6]; // holds temporarily twice NDIM values as write buffer 1480 1488 int Z; 1481 char *datnamef, *datnameZ, *posname, suffix[255];1489 char *datnamef, *datnameZ, *posname, *suffix; 1482 1490 FILE *IonsDataF, *IonsDataZ, *IonsPos, *IonsDoc, *IonsDx; 1491 1483 1492 if (!P->Files.MeOutVis && P->Par.me == 0) return; 1493 1484 1494 // generate file names 1495 suffix = (char *) Malloc(sizeof(char)*255, "OutVisIons: * suffix"); 1485 1496 datnamef = (char*) 1486 1497 malloc(strlen(P->Files.mainname)+strlen(suffixionfor) + 1); … … 1576 1587 fclose(IonsDataF); 1577 1588 } 1589 Free(suffix, "OutVisIons: *suffix"); 1578 1590 } 1579 1591 … … 1757 1769 struct LatticeLevel *Lev0 = R->Lev0; 1758 1770 const int myPE = P->Par.me_comm_ST_Psi; 1759 char filename[255], spin[12];1771 char *filename, spin[12]; 1760 1772 char *suchpointer; 1761 1773 FILE *PlotFile = NULL; 1762 1774 time_t seconds; 1763 1775 1764 1765 // open file1766 1776 time(&seconds); // get current time 1767 1777 1778 filename = (char *) Malloc(sizeof(char)*255, "PlotSrcPlane: *filename"); 1768 1779 switch (Lat->Psi.PsiST) { 1769 case SpinDouble:1770 sprintf(&filename[0], ".psi%i_cut%i.csv", wavenr, index);1771 strncat(spin,"SpinDouble",12);1772 break;1773 case SpinUp:1774 sprintf(&filename[0], ".psi%i_cut%i_up.csv", wavenr, index);1775 strncat(spin,"SpinUp",12);1776 break;1777 case SpinDown:1778 sprintf(&filename[0], ".psi%i_cut%i_down.csv", wavenr, index);1779 strncat(spin,"SpinDown",12);1780 break;1780 case SpinDouble: 1781 sprintf(&filename[0], ".psi%i_cut%i.csv", wavenr, index); 1782 strncat(spin,"SpinDouble",12); 1783 break; 1784 case SpinUp: 1785 sprintf(&filename[0], ".psi%i_cut%i_up.csv", wavenr, index); 1786 strncat(spin,"SpinUp",12); 1787 break; 1788 case SpinDown: 1789 sprintf(&filename[0], ".psi%i_cut%i_down.csv", wavenr, index); 1790 strncat(spin,"SpinDown",12); 1791 break; 1781 1792 } 1782 1793 … … 1792 1803 } else { Error(SomeError, "PlotSrcPlane: Opening Plot File"); } 1793 1804 } 1794 1805 Free(filename, "PlotSrcPlane: *filename"); 1806 1795 1807 // plot density 1796 1808 PlotRealDensity(P, Lev0, PlotFile, index, node, density, density); -
pcp/src/perturbed.c
rd52fb5 rd3482a 2894 2894 double eta, delta_chi, S, A, iso; 2895 2895 int cross_lookup[4]; 2896 char *suffixchi; 2897 FILE *ChiFile; 2898 time_t seconds; 2896 2899 2897 2900 if(P->Call.out[NormalOut]) fprintf(stderr,"(%i)Calculating Magnetic Susceptibility \n", P->Par.me); … … 2950 2953 } 2951 2954 } 2955 2956 suffixchi = (char *) Malloc(sizeof(char)*255, "CalculateMagneticSusceptibility: *suffixchi"); 2952 2957 // store symmetrized matrix 2953 2958 for (in=0;in<NDIM;in++) … … 2956 2961 // output tensor to file 2957 2962 if (P->Par.me == 0) { 2958 FILE *ChiFile;2959 char suffixchi[255];2960 time_t seconds;2961 2962 2963 time(&seconds); // get current time 2963 2964 sprintf(&suffixchi[0], ".chi.L%i.csv", Lev0->LevelNo); … … 3004 3005 // output PAS tensor to file 3005 3006 if (P->Par.me == 0) { 3006 FILE *ChiFile;3007 char suffixchi[255];3008 time_t seconds;3009 3010 3007 time(&seconds); // get current time 3011 3008 sprintf(&suffixchi[0], ".chi_PAS.csv"); … … 3026 3023 gsl_vector_free(eval); 3027 3024 gsl_matrix_complex_free(H); 3025 Free(suffixchi, "CalculateMagneticSusceptibility: *suffixchi"); 3028 3026 } 3029 3027 … … 3069 3067 gsl_matrix_complex *H = gsl_matrix_complex_calloc(NDIM,NDIM); 3070 3068 FILE *SigmaFile; 3071 char suffixsigma[255];3069 char *suffixsigma = (char *) Malloc(sizeof(char)*255, "CalculateChemicalShieldingByReciprocalCurrentDensity: *suffixsigma"); 3072 3070 3073 3071 time_t seconds; … … 3160 3158 // output tensor to file 3161 3159 if (P->Par.me == 0) { 3162 sprintf( &suffixsigma[0], ".sigma_chi_rezi.L%i.csv", Lev0->LevelNo);3160 sprintf(suffixsigma, ".sigma_chi_rezi.L%i.csv", Lev0->LevelNo); 3163 3161 OpenFile(P, &SigmaFile, suffixsigma, "a", P->Call.out[ReadOut]); 3164 3162 fprintf(SigmaFile,"# chemical shielding tensor sigma_rezi[01,02,03,10,11,12,20,21,22], seed %i, config %s, run on %s", R->Seed, P->Files.default_path, ctime(&seconds)); … … 3186 3184 // output tensor to file 3187 3185 if (P->Par.me == 0) { 3188 sprintf( &suffixsigma[0], ".sigma_i%i_%s_rezi.L%i.csv", ion, I->I[it].Symbol, Lev0->LevelNo);3186 sprintf(suffixsigma, ".sigma_i%i_%s_rezi.L%i.csv", ion, I->I[it].Symbol, Lev0->LevelNo); 3189 3187 OpenFile(P, &SigmaFile, suffixsigma, "a", P->Call.out[ReadOut]); 3190 3188 fprintf(SigmaFile,"# chemical shielding tensor sigma_rezi[01,02,03,10,11,12,20,21,22], seed %i, config %s, run on %s", R->Seed, P->Files.default_path, ctime(&seconds)); … … 3232 3230 } 3233 3231 if (P->Par.me == 0) { 3234 FILE *SigmaFile; 3235 char suffixsigma[255]; 3236 sprintf(&suffixsigma[0], ".sigma_i%i_%s_PAS.csv", ion, I->I[it].Symbol); 3232 sprintf(suffixsigma, ".sigma_i%i_%s_PAS.csv", ion, I->I[it].Symbol); 3237 3233 if (Lev0->LevelNo == Lat->MaxLevel-2) { 3238 3234 OpenFile(P, &SigmaFile, suffixsigma, "w", P->Call.out[ReadOut]); … … 3304 3300 gsl_vector_free(eval); 3305 3301 gsl_matrix_complex_free(H); 3302 Free(suffixsigma, "CalculateChemicalShieldingByReciprocalCurrentDensity: *suffixsigma"); 3306 3303 } 3307 3304 … … 3337 3334 const int N0 = Lev0->Plan0.plan->local_nx; 3338 3335 FILE *MomentFile; 3339 char suffixmoment[255];3336 char *suffixmoment = (char *) Malloc(sizeof(char)*255, "CalculateMagneticMoment: *suffixmoment"); 3340 3337 time_t seconds; 3341 3338 time(&seconds); // get current time … … 3444 3441 3445 3442 gsl_matrix_complex_free(H); 3443 Free(suffixmoment, "CalculateMagneticMoment: *suffixmoment"); 3446 3444 } 3447 3445 … … 3776 3774 struct LatticeLevel *Lev0 = R->Lev0; 3777 3775 struct Density *Dens0 = Lev0->Dens; 3778 char filename[255];3776 char *filename; 3779 3777 char *suchpointer; 3780 3778 FILE *PlotFile = NULL; … … 3795 3793 if (!myPE) { // only process 0 writes to file 3796 3794 // open file 3795 filename = (char *) Malloc(sizeof(char)*255, "PlotVectorPlane: *filename"); 3797 3796 sprintf(&filename[0], ".current.L%i.csv", Lev0->LevelNo); 3798 3797 OpenFile(P, &PlotFile, filename, "w", P->Call.out[ReadOut]); … … 3805 3804 fprintf(PlotFile,"\n"); 3806 3805 } else { Error(SomeError, "PlotVectorPlane: Opening Plot File"); } 3806 Free(filename, "PlotVectorPlane: *filename"); 3807 3807 } 3808 3808 -
pcp/src/pseudo.c
rd52fb5 rd3482a 445 445 void InitPseudoRead(struct Problem *P, char *pseudopot_path) 446 446 { 447 char cpiInputFileName[255];447 char *cpiInputFileName; 448 448 FILE *cpiInputFile; 449 449 int i,it,ib,il,m,j,ia; … … 483 483 PP->lm_endmax = 0; 484 484 PP->corecorr = NotCoreCorrected; 485 cpiInputFileName = (char *) Malloc(sizeof(char)*255, "InitPseudoRead: *cpiInputFileName"); 485 486 for (it = 0; it < I->Max_Types; it++) { 486 487 PP->lm_end[it] = I->I[it].l_max*I->I[it].l_max+1-2*I->I[it].l_loc; … … 585 586 fclose(cpiInputFile); 586 587 } 588 Free(cpiInputFileName, "InitPseudoRead: *cpiInputFileName"); 587 589 PP->fnl = (fftw_complex ****) Malloc(sizeof(fftw_complex***)*(Lat->Psi.LocalNo+1), "InitPseudoRead: "); 588 590 for (i=0; i< Lat->Psi.LocalNo+1; i++) { -
pcp/src/wannier.c
rd52fb5 rd3482a 1855 1855 int i,l,j, msglen; 1856 1856 FILE *SpreadFile; 1857 char tagname[255];1857 char *tagname; 1858 1858 char suffix[18]; 1859 1859 double WannierCentre[NDIM+1]; // combined centre and spread … … 1874 1874 if (P->Call.out[NormalOut]) fprintf(stderr,"(%i) Parsing Wannier Centres from file ... \n", P->Par.me); 1875 1875 1876 if (P->Par.me_comm_ST == 0) { 1876 if (P->Par.me_comm_ST == 0) { 1877 tagname = (char *) Malloc(sizeof(char)*255, "ParseWannierFile: *tagname"); 1877 1878 if(!OpenFile(P, &SpreadFile, suffix, "r", P->Call.out[ReadOut])) { // check if file exists 1878 1879 if (MPI_Bcast(&signal,1,MPI_INT,0,P->Par.comm_ST) != MPI_SUCCESS) … … 1936 1937 for (j=0;j<NDIM;j++) Psi->AddData[OnePsiA->MyLocalNo].WannierCentre[j] = WannierCentre[j]; 1937 1938 Psi->AddData[OnePsiA->MyLocalNo].WannierSpread = WannierCentre[NDIM]; 1938 //if (P->Par.me == 0 && P->Call.out[ValueOut]) fprintf(stderr,"(%i) %s\t%lg\t%lg\t%lg\t\t%lg\n",P->Par.me, tagname,Psi->AddData[OnePsiA->MyLocalNo].WannierCentre[0],Psi->AddData[OnePsiA->MyLocalNo].WannierCentre[1],Psi->AddData[OnePsiA->MyLocalNo].WannierCentre[2],Psi->AddData[OnePsiA->MyLocalNo].WannierSpread);1939 //if (P->Par.me == 0 && P->Call.out[ValueOut]) fprintf(stderr,"(%i) %s\t%lg\t%lg\t%lg\t\t%lg\n",P->Par.me, tagname,Psi->AddData[OnePsiA->MyLocalNo].WannierCentre[0],Psi->AddData[OnePsiA->MyLocalNo].WannierCentre[1],Psi->AddData[OnePsiA->MyLocalNo].WannierCentre[2],Psi->AddData[OnePsiA->MyLocalNo].WannierSpread); 1939 1940 } else if (P->Par.me_comm_ST == 0) { // if they are not local, yet we are process 0, send 'em to leader of its Psi group 1940 1941 if (MPI_Send(WannierCentre, NDIM+1, MPI_DOUBLE, OnePsiA->my_color_comm_ST_Psi, ParseWannierTag, P->Par.comm_ST_PsiT) != MPI_SUCCESS) … … 1944 1945 } 1945 1946 } 1946 if ((SpreadFile != NULL) && (P->Par.me_comm_ST == 0)) 1947 if ((SpreadFile != NULL) && (P->Par.me_comm_ST == 0)) { 1947 1948 fclose(SpreadFile); 1949 Free(tagname, "ParseWannierFile: *tagname"); 1950 } 1948 1951 //fprintf(stderr,"(%i) Parsing Wannier files succeeded!\n", P->Par.me); 1949 1952 return 1;
Note:
See TracChangeset
for help on using the changeset viewer.