schrodinger.application.jaguar.gui.tabs.theory_tab module

class schrodinger.application.jaguar.gui.tabs.theory_tab.TheoryTab(parent, input_selector=None)

Bases: schrodinger.application.jaguar.gui.tabs.base_tab.BaseTab

A tab for selecting the level of theory.

Variables:
  • method_changed (PyQt5.QtCore.pyqtSignal) – A signal emitted when the theory level or DFT functional is changed
  • spinTreatmentChanged (PyQt5.QtCore.pyqtSignal) – A signal emitted when the spin treatment changes. No arguments are emitted. Note that this signal is not emitted when the theory level changes from DFT to HF, even if that results in a change in the state of the spin unrestricted checkbox. The theory_level_changed signal will be emitted in those cases, however, and the state of the spin unrestricted checkbox can be queried via getSpinUnrestricted.
  • excited_state_changed (PyQt5.QtCore.pyqtSignal) – A signal emitted when the state of the ‘Excited state’ checkbox changes. No arguments are emitted. The state of the excited state checkbox can be queried via getExcitedState.
  • hamiltonianChanged (PyQt5.QtCore.pyqtSignal) – A signal emitted when the Hamiltonian changes. No arguments are emitted. The current Hamiltonian can be queried via getHamiltonian.
  • THEORY_INDICES (dict) – A dictionary of {index in the theory combo box: theory name}. Note that this combo box is populated in the ui file, so this dictionary must agree with the ui file.
  • THEORY_TO_INDEX (dict) – A dictionary of {theory name: index in the theory drop down} (i.e. the reverse of THEORY_INDICES)
  • CORE_LOCALIZATION_METHODS – An OrderedDict of {localization method: mmjag keyword value} used to populate the core localization combo box.
  • VALENCE_LOCALIZATION_METHODS (collections.OrderedDict) – An OrderedDict of {localization method: mmjag keyword value} used to populate the valence localization combo box.
  • RESONANCE – An OrderedDict of {resonance method: mmjag keyword value} used to populate the resonance combo box.
  • DFT_OTHER (tuple) –

    A tuple of DFT functionals user to populate the other functionals combo box. Each tuple element should be either:

    • a tuple of (name to display in the combo box, dftname keyword value)
    • a string if the name to display in the combo box is the same as the dftname keyword value
  • LMP2_KEYWORDS (frozenset) – A set of keywords that may only appear if the level of theory is LMP2. This set is used in loadSettings for validation purposes.
  • DFT_OR_HF_KEYWORDS (frozenset) – A set of keywords that may only appear if the level of theory is HF or DFT. This set is used in loadSettings for validation purposes.
  • DFT_GRID_KEYWORDS (frozenset) – A set of keywords that correspond to DFT grid density. This set is used in loadSettings for validation purposes.
  • DFT_ONLY_KEYWORDS (frozenset) – A set of keywords that may only appear if the level of theory is DFT. This set is used in loadSettings for validation purposes. Note that keywords in DFT_GRID_KEYWORDS do not need to be repeated here.
  • GRID_DENSITY (collections.OrderedDict) – An OrderedDict of {grid density name: (gdftmed value, gdftfine value, gdftgrad value)} used to populate the grid density combo box.
  • GRID_DENSITY_REV (collections.OrderedDict) – An OrderedDict of {(gdftmed value, gdftfine value, gdftgrad value): grid density name} (i.e. the reverse of GRID_DENSITY)
  • DFT_RECOMMENDED_FUNCS – An ordered dict of {category name: list of functionals} mapping the category name for recommended functionals to a list of DFT functional names in that category.
  • EXCITED_STATE_CB_TEXT (str) – Text that will be shown for the excited state check box.
