The general expression for the dynamical matrix for the dipolar fluctuation model
(DFM) is [6]:
USE_DFM=1
Then one has to fill in the entries for Tens_P, Tens_S, Tens_T.
Tensor K is scaled to by rescaling S and T [6].
The following is an example for hcp Cobalt :
# XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX # Tensorial Interactions between 'Co_G0' and 'Co_G0' # Shell N0 going from 0.996332 to 0.996332 like Co1 in 0 and Co0 in 1 0 1 # Shell N1 going from 1.000000 to 1.000000 like Co1 in 0 and Co1 in -1 1 0 # Shell N2 going from 1.411622 to 1.411622 like Co1 in 0 and Co0 in -1 1 0 # Shell N3 going from 1.624000 to 1.624000 like Co1 in 0 and Co1 in 0 0 1 # Shell N4 going from 1.729936 to 1.729936 like Co1 in 0 and Co0 in 0 2 1 # Shell N5 going from 1.732051 to 1.732051 like Co1 in 0 and Co1 in -2 1 0 # Shell N6 going from 1.907191 to 1.907191 like Co1 in 0 and Co1 in 0 1 -1 # Shell N7 going from 2.000000 to 2.000000 like Co1 in 0 and Co1 in 0 2 0 hcp_a=2.51 hcp_c=1.624*hcp_a (a1,b1,g1,d1, a2,e2,b2,g2, a3,b3,g3,d3)= [0]*12 (a1,b1,g1, a2,b2,g2,e2, a3,b3,g3)= ( 11925.5, -1267.4, 36831.4, -1819.8, 40089.8, 2171.9, 1502.5, 779.8, 455.2, -3507.4) Tens_P['Co_G0']['Co_G0']=[ [Numeric.array([ hcp_a/math.sqrt(3.0) , 0, hcp_c/2.0 ] ), Numeric.array([[a1,0 ,d1], [0 ,b1,0 ], [d1,0 ,g1]]) ], [Numeric.array([ 0 , hcp_a , 0 ] ), Numeric.array([[a2 ,e2 ,0], [-e2 ,b2 ,0 ], [ 0 ,0 ,g2 ]]) ], [Numeric.array([ -2*hcp_a/math.sqrt(3.0) , 0, hcp_c/2.0 ] ), Numeric.array([[a3 ,0 ,d3], [0 ,b3 ,0 ], [d3 ,0 ,g3 ]]) ] ]
one can see that the general form of Tens_P is given, for each shell, by a typical site-to-site vector and the corresponding tensor. The other tensors for the other interaction of the same shell are found by similitude transforming according to the simmetry group of the crystal. Tens_S and Tens_T are specified in analogous way.