Two conventions for reciprocalBasis
Former-commit-id: 698fca8df5631e704e4a33dd9871b780f542a130
This commit is contained in:
parent
c638c47192
commit
0b09921bb5
|
@ -213,18 +213,20 @@ def filledWS(b1, b2, density=10, scale=1.):
|
||||||
|
|
||||||
|
|
||||||
rot90_ = np.array([[0,1],[-1,0]])
|
rot90_ = np.array([[0,1],[-1,0]])
|
||||||
def reciprocalBasis(a1, a2):
|
def reciprocalBasis1(a1, a2):
|
||||||
a1, a2 = reduceBasisSingle(a1,a2) # this can be replaced with the vector version of reduceBasis when it is made
|
a1, a2 = reduceBasisSingle(a1,a2) # this can be replaced with the vector version of reduceBasis when it is made
|
||||||
prefac = 2*np.pi/np.sum(np.tensordot(a1, rot90_, axes=[-1,0]) * a2, axis=-1)
|
prefac = np.sum(np.tensordot(a1, rot90_, axes=[-1,0]) * a2, axis=-1)
|
||||||
b1 = np.tensordot(rot90_, a2, axes=[-1,-1]) * prefac
|
b1 = np.tensordot(rot90_, a2, axes=[-1,-1]) * prefac
|
||||||
b2 = np.tensordot(rot90_, a1, axes=[-1,-1]) * prefac
|
b2 = np.tensordot(rot90_, a1, axes=[-1,-1]) * prefac
|
||||||
return (b1, b2)
|
return np.array([b1, b2])
|
||||||
|
|
||||||
|
def reciprocalBasis2pi(*pargs):
|
||||||
|
return 2*np.pi*reciprocalBasis1(*pargs)
|
||||||
|
|
||||||
# TODO fill it with "points from reciprocal space" instead
|
# TODO fill it with "points from reciprocal space" instead
|
||||||
def filledWS2(b1,b2, density=10, scale=1.):
|
def filledWS2(b1,b2, density=10, scale=1.):
|
||||||
b1, b2 = reduceBasisSingle(b1,b2)
|
b1, b2 = reduceBasisSingle(b1,b2)
|
||||||
b1r, b2r = reciprocalBasis(b1,b2)
|
b1r, b2r = reciprocalBasis2pi(b1,b2)
|
||||||
b1l = np.linalg.norm(b1, ord=2)
|
b1l = np.linalg.norm(b1, ord=2)
|
||||||
b2l = np.linalg.norm(b2, ord=2)
|
b2l = np.linalg.norm(b2, ord=2)
|
||||||
b1rl = np.linalg.norm(b1r, ord=2)
|
b1rl = np.linalg.norm(b1r, ord=2)
|
||||||
|
|
Loading…
Reference in New Issue