NAME = 'Theory'
HELP_TOPIC = 'JAGUAR_TOPIC_THEORY_FOLDER'
UI_MODULES = (<module 'schrodinger.application.jaguar.gui.ui.theory_tab_ui' from '/scr/buildbot/savedbuilds/2018-2/NB/build-169/internal/lib/python3.6/site-packages/schrodinger/application/jaguar/gui/ui/theory_tab_ui.py'>,)
THEORY_COMBO_DFT = 0
THEORY_COMBO_HF = 1
THEORY_COMBO_LMP2 = 2
THEORY_INDICES = {0: 'DFT', 1: 'HF', 2: 'LMP2'}
THEORY_TO_INDEX = {'DFT': 0, 'HF': 1, 'LMP2': 2}
CORE_LOCALIZATION_METHODS = {'Boys': 1, 'None': 0, 'Pipek-Mezey': 2, 'Pipek-Mezey (alt)': 3}
VALENCE_LOCALIZATION_METHODS = {'Boys': 1, 'Pipek-Mezey': 2, 'Pipek-Mezey (alt)': 3}
RESONANCE = {'Full delocalization': 2, 'None': 0, 'Partial delocalization': 1}
DFT_OTHER = ('B1B95', 'B1B95-D3', 'B3LYP-LOC', 'B3P86', 'B3PW91-D3', 'B97-1', 'B97-D', 'B98', 'BHandH', 'BHandHLYP', 'BLYP-D3', 'BNL', 'BP86-D3', 'BP86-VWN5', 'BPW91', 'CAM-B3LYP-D3', 'GAM', ('Hartree-Fock-Slater', 'HFS'), 'HCTH407', 'HSE03', 'HSE06', 'LRC-BLYP', 'M05', 'M05-2X', 'M05-2X-D3', 'M05-D3', 'M06-D3', 'M06-HF', 'M06-HF-D3', 'M08-HX', 'M08-SO', 'M11-L', 'MN12-L', 'MN15-L', 'MN15', 'MPW1K', 'MPW1PW91', 'MPWB1K-D3', 'N12', 'O3LYP', 'OLYP-D3', 'PBE-D3', 'PBE-ulg', 'PBE0-D3', 'PW6B95', 'PWB6K', 'PWPW91', 'SB98', 'SVWN', 'uPBE', 'uPBE0', 'wPBE-D3', 'wPBEh', 'X3LYP', 'Xalpha')
LMP2_KEYWORDS = frozenset({'loclmp2v', 'mp2', 'ireson', 'loclmp2c', 'iheter'})
DFT_OR_HF_KEYWORDS = frozenset({'maxciit', 'iuhf', 'nroot', 'icis'})
DFT_GRID_KEYWORDS = frozenset({'gdftfine', 'gdftgrad', 'gdftmed'})
DFT_ONLY_KEYWORDS = frozenset({'idft', 'dftname'})
GRID_DENSITY = {'Fine': (-13, -13, -13), 'Maximum': (-14, -14, -14), 'Medium': (-10, -11, -12)}
GRID_DENSITY_REV = {(-14, -14, -14): 'Maximum', (-13, -13, -13): 'Fine', (-10, -11, -12): 'Medium'}
EXCITED_STATE_TYPES = {'Singlet': (1, 0), 'Singlet & Triplet': (1, 1), 'Triplet': (0, 1)}
HAMILTONIAN = {'Nonrelativistic': '', 'Scalar ZORA (relativistic)': 'zora-1c'}
EXCITED_STATE_CB_TEXT = 'Excited state (TDDFT)'
method_changed
spinTreatmentChanged
excited_state_changed
hamiltonianChanged
setup()

Perform tab specific initialization. This function should be defined in subclasses if initialization is needed.

getDefaultKeywords()

The mmjag default DFT functional name is “”, which would cause a HF level of theory. Instead, set a default functional of B3LYP.

Returns:A keyword dictionary with B3LYP set
Return type:dict
getTheoryLevel()

Get the current theory level

Returns:The current theory level. Will be one of: “DFT”, “HF”, or “LMP2”
Return type:str
getMethod()

Get the current method. If the level of theory is DFT, the method is the functional (ex. “B3LYP” or “PWB6K”). For all other levels of theory, the method is the level of theory (“HF” or “LMP2”).

Returns:The current method
Return type:str
getFunctional()

Get the current DFT functional (ex. “B3LYP” or “PWB6K”). If the theory level is not DFT, then None will be returned.

Returns:The current DFT functional or None
Return type:str or NoneType
getSpinTreatment()

