Replies: 3 comments 2 replies
-
This looks wrong. You have a 2d unit cell in the Meep calculation, which will give you additional eigenvalues due to band-folding effects. I once asked about something like this as an exam question, actually see problem 2 from my 2007 midterm and solutions thereof. |
Beta Was this translation helpful? Give feedback.
-
(Note also that |
Beta Was this translation helpful? Give feedback.
-
Something weird is going on here because the LDOS should always be ≥ 0. |
Beta Was this translation helpful? Give feedback.
-
Dear All,
I am puzzled with the output of dft_ldos. Please find below the band diagrams of a Bragg stack calculated using MPB and MEEP, DOS spectrum and the python code. I am using one of example codes supplied with MEEP here to demonstrate the problem.
The band diagram as calculated using MPB
As calculated with MEEP
The spectrum of density of states (DOS) calculated with MEEP
ABS(DOS) if you want to see it
The bands calculated with MPB and MEEP agree well. However, the DOS spectrum indicates states in the band gap from 0.22 to 0.43. There is also a peak in DOS at f=0.4. I would not expect to see any states in the band gap.
Am I calculating/plotting the DOS wrong or its is time to review my understanding the theory of DOS?
Please feel free to point me towards a suitable source of information to save your time.
best wishes,
pavlo
`import meep as mp
from meep import mpb
import matplotlib.pyplot as plt
import numpy as np
n_lo = 1.0
n_hi = 3.0
w_hi = n_lo / (n_hi + n_lo) # a quarter_wave stack
geometry_lattice = mp.Lattice(size=mp.Vector3(1)) # 1d cell
default_material = mp.Medium(index=n_lo)
geometry = mp.Cylinder(material=mp.Medium(index=n_hi), center=mp.Vector3(), axis=mp.Vector3(1),
radius=mp.inf, height=w_hi)
kx = 0.5
k_points = mp.interpolate(50, [mp.Vector3(), mp.Vector3(kx)])
resolution = 64
num_bands = 3
def main():
if name == 'main':
main()`
Beta Was this translation helpful? Give feedback.
All reactions