1c 2c intermediates involving moments and separation distance 3c 4 dir = dix*xr + diy*yr + diz*zr 5 qix = qixx*xr + qixy*yr + qixz*zr 6 qiy = qixy*xr + qiyy*yr + qiyz*zr 7 qiz = qixz*xr + qiyz*yr + qizz*zr 8 qir = qix*xr + qiy*yr + qiz*zr 9 dkr = dkx*xr + dky*yr + dkz*zr 10 qkx = qkxx*xr + qkxy*yr + qkxz*zr 11 qky = qkxy*xr + qkyy*yr + qkyz*zr 12 qkz = qkxz*xr + qkyz*yr + qkzz*zr 13 qkr = qkx*xr + qky*yr + qkz*zr 14 dik = dix*dkx + diy*dky + diz*dkz 15 qik = qix*qkx + qiy*qky + qiz*qkz 16 diqk = dix*qkx + diy*qky + diz*qkz 17 dkqi = dkx*qix + dky*qiy + dkz*qiz 18 qiqk = 2.0d0*(qixy*qkxy+qixz*qkxz+qiyz*qkyz) 19 & + qixx*qkxx + qiyy*qkyy + qizz*qkzz 20c 21c extra intermediates needed for polarization energy 22c 23 diu = dix*ukx + diy*uky + diz*ukz 24 qiu = qix*ukx + qiy*uky + qiz*ukz 25 uir = uix*xr + uiy*yr + uiz*zr 26 dku = dkx*uix + dky*uiy + dkz*uiz 27 qku = qkx*uix + qky*uiy + qkz*uiz 28 ukr = ukx*xr + uky*yr + ukz*zr 29c 30c additional intermediates involving moments and distance 31c 32 dirx = diy*zr - diz*yr 33 diry = diz*xr - dix*zr 34 dirz = dix*yr - diy*xr 35 dkrx = dky*zr - dkz*yr 36 dkry = dkz*xr - dkx*zr 37 dkrz = dkx*yr - dky*xr 38 dikx = diy*dkz - diz*dky 39 diky = diz*dkx - dix*dkz 40 dikz = dix*dky - diy*dkx 41 qirx = qiz*yr - qiy*zr 42 qiry = qix*zr - qiz*xr 43 qirz = qiy*xr - qix*yr 44 qkrx = qkz*yr - qky*zr 45 qkry = qkx*zr - qkz*xr 46 qkrz = qky*xr - qkx*yr 47 qikx = qky*qiz - qkz*qiy 48 qiky = qkz*qix - qkx*qiz 49 qikz = qkx*qiy - qky*qix 50 qixk = qixx*qkx + qixy*qky + qixz*qkz 51 qiyk = qixy*qkx + qiyy*qky + qiyz*qkz 52 qizk = qixz*qkx + qiyz*qky + qizz*qkz 53 qkxi = qkxx*qix + qkxy*qiy + qkxz*qiz 54 qkyi = qkxy*qix + qkyy*qiy + qkyz*qiz 55 qkzi = qkxz*qix + qkyz*qiy + qkzz*qiz 56 qikrx = qizk*yr - qiyk*zr 57 qikry = qixk*zr - qizk*xr 58 qikrz = qiyk*xr - qixk*yr 59 qkirx = qkzi*yr - qkyi*zr 60 qkiry = qkxi*zr - qkzi*xr 61 qkirz = qkyi*xr - qkxi*yr 62 diqkx = dix*qkxx + diy*qkxy + diz*qkxz 63 diqky = dix*qkxy + diy*qkyy + diz*qkyz 64 diqkz = dix*qkxz + diy*qkyz + diz*qkzz 65 dkqix = dkx*qixx + dky*qixy + dkz*qixz 66 dkqiy = dkx*qixy + dky*qiyy + dkz*qiyz 67 dkqiz = dkx*qixz + dky*qiyz + dkz*qizz 68 diqkrx = diqkz*yr - diqky*zr 69 diqkry = diqkx*zr - diqkz*xr 70 diqkrz = diqky*xr - diqkx*yr 71 dkqirx = dkqiz*yr - dkqiy*zr 72 dkqiry = dkqix*zr - dkqiz*xr 73 dkqirz = dkqiy*xr - dkqix*yr 74 dqikx = diy*qkz - diz*qky + dky*qiz - dkz*qiy 75 - 2.0d0*(qixy*qkxz+qiyy*qkyz+qiyz*qkzz 76 -qixz*qkxy-qiyz*qkyy-qizz*qkyz) 77 dqiky = diz*qkx - dix*qkz + dkz*qix - dkx*qiz 78 - 2.0d0*(qixz*qkxx+qiyz*qkxy+qizz*qkxz 79 -qixx*qkxz-qixy*qkyz-qixz*qkzz) 80 dqikz = dix*qky - diy*qkx + dkx*qiy - dky*qix 81 - 2.0d0*(qixx*qkxy+qixy*qkyy+qixz*qkyz 82 -qixy*qkxx-qiyy*qkxy-qiyz*qkxz) 83