Return whether spin unrestricted check box is checked or not

Returns:If DFT or HF is currently selected, returns the state of the spin unrestricted checkbox. If LMP2 is currently selected (which has no spin unrestricted check box), returns None.
Return type:bool or NoneType
getExcitedState()

Return whether excited state check box is checked or not

Returns:If DFT or HF is currently selected, returns the state of the excited state checkbox. If LMP2 is currently selected (which has no spin unrestricted check box), returns None.
Return type:bool or NoneType
getHamiltonian()

Return the current Hamiltonian setting

Returns:The current Hamiltonian setting
Return type:str
getMmJagKeywords()

Return all keywords that should be put into the mmjag handle. This function should be defined in subclasses.

Returns:All keywords that should be put into the mmjag handle
Return type:dict
Raises:schrodinger.application.jaguar.gui.utils.JaguarSettingError – If any settings are invalid.
loadSettings(jag_input)

Restore tab settings from mmjag keywords. This function should be defined in subclasses.

Parameters:jag_input (schrodinger.application.jaguar.input.JaguarInput) – The Jaguar settings to base the tab settings on
class schrodinger.application.jaguar.gui.tabs.theory_tab.TheoryTabNoSoZora(parent, input_selector=None)

Bases: schrodinger.application.jaguar.gui.tabs.theory_tab.TheoryTab

A theory tab that removes the Spin-orbit ZORA option. Used for panels involving optimizations.

HAMILTONIAN = {'Nonrelativistic': '', 'Scalar ZORA (relativistic)': 'zora-1c'}
class schrodinger.application.jaguar.gui.tabs.theory_tab.TheoryTabOptimization(parent, input_selector=None)

Bases: schrodinger.application.jaguar.gui.tabs.theory_tab.TheoryTabNoSoZora

This tab is used for ‘Optimization’ task.

EXCITED_STATE_TYPES = {'Singlet': (1, 0), 'Triplet': (0, 1)}
EXCITED_STATE_CB_TEXT = 'Optimize first excited state (TDDFT)'
class schrodinger.application.jaguar.gui.tabs.theory_tab.TheoryTabWithSoZora(parent, input_selector=None)

Bases: schrodinger.application.jaguar.gui.tabs.theory_tab.TheoryTab

A theory tab that includes Spin-orbit ZORA option. Used for Single Point Energy panel only!

HAMILTONIAN = {'Nonrelativistic': '', 'Scalar ZORA (relativistic)': 'zora-1c', 'Spin-orbit ZORA (relativistic)': 'zora-2c'}
class schrodinger.application.jaguar.gui.tabs.theory_tab.ComboRadioSelector(category_dict, parent=None)

Bases: PyQt5.QtWidgets.QWidget

This is compound widget for selecting categorized choices. The categories are presented in a combo box, and the choices are shown below as a set of radio buttons that is dynamically generated every time the category is changed.

When a category is selected, the previous choice for that category is remembered and re-selected.

The choiceChanged signal is emitted any time the current choice is changed. This includes when the category combo is changed by the user and when the current choice is changed programmatically via the setCurrentChoice() method.

choiceChanged
setData(category_dict)

Set the source data for this widget. See the constructor documentation for details on the category_dict argument.

onCategoryChanged(index)

Responds to changes in the combobox selection by updating radio buttons with the choices for the selected category.

Parameters:index (int) – index of selected category in combobox.
currentChoice()

Returns the currently selected choice as a string.

setCurrentChoice(choice)

Sets the currently selected choice, changing the category if necessary. If a choice appears in more than one category, the first occurrence will be selected.

Parameters:choice (str) – the choice to be selected
currentCategory()

Returns the currently selected category.

class schrodinger.application.jaguar.gui.tabs.theory_tab.DFTComboRadioSelector(category_dict, parent=None)

Bases: schrodinger.application.jaguar.gui.tabs.theory_tab.ComboRadioSelector

Customized ComboRadioSelector which adds on the radio button for enabling and disabling the combobox and radio buttons.

setSelectorEnabled(state=True)

Overrides the parent method because we don’t want to disable the radio button itself when it gets de-selected.