File:BlochWaves1D.svg

From formulasearchengine
Jump to navigation Jump to search

Original file(SVG file, nominally 540 × 450 pixels, file size: 75 KB)

This file is from Wikimedia Commons and may be used by other projects. The description on its file description page there is shown below.

Summary

Description
English: A Bloch wave (bottom) can be broken up into the product of a periodic function (top) and a plane-wave (center). Blue is real part, red is imaginary part. The left side and right side represent the same Bloch wave broken up in two different ways, involving the wave vector k1 (left) or k2 (right). The difference (k1-k2) is a reciprocal lattice vector.
Español: Una onda de Bloch (abajo) puede expresarse como el producto de una función periódica (arriba) y una onda plana (medio). La parte real es azul, y la parte imaginaria en rojo. Los lados izquierdo y derecho representan la misma onda de Bloch expresada de dos formas diferentes, involucrando los vectores de onda k1 (izquierda) o k2 (derecha). La diferencia (k1-k2) es un vector de la red recíproca.
Date
Source Own work
Author Sbyrnes321
SVG development
InfoField
 
The SVG code is valid.
 
This plot was created with Matplotlib.
Source code
InfoField

Python code

"""
Steven Byrnes, 2013. This code is released to the public domain.

Written using Python 2.7, Matplotlib 1.2.1
"""
from __future__ import division
import math
from math import pi
import matplotlib.pyplot as plt
import numpy as np

def u1(x):
    """a funny looking function with period 1"""
    fpart = math.modf(x)[0]
    d = abs(fpart - 0.5)
    return ((1j * math.cos(2 * pi * x + 2) + 1 / (d + 0.3) - 3)) * (1+1j)

x_list = np.linspace(0,5,num=5000)
k1 = 1.8
k2 = k1 - 2 * pi

u1_list = np.array([u1(x) for x in x_list])
u1_re_list = u1_list.real
u1_im_list = u1_list.imag

u2_list = u1_list * np.exp(2 * pi * 1j * x_list)
u2_re_list = u2_list.real
u2_im_list = u2_list.imag

exp1_list = np.exp(1j * k1 * x_list)
exp1_re_list = exp1_list.real
exp1_im_list = exp1_list.imag

exp2_list = np.exp(1j * k2 * x_list)
exp2_re_list = exp2_list.real
exp2_im_list = exp2_list.imag

psi1_list = u1_list * exp1_list
psi1_re_list = psi1_list.real
psi1_im_list = psi1_list.imag

psi2_list = u2_list * exp2_list
psi2_re_list = psi2_list.real
psi2_im_list = psi2_list.imag

assert max(abs(psi1_list - psi2_list)) < 1e-10

fig, ((ax1, ax2), (ax3, ax4), (ax5, ax6)) = plt.subplots(3, 2, sharex=True,
                                                         figsize=(6,5))
ax1.set_title('$u_1(x)$')
ax1.plot(x_list, u1_re_list, 'b', x_list, u1_im_list, 'r', linewidth=2)
ax2.set_title('$u_2(x)$')
ax2.plot(x_list, u2_re_list, 'b', x_list, u2_im_list, 'r', linewidth=2)
ax3.set_title('$e^{i k_1 x}$')
ax3.plot(x_list, exp1_re_list, 'b', x_list, exp1_im_list, 'r', linewidth=2)
ax4.set_title('$e^{i k_2 x}$')
ax4.plot(x_list, exp2_re_list, 'b', x_list, exp2_im_list, 'r', linewidth=2)
ax5.set_title('$\psi(x) = u_1(x) e^{i k_1 x}$')
ax5.plot(x_list, psi1_re_list, 'b', x_list, psi1_im_list, 'r', linewidth=2)
ax6.set_title('$\psi(x) = u_2(x) e^{i k_2 x}$')
ax6.plot(x_list, psi2_re_list, 'b', x_list, psi2_im_list, 'r', linewidth=2)
for ax in [ax1, ax2, ax3, ax4, ax5, ax6]:
    ax.xaxis.grid(which='major', linestyle='-')
    ax.xaxis.set_ticklabels([])
    ax.yaxis.set_visible(False)
    ax.axhline(y=0, color='k')
for ax in [ax1, ax2]:
    ax.set_ylim(-3, 3)
fig.subplots_adjust(left=0.05, right=0.95, bottom=0.02, top=0.94, hspace=0.3)
fig.savefig('/home/steve/Desktop/out.svg')

Licensing

I, the copyright holder of this work, hereby publish it under the following license:
Creative Commons CC-Zero This file is made available under the Creative Commons CC0 1.0 Universal Public Domain Dedication.
The person who associated a work with this deed has dedicated the work to the public domain by waiving all of their rights to the work worldwide under copyright law, including all related and neighboring rights, to the extent allowed by law. You can copy, modify, distribute and perform the work, even for commercial purposes, all without asking permission.

Captions

Add a one-line explanation of what this file represents

Items portrayed in this file

depicts

22 September 2013

image/svg+xml

3fd90e5b2549d925d26421b668b1c2ad9f3c1b1a

77,025 byte

450 pixel

540 pixel

File history

Click on a date/time to view the file as it appeared at that time.

Date/TimeThumbnailDimensionsUserComment
current03:54, 23 September 2013Thumbnail for version as of 03:54, 23 September 2013540 × 450 (75 KB)wikimediacommons>Sbyrnes321User created page with UploadWizard

There are no pages that use this file.