- Timestamp:
- Apr 21, 2008, 2:19:26 PM (17 years ago)
- Children:
- 08a794b
- Parents:
- 6590194
- git-author:
- Frederik Heber <heber@…> (04/18/08 16:19:24)
- git-committer:
- Frederik Heber <heber@…> (04/21/08 14:19:26)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
pcp/src/ions.c
r6590194 r05fec0 941 941 a = delta_t*0.5/IonMass; // (F+F_old)/2m = a and thus: v = (F+F_old)/2m * t = (F + F_old) * a 942 942 for (ia=0; ia < I->I[is].Max_IonsOfType; ia++) { 943 FIon = &I->I[is].FIon[NDIM*ia];944 FIon_old = &I->I[is].FIon_old[NDIM*ia];945 943 U = &I->I[is].U[NDIM*ia]; 946 if (I->I[is].IMT[ia] == MoveIon) 947 for (d=0; d<NDIM; d++) { 948 U[d] += a * (FIon[d]+FIon_old[d]); 949 } 944 if (I->I[is].Constraints[ia] != NULL) { // override current resulting R and U if constrained is given 945 fprintf(stderr, "(%i) Setting constrained motion U at step %d on ion (%i,%i)\n", P->Par.me, I->I[is].Constraints[ia]->step, is, ia); 946 if ((I->I[is].Constraints[ia]->step != P->R.OuterStep) && (P->Par.me == 0)) 947 fprintf(stderr, "(%i) WARNING: constraint step %d does not match Outerstep %d for ion (%d,%d)\n", P->Par.me, I->I[is].Constraints[ia]->step, P->R.OuterStep, is, ia); 948 for (d=0; d<NDIM; d++) 949 U[d] = I->I[is].Constraints[ia]->U[d]; 950 RemoveConstraintItem(&I->I[is],ia); // and remove this first item from the list 951 } else { 952 FIon = &I->I[is].FIon[NDIM*ia]; 953 FIon_old = &I->I[is].FIon_old[NDIM*ia]; 954 //if (I->I[is].IMT[ia] == MoveIon) 955 for (d=0; d<NDIM; d++) { 956 U[d] += a * (FIon[d]+FIon_old[d]); 957 } 958 } 950 959 } 951 960 }
Note:
See TracChangeset
for help on using the changeset viewer.