| 30 |
|
|
| 31 |
|
c_potential_E = 0.0; |
| 32 |
|
|
| 33 |
– |
#ifdef IS_MPI |
| 34 |
– |
sprintf( checkPointMsg, |
| 35 |
– |
"Succesfull creation of Ghost bend\n" ); |
| 36 |
– |
MPIcheckPoint(); |
| 37 |
– |
#endif // is_mpi |
| 38 |
– |
|
| 33 |
|
} |
| 34 |
|
|
| 35 |
|
|
| 48 |
|
double daxi, dayi, dazi, daxk, dayk, dazk, daxj, dayj, dazj; |
| 49 |
|
double u[3]; |
| 50 |
|
|
| 51 |
< |
dx = c_p_a->getX() - atomB->getX(); |
| 52 |
< |
dy = c_p_a->getY() - atomB->getY(); |
| 53 |
< |
dz = c_p_a->getZ() - atomB->getZ(); |
| 54 |
< |
|
| 51 |
> |
double aR[3], bR[3]; |
| 52 |
> |
double aF[3], bF[3], bTrq[3]; |
| 53 |
> |
|
| 54 |
> |
c_p_a->getPos( aR ); |
| 55 |
> |
c_p_b->getPos( bR ); |
| 56 |
> |
|
| 57 |
> |
|
| 58 |
> |
dx = aR[0] - bR[0]; |
| 59 |
> |
dy = aR[1] - bR[1]; |
| 60 |
> |
dz = aR[2] - bR[2]; |
| 61 |
> |
|
| 62 |
|
atomB->getU(u); |
| 63 |
|
|
| 64 |
|
gx = u[0]; |
| 133 |
|
dayj = -dayi - dayk; |
| 134 |
|
dazj = -dazi - dazk; |
| 135 |
|
|
| 136 |
< |
c_p_a->addFx(daxi); |
| 137 |
< |
c_p_a->addFy(dayi); |
| 138 |
< |
c_p_a->addFz(dazi); |
| 136 |
> |
aF[0] = daxi; |
| 137 |
> |
aF[1] = dayi; |
| 138 |
> |
aF[2] = dazi; |
| 139 |
|
|
| 140 |
< |
atomB->addFx(daxj + daxk); |
| 141 |
< |
atomB->addFy(dayj + dayk); |
| 142 |
< |
atomB->addFz(dazj + dazk); |
| 140 |
> |
bF[0] = daxj + daxk; |
| 141 |
> |
bF[1] = dayj + dayk; |
| 142 |
> |
bF[2] = dazj + dazk; |
| 143 |
|
|
| 144 |
< |
atomB->addTx(gy*dazk - gz*dayk); |
| 145 |
< |
atomB->addTy(gz*daxk - gx*dazk); |
| 146 |
< |
atomB->addTz(gx*dayk - gy*daxk); |
| 147 |
< |
|
| 144 |
> |
bTrq[0] = gy*dazk - gz*dayk; |
| 145 |
> |
bTrq[1] = gz*daxk - gx*dazk; |
| 146 |
> |
bTrq[2] = gx*dayk - gy*daxk; |
| 147 |
> |
|
| 148 |
> |
|
| 149 |
> |
c_p_a->addFrc( aF ); |
| 150 |
> |
atomB->addFrc( bF ); |
| 151 |
> |
atomB->addTrq( bTrq ); |
| 152 |
> |
|
| 153 |
|
return; |
| 154 |
|
} |
| 155 |
|
|