Skip to content

Commit 53a4bc7

Browse files
committed
check for CompletePhononDos
1 parent 79e6a99 commit 53a4bc7

File tree

1 file changed

+32
-28
lines changed

1 file changed

+32
-28
lines changed

crystal_toolkit/components/phonon.py

Lines changed: 32 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -408,31 +408,32 @@ def get_ph_dos_traces(dos: CompletePhononDos, freq_range: tuple[float, float]):
408408
dos_traces.append(trace_tdos)
409409

410410
# Projected DOS
411-
colors = [
412-
"#d62728", # brick red
413-
"#2ca02c", # cooked asparagus green
414-
"#17becf", # blue-teal
415-
"#bcbd22", # curry yellow-green
416-
"#9467bd", # muted purple
417-
"#8c564b", # chestnut brown
418-
"#e377c2", # raspberry yogurt pink
419-
]
411+
if isinstance(dos, CompletePhononDos):
412+
colors = [
413+
"#d62728", # brick red
414+
"#2ca02c", # cooked asparagus green
415+
"#17becf", # blue-teal
416+
"#bcbd22", # curry yellow-green
417+
"#9467bd", # muted purple
418+
"#8c564b", # chestnut brown
419+
"#e377c2", # raspberry yogurt pink
420+
]
420421

421-
ele_dos = dos.get_element_dos() # project DOS onto elements
422-
for count, label in enumerate(ele_dos):
423-
spin_up_label = str(label)
424-
425-
trace = {
426-
"x": ele_dos[label].densities[dos_min:dos_max],
427-
"y": dos.frequencies[dos_min:dos_max],
428-
"mode": "lines",
429-
"name": spin_up_label,
430-
"line": dict(width=2, color=colors[count]),
431-
"xaxis": "x2",
432-
"yaxis": "y2",
433-
}
422+
ele_dos = dos.get_element_dos() # project DOS onto elements
423+
for count, label in enumerate(ele_dos):
424+
spin_up_label = str(label)
425+
426+
trace = {
427+
"x": ele_dos[label].densities[dos_min:dos_max],
428+
"y": dos.frequencies[dos_min:dos_max],
429+
"mode": "lines",
430+
"name": spin_up_label,
431+
"line": dict(width=2, color=colors[count]),
432+
"xaxis": "x2",
433+
"yaxis": "y2",
434+
}
434435

435-
dos_traces.append(trace)
436+
dos_traces.append(trace)
436437

437438
return dos_traces
438439

@@ -473,14 +474,17 @@ def get_figure(
473474

474475
# TODO: add logic to handle if bs_traces and/or dos_traces not present
475476

476-
rmax = max(
477-
[
478-
max(dos_traces[0]["x"]),
479-
abs(min(dos_traces[0]["x"])),
477+
rmax_list = [
478+
max(dos_traces[0]["x"]),
479+
abs(min(dos_traces[0]["x"])),
480+
]
481+
if len(dos_traces) > 1 and "x" in dos_traces[1] and dos_traces[1]["x"]:
482+
rmax_list += [
480483
max(dos_traces[1]["x"]),
481484
abs(min(dos_traces[1]["x"])),
482485
]
483-
)
486+
487+
rmax = max(rmax_list)
484488

485489
# -- Add trace data to plots
486490

0 commit comments

Comments
 (0)