{% extends "base.html" %} {% block title %}PhysikMDB - Excitons of {{ system.short_name }} ({{ calculation.xc_functional }} / {{ calculation.basis_set }}) {% endblock %} {% block head %} {{ super() }} {% endblock %} {% block extra_css %} {% endblock %} {% block javascript %} {# Same loading model as entry.html: uPlot/THREE stay classic scripts exposing globals, the app's own code is ES modules and pulls in what it needs. #} {% endblock %} {% block header %}

{{ system.full_name }} ({{ system.formula | subscript }}) - excitons of #{{ calculation.id }}

{{ calculation.xc_functional }} {{ calculation.basis_set }} {{ excitations | length }} roots {% with view = 'excitons' %}{% include "_header_view_switch.html" %}{% endwith %}
{% endblock %} {% block content %}
{# Transitions #}

TRANSITIONS

{# The real-space view has no panel of its own here: it is the momentum panel's third view, behind the Real button in its header. #} {% with subheader_id = 'momentum-dyson', ekin_strip = true, real_space_view = true, hole_view_toggle = true %} {% include "_panel_momentum.html" %} {% endwith %} {# Excitons #}

EXCITONS / HOLES

{# Column widths live on the colgroup, not the cells: the table is table-layout: fixed (base.css), which takes its widths from the first row - and the first row is an exciton row, while the hole rows below it carry different content. #} {% for state in excitations %} {% endfor %}
S{{ state.idx }}{% if state.multiplicity == 3.0 %}T{% endif %}{% if not state.tda %}RPA{% endif %} {{ state.symmetry or '—' | safe }} {{ '%.3f' | format(state.oscillator_strength or 0) }} {{ '%.3f' | format(state.energy_ev) }} eV
{# Every root, so the absorption spectrum is complete on first paint without waiting for excitons.json (src/app.py:exciton) #} {# The ground-state valence window, for the E_kin strip's grey overlay #}
{# Info Area #}
{% include "_panel_info_pane.html" %} {% with extra_control_tab = {'group': 'exciton', 'label': 'Exciton', 'title': 'Which map an exciton draws, and which transitions go into it'}, extra_control_groups = '_panel_controls_exciton.html', allow_nm_unit = true, kpath = true, dipole = true %} {% include "_panel_controls.html" %} {% endwith %} {% include "_panel_calculations.html" %} {% include "_panel_export.html" %}
{# Absorption Spectrum #}

ABSORPTION SPECTRUM

{# The panel shows two different quantities, so its name, its tooltip and its ? badge change with the view. The spectrum's are on the heading above; the profile's ride here, so all four stay in the template. #}
{% endblock %}