schrodinger.application.jaguar.gui.tabs.theory_tab module¶
- class schrodinger.application.jaguar.gui.tabs.theory_tab.ExcitedStateInfo(excited_state, excited_state_mode, singlet, triplet)¶
Bases:
tuple
- excited_state¶
Alias for field number 0
- excited_state_mode¶
Alias for field number 1
- singlet¶
Alias for field number 2
- triplet¶
Alias for field number 3
- class schrodinger.application.jaguar.gui.tabs.theory_tab.TheoryTab(parent, input_selector=None)¶
Bases:
schrodinger.application.jaguar.gui.tabs.base_tab.LoadsTheoryMixin
,schrodinger.application.jaguar.gui.tabs.base_tab.BaseTab
A tab for selecting the level of theory.
- Variables
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 viagetSpinUnrestricted
.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 viagetExcitedState
.hamiltonianChanged (
PyQt5.QtCore.pyqtSignal
) – A signal emitted when the Hamiltonian changes. No arguments are emitted. The current Hamiltonian can be queried viagetHamiltonian
.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.
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 inDFT_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 ofGRID_DENSITY
)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/2024-4/NB/build-117/internal/lib/python3.11/site-packages/schrodinger/application/jaguar/gui/ui/theory_tab_ui.py'>,)¶
- THEORY_COMBO_DFT = 0¶
- THEORY_COMBO_HF = 1¶
- THEORY_COMBO_LMP2 = 2¶
- THEORY_COMBO_RIMP2 = 3¶
- THEORY_INDICES = {0: 'DFT', 1: 'HF', 2: 'LMP2', 3: 'RI-MP2'}¶
- THEORY_TO_INDEX = {'DFT': 0, 'HF': 1, 'LMP2': 2, 'RI-MP2': 3}¶
- 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}¶
- LMP2_KEYWORDS = frozenset({'iheter', 'ireson', 'loclmp2c', 'loclmp2v', 'mp2'})¶
- DFT_OR_HF_KEYWORDS = frozenset({'icis', 'iuhf', 'maxciit', 'nroot'})¶
- DFT_GRID_KEYWORDS = frozenset({'gdftfine', 'gdftgrad', 'gdftmed'})¶
- DFT_ONLY_KEYWORDS = frozenset({'dftname', 'idft'})¶
- 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)'¶
- spinTreatmentChanged¶
pyqtSignal(*types, name: str = …, revision: int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- excited_state_changed¶
pyqtSignal(*types, name: str = …, revision: int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- hamiltonianChanged¶
pyqtSignal(*types, name: str = …, revision: int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- setup()¶
Perform tab specific initialization. This function should be defined in subclasses if initialization is needed.
- getSpinTreatment(theory_level)¶
Return whether spin unrestricted check box is checked or not
- param theory_level
Theory level to get spin treatment for.
- type theory_level
str
- Returns
The appropriate spin treatment for the specified theory level. :rtype: bool or NoneType
- getExcitedState()¶
Return whether excited state check box is checked or not
- Returns
If DFT or HF is currently selected, returns ExcitedStateInfo object that contains the state of the excited state checkbox, excited state mode (ITDA) and whether excited state type ‘Singlet’ is selected. If LMP2 is currently selected (which has no spin unrestricted check box), ExcitedStateInfo values are None.
- Return type
- getTheoryLevel()¶
Return the current theory level being used for tab settings.
- Returns
The current theory level
- Return type
str
- setTheoryLevel(theory_level)¶
Set the current level of theory.
- Parameters
theory_level (str) – Level of theory to be set. Should be one of THEORY_DFT, THEORY_HF, THEORY_LMP2 or THEORY_RIMP2
- getHamiltonian()¶
Return the current Hamiltonian setting
- Returns
The current Hamiltonian setting
- Return type
str
- getMmJagKeywords(theory_level=None)¶
Return a dictionary of Jaguar keywords.
- Parameters
theory_level (str) – Theory level to get the keywords for. If not specified, settings will be returned for the current theory_combo selection.
- 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.ProvidesTheoryTheoryTab(parent, input_selector=None)¶
Bases:
schrodinger.application.jaguar.gui.tabs.base_tab.ProvidesTheoryMixin
,schrodinger.application.jaguar.gui.tabs.theory_tab.TheoryTab
A theory tab that sets theory level/method in addition to theory settings.
- 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-D3.
- Returns
Dictionary of default keywords for this tab.
- Return type
dict
- 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
- getMmJagKeywords()¶
Return a dictionary of Jaguar keywords.
- Parameters
theory_level (str) – Theory level to get the keywords for. If not specified, settings will be returned for the current theory_combo selection.
- getTheoryLevel()¶
Get the current theory level
- Returns
The current theory level. Will be one of: “DFT”, “HF”, “LMP2”, “RIMP2” or “Mixed”
- Return type
str
- getAllUsedTheoryLevels()¶
- Returns
A tuple of all theory levels used
- Return type
tuple
- getTheoryLevelForEid(eid)¶
Return the theory level set for the specified entry ID.
- Parameters
eid (int) – Entry ID to get theory level for.
- Returns
The theory level set for this entry ID.
- Return type
str
- getMethodForEid(eid)¶
Return the method set for the specified entry ID.
- Parameters
eid (int) – Entry ID to get the method for
- Returns
Method for this entry ID
- Return type
str
- getCommonMethod()¶
- Returns
If all entries have the same method set, return the method. Otherwise return None
- Return type
str or None
- getCommonTheoryLevel()¶
- Returns
If all entries have the same theory level set, return the theory. level Otherwise return None
- Return type
str or None
- class schrodinger.application.jaguar.gui.tabs.theory_tab.ProvidesTheoryTheoryTabNoSoZora(parent, input_selector=None)¶
Bases:
schrodinger.application.jaguar.gui.tabs.theory_tab.ProvidesTheoryTheoryTab
A ProvidesTheoryTheoryTab that removes the Spin-orbit ZORA option.
- HAMILTONIAN = {'Nonrelativistic': '', 'Scalar ZORA (relativistic)': 'zora-1c'}¶
- 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:
PyQt6.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¶
pyqtSignal(*types, name: str = …, revision: int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- __init__(category_dict, parent=None)¶
Initializes the widget with source data.
- Parameters
category_dict (dict of str mapped to list of str) – a dictionary mapping category name to a list of strings representing all the choices for that category. To specify an ordering for categories in the combobox, use an OrderedDict.
- 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 in upper case
- 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.
- __init__(category_dict, parent=None)¶
Initializes the widget with source data.
- Parameters
category_dict (dict of str mapped to list of str) – a dictionary mapping category name to a list of strings representing all the choices for that category. To specify an ordering for categories in the combobox, use an OrderedDict.
- setSelectorEnabled(state=True)¶
Overrides the parent method because we don’t want to disable the radio button itself when it gets de-selected.