本文整理汇总了Python中gpaw.grid_descriptor.GridDescriptor.calculate_dipole_moment方法的典型用法代码示例。如果您正苦于以下问题:Python GridDescriptor.calculate_dipole_moment方法的具体用法?Python GridDescriptor.calculate_dipole_moment怎么用?Python GridDescriptor.calculate_dipole_moment使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类gpaw.grid_descriptor.GridDescriptor
的用法示例。
在下文中一共展示了GridDescriptor.calculate_dipole_moment方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: XC
# 需要导入模块: from gpaw.grid_descriptor import GridDescriptor [as 别名]
# 或者: from gpaw.grid_descriptor.GridDescriptor import calculate_dipole_moment [as 别名]
c_LL = np.identity(9, float)
a_Lg = gd.zeros(9)
nspins = 2
xc = XC('LDA')
for soft in [False]:
s = create_setup('Cu', xc, lmax=2)
ghat_l = s.ghat_l
ghat_Lg = create_localized_functions(ghat_l, gd, (0.54321, 0.5432, 0.543))
a_Lg[:] = 0.0
ghat_Lg.add(a_Lg, c_LL)
for l in range(3):
for m in range(2 * l + 1):
L = l**2 + m
a_g = a_Lg[L]
Q0 = gd.integrate(a_g) / sqrt(4 * pi)
Q1_m = -gd.calculate_dipole_moment(a_g) / sqrt(4 * pi / 3)
print Q0
if l == 0:
Q0 -= 1.0
Q1_m[:] = 0.0
elif l == 1:
Q1_m[(m + 1) % 3] -= 1.0
print soft, l, m, Q0, Q1_m
assert abs(Q0) < 2e-6
assert np.alltrue(abs(Q1_m) < 3e-5)
b_Lg = np.reshape(a_Lg, (9, -1))
S_LL = np.inner(b_Lg, b_Lg)
gd.comm.sum(S_LL)
S_LL.ravel()[::10] = 0.0
print max(abs(S_LL).ravel())
assert max(abs(S_LL).ravel()) < 3e-4