81 |
|
end function getDipoleMoment |
82 |
|
|
83 |
|
subroutine do_dipole_pair(atom1, atom2, d, rij, r2, sw, vpair, fpair, & |
84 |
< |
pot, u_l, f, t, do_pot) |
84 |
> |
pot, eFrame, f, t, do_pot) |
85 |
|
|
86 |
|
logical :: do_pot |
87 |
|
|
95 |
|
|
96 |
|
real( kind = dp ) :: pot |
97 |
|
real( kind = dp ), dimension(3) :: d, fpair |
98 |
< |
real( kind = dp ), dimension(3,nLocal) :: u_l |
98 |
> |
real( kind = dp ), dimension(9,nLocal) :: eFrame |
99 |
|
real( kind = dp ), dimension(3,nLocal) :: f |
100 |
|
real( kind = dp ), dimension(3,nLocal) :: t |
101 |
|
|
111 |
|
|
112 |
|
#ifdef IS_MPI |
113 |
|
me1 = atid_Row(atom1) |
114 |
< |
ul1(1) = u_l_Row(1,atom1) |
115 |
< |
ul1(2) = u_l_Row(2,atom1) |
116 |
< |
ul1(3) = u_l_Row(3,atom1) |
114 |
> |
ul1(1) = eFrame_Row(7,atom1) |
115 |
> |
ul1(2) = eFrame_Row(8,atom1) |
116 |
> |
ul1(3) = eFrame_Row(9,atom1) |
117 |
|
|
118 |
|
me2 = atid_Col(atom2) |
119 |
< |
ul2(1) = u_l_Col(1,atom2) |
120 |
< |
ul2(2) = u_l_Col(2,atom2) |
121 |
< |
ul2(3) = u_l_Col(3,atom2) |
119 |
> |
ul2(1) = eFrame_Col(7,atom2) |
120 |
> |
ul2(2) = eFrame_Col(8,atom2) |
121 |
> |
ul2(3) = eFrame_Col(9,atom2) |
122 |
|
#else |
123 |
|
me1 = atid(atom1) |
124 |
< |
ul1(1) = u_l(1,atom1) |
125 |
< |
ul1(2) = u_l(2,atom1) |
126 |
< |
ul1(3) = u_l(3,atom1) |
124 |
> |
ul1(1) = eFrame(7,atom1) |
125 |
> |
ul1(2) = eFrame(8,atom1) |
126 |
> |
ul1(3) = eFrame(9,atom1) |
127 |
|
|
128 |
|
me2 = atid(atom2) |
129 |
< |
ul2(1) = u_l(1,atom2) |
130 |
< |
ul2(2) = u_l(2,atom2) |
131 |
< |
ul2(3) = u_l(3,atom2) |
129 |
> |
ul2(1) = eFrame(7,atom2) |
130 |
> |
ul2(2) = eFrame(8,atom2) |
131 |
> |
ul2(3) = eFrame(9,atom2) |
132 |
|
#endif |
133 |
|
|
134 |
|
mu1 = MomentMap(me1)%dipole_moment |