Changeset 774ae8 for pcp/src/ions.c
- Timestamp:
- Apr 21, 2008, 2:19:24 PM (17 years ago)
- Children:
- 36f85c
- Parents:
- b74e5e
- git-author:
- Frederik Heber <heber@…> (04/18/08 15:21:30)
- git-committer:
- Frederik Heber <heber@…> (04/21/08 14:19:24)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
pcp/src/ions.c
rb74e5e r774ae8 959 959 /** Print coordinates of all ions to stdout. 960 960 * \param *P Problem at hand 961 */ 962 void OutputIonCoordinates(struct Problem *P) 963 { 964 struct Ions *I = &P->Ion; 965 int is, ia; 966 if (P->Par.me == 0) { 967 fprintf(stderr, "(%i) ======= Updated Ion Coordinates =========\n",P->Par.me); 961 * \param actual (1 - don't at current RunStruct#OuterStep, 0 - do) 962 */ 963 void OutputIonCoordinates(struct Problem *P, int actual) 964 { 965 //struct RunStruct *R = &P->R; 966 struct Ions *I = &P->Ion; 967 char filename[255]; 968 FILE *output; 969 int is, ia, nr = 0; 970 double Bohr = (I->IsAngstroem) ? 1./ANGSTROEMINBOHRRADIUS : 1.; 971 /* if (P->Par.me == 0 && P->Call.out[ReadOut]) { 972 fprintf(stderr, "(%i) ======= Differential Ion Coordinates =========\n",P->Par.me); 968 973 for (is=0; is < I->Max_Types; is++) 969 974 for (ia=0; ia < I->I[is].Max_IonsOfType; ia++) 970 975 //fprintf(stderr, "(%i) R[%i/%i][%i/%i] = (%e,%e,%e)\n", P->Par.me, is, I->Max_Types, ia, I->I[is].Max_IonsOfType, I->I[is].R[NDIM*ia+0],I->I[is].R[NDIM*ia+1],I->I[is].R[NDIM*ia+2]); 971 fprintf(stderr, "Ion_Type%i_%i\t%.6f\t%.6f\t%.6f\t0\t# Atom from StructOpt\n", is+1, ia+1, I->I[is].R[NDIM*ia+0] ,I->I[is].R[NDIM*ia+1],I->I[is].R[NDIM*ia+2]);976 fprintf(stderr, "Ion_Type%i_%i\t%.6f\t%.6f\t%.6f\t0\t# Atom from StructOpt\n", is+1, ia+1, I->I[is].R[NDIM*ia+0]-I->I[is].R_old[NDIM*ia+0],I->I[is].R[NDIM*ia+1]-I->I[is].R_old[NDIM*ia+1],I->I[is].R[NDIM*ia+2]-I->I[is].R_old[NDIM*ia+2]); 972 977 fprintf(stderr, "(%i) =========================================\n",P->Par.me); 978 }*/ 979 if (actual) 980 sprintf(filename, "%s.MD", P->Call.MainParameterFile); 981 else 982 sprintf(filename, "%s.opt", P->Call.MainParameterFile); 983 if (((actual) && (P->R.OuterStep <= 0)) || ((!actual) && (P->R.StructOptStep == 1))) { // on first step write complete config file 984 WriteParameters(P, filename); 985 } else { // afterwards simply add the current ion coordinates as constrained steps 986 if ((P->Par.me == 0) && (output = fopen(filename,"a"))) { 987 fprintf(output,"# ====== MD step %d ========= \n", (actual) ? P->R.OuterStep : P->R.StructOptStep); 988 for (is=0; is < I->Max_Types; is++) 989 for (ia=0;ia<I->I[is].Max_IonsOfType;ia++) { 990 fprintf(output,"Ion_Type%i_%i\t%2.9f\t%2.9f\t%2.9f\t%i\t%2.9f\t%2.9f\t%2.9f\t# Number in molecule %i\n", is+1, ia+1, I->I[is].R[0+NDIM*ia]*Bohr, I->I[is].R[1+NDIM*ia]*Bohr, I->I[is].R[2+NDIM*ia]*Bohr, I->I[is].IMT[ia], I->I[is].U[0+NDIM*ia]*Bohr, I->I[is].U[1+NDIM*ia]*Bohr, I->I[is].U[2+NDIM*ia]*Bohr, ++nr); 991 } 992 fflush(output); 993 } 973 994 } 974 995 }
Note:
See TracChangeset
for help on using the changeset viewer.