Skip to content

Interaction Energy Decomposition

Interaction energy decomposition workflow - SAPT0 decomposition between molecular fragments.

InteractionEnergyDecompositionResult dataclass

InteractionEnergyDecompositionResult(
    workflow_data: dict[str, Any],
    workflow_type: str,
    workflow_uuid: str,
    complete: bool = True,
)

Bases: WorkflowResult

Result from an interaction energy decomposition workflow.

fragment1_indices property

fragment1_indices: list[int]

Atom indices (1-indexed) defining fragment 1.

total_interaction_energy property

total_interaction_energy: float | None

Total interaction energy (kcal/mol).

electrostatic_interaction_energy property

electrostatic_interaction_energy: float | None

Electrostatic interaction energy (kcal/mol).

exchange_interaction_energy property

exchange_interaction_energy: float | None

Exchange interaction energy (kcal/mol).

dispersion_interaction_energy property

dispersion_interaction_energy: float | None

Dispersion interaction energy (kcal/mol).

induction_interaction_energy property

induction_interaction_energy: float | None

Induction interaction energy (kcal/mol).

submit_interaction_energy_decomposition_workflow

submit_interaction_energy_decomposition_workflow(
    initial_molecule: StructureInput,
    fragment1_indices: list[int],
    method: Literal["sapt0"] = "sapt0",
    basis_set: str = "jun-cc-pVDZ",
    name: str = "Interaction Energy Decomposition",
    folder_uuid: str | None = None,
    folder: Folder | None = None,
    max_credits: int | None = None,
    webhook_url: str | None = None,
    is_draft: bool = False,
) -> Workflow

Submits an interaction energy decomposition (SAPT0) workflow to the API.

Decomposes the interaction energy between two molecular fragments into electrostatic, exchange, dispersion, and induction components.

Parameters:

Name Type Description Default
initial_molecule StructureInput

Dimer molecule to decompose.

required
fragment1_indices list[int]

Atom indices (1-indexed) defining fragment 1. Fragment 2 is all remaining atoms.

required
method Literal['sapt0']

Energy decomposition method. Currently only "sapt0" is supported.

'sapt0'
basis_set str

Basis set for the calculation. Defaults to "jun-cc-pVDZ".

'jun-cc-pVDZ'
name str

Name of the workflow.

'Interaction Energy Decomposition'
folder_uuid str | None

UUID of the folder to place the workflow in.

None
folder Folder | None

Folder object to store the workflow in.

None
max_credits int | None

Maximum number of credits to use for the workflow.

None
webhook_url str | None

URL that Rowan will POST to when the workflow completes.

None
is_draft bool

If True, submit the workflow as a draft without starting execution.

False

Returns:

Type Description
Workflow

Workflow object representing the submitted workflow.

Raises:

Type Description
ValueError

If both folder and folder_uuid are provided, or if fragment 1 contains atoms covalently bonded to atoms outside fragment 1.

requests.HTTPError

if the request to the API fails.