{# Landing page: filterable/sortable list of systems (see static/javascript/home.js for the client-side search/sort). #} {% extends "base.html" %} {% block title %}PhysikMDB - Home{% endblock %} {% block meta_description %} {% endblock %} {% block extra_css %} {% endblock %} {% block javascript %} {% endblock %} {% block header %}

Molecular Orbital Database

{% endblock %} {% block content %} {% set is_systems = systems is defined %}
Reset Filters {% if is_systems %} {% else %} {% endif %}
{# home.css hides #systems-section until home.js marks the page ready, so a large table's column widths settle before the reader sees them. Without JS that never happens, so show it unconditionally here instead. #}
{# Every column is rendered for every row; the picker (home.js) only toggles `hidden`, so a hidden column stays searchable, sortable and in the DOM. `data-column` is the column key - the same word as the cells' class. #} {# One header row for both views: they differ only in what a row stands for, so the scope clause is set once instead of duplicating every column. #} {% set scope = 'the best available calculation for this molecule' if is_systems else 'this calculation' %} {% set casida_title = 'Some calculation of this molecule has linear-response TD-DFT (Casida) excited states.' if is_systems else 'Has linear-response TD-DFT (Casida) excited states. Hover the tick for how many.' %} {% set casida_help = 'A tick means excited states have been computed for this molecule - not necessarily by the calculation the row opens, which is whichever one ranks best. Casida only lists those calculations themselves, each linking to its exciton page.' if is_systems else 'A tick means this calculation also solved for excited states, so it has an exciton page. Click the row to open the calculation, then switch to Excitons in the header.' %} {# One loop for both views: a systems row carries the id of the calculation it was ranked from, a calculations row is that calculation. #} {% for row in (systems if is_systems else calculations) %} {% set calculation_id = row.calculation_id if is_systems else row.id %} {% set row_url = '/' ~ calculation_id ~ ('/exciton' if filters.calculation_type == 'casida' else '') %} {% endfor %}
{{ 'System' if is_systems else 'Calculation' }} Formula Full Name Short Name Charge Spin XC Basis Code Gap (eV) IP (eV) EA (eV)
{{ row.id }} {{ row.formula | subscript }} {{ row.full_name or '' }} {{ row.short_name or '' }} {{ "%.0f" | format(row.charge) if row.charge is not none else '' }} {{ row.spin }} {{ row.xc_functional or '' }} {{ row.basis_set or '' }} {{ row.code or '' }} {{ "%.3f" | format(row.fundamental_gap | hartree_to_ev) }} {{ "%.3f" | format(row.ionisation_potential | hartree_to_ev) }} {{ "%.3f" | format(row.electron_affinity | hartree_to_ev) }}
{% endblock %}