- Timestamp:
- Apr 21, 2008, 8:48:27 PM (17 years ago)
- Children:
- f50ab8
- Parents:
- da4244
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
pcp/src/output.c
rda4244 r0b638d 1394 1394 fclose(SrcIonDoc); 1395 1395 } 1396 // read basis, then positions and speeds of ions 1397 if (OpenFile(P, &SrcIonData, suffixsrciondat, "rb",P->Call.out[ReadOut])) { 1396 // check basis, then read positions and speeds of ions 1397 suffix = (char *) 1398 Realloc(suffix, strlen(suffixsrciondat) + 3 + 1,"ReadSrcIons: suffix"); 1399 sprintf(suffix, ".L%i%s", P->Lat.Lev[STANDARTLEVEL].LevelNo, suffixsrciondat); 1400 if (OpenFile(P, &SrcIonData, suffix, "rb",P->Call.out[ReadOut])) { 1398 1401 if (fread(RealBasis, sizeof(double), (size_t)(NDIM_NDIM), SrcIonData) != NDIM_NDIM) { 1399 1402 //Error(SomeError, "ReadSrcIons: read error"); … … 1466 1469 float data[6]; // holds temporarily twice NDIM values as write buffer 1467 1470 int Z; 1468 char *datnamef, *datnameZ, *posname ;1471 char *datnamef, *datnameZ, *posname, suffix[255]; 1469 1472 FILE *IonsDataF, *IonsDataZ, *IonsPos, *IonsDoc, *IonsDx; 1470 1473 if (!P->Files.MeOutVis && P->Par.me == 0) return; … … 1480 1483 sprintf(posname, "%s%s", P->Files.mainname, suffixionpos); 1481 1484 // open, fill and close doc file 1482 if (OpenFile(P, &IonsDoc, suffixiondoc, "w",P->Call.out[ReadOut])) { 1485 sprintf(suffix, "%s", suffixiondoc); 1486 if (OpenFile(P, &IonsDoc, suffix, "w",P->Call.out[ReadOut])) { 1483 1487 fprintf(IonsDoc,"IonsPos file = %s.####\n", posname); 1484 1488 fprintf(IonsDoc,"IonsForce file = %s.####\n", datnamef); … … 1492 1496 } 1493 1497 // open dx file and fill it with each output step, close it 1494 if (OpenFile(P, &IonsDx, suffixiondx, "w",P->Call.out[ReadOut])) { 1498 sprintf(suffix, "%s", suffixiondx); 1499 if (OpenFile(P, &IonsDx, suffix, "w",P->Call.out[ReadOut])) { 1495 1500 for (i=0; i < F->OutVisStep+1; i++) { 1496 1501 if (i==0) { … … 1531 1536 Free(posname, "OutVisIons: posname"); 1532 1537 // open IonForces, IonZ and IonPosition file, write forces respectively positions for each ion of each type, close them 1533 if (OpenFileNo(P, &IonsDataF, suffixionfor, F->OutVisStep, "wb",P->Call.out[ReadOut])) { 1534 if (F->OutVisStep == 0) 1535 OpenFile(P, &IonsDataZ, suffixionZ, "wb",P->Call.out[ReadOut]); 1536 if (OpenFileNo(P, &IonsPos, suffixionpos, F->OutVisStep, "wb",P->Call.out[ReadOut])) { 1538 sprintf(suffix, "%s", suffixionfor); 1539 if (OpenFileNo(P, &IonsDataF, suffix, F->OutVisStep, "wb",P->Call.out[ReadOut])) { 1540 if (F->OutVisStep == 0) { 1541 sprintf(suffix, "%s", suffixionZ); 1542 OpenFile(P, &IonsDataZ, suffix, "wb",P->Call.out[ReadOut]); 1543 } 1544 sprintf(suffix, "%s", suffixionpos); 1545 if (OpenFileNo(P, &IonsPos, suffix, F->OutVisStep, "wb",P->Call.out[ReadOut])) { 1537 1546 for (is=0; is < I->Max_Types; is++) { 1538 1547 for (ia=0; ia < I->I[is].Max_IonsOfType; ia++) {
Note:
See TracChangeset
for help on using the changeset viewer.