Skip to content

IRC

IRC workflow - Intrinsic Reaction Coordinate calculations.

IRCResult dataclass

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

Bases: WorkflowResult

Result from an Intrinsic Reaction Coordinate (IRC) workflow.

ts_uuid property

ts_uuid: str | None

UUID of the transition state calculation.

ts_calculation property

ts_calculation: Calculation | None

The transition state Calculation (lazily fetched).

ts_molecule property

ts_molecule: Molecule | None

The optimized transition state molecule.

ts_energy property

ts_energy: float | None

Energy of the transition state (Hartree).

forward_molecules property

forward_molecules: list[Molecule]

Molecules along the forward IRC path (lazily fetched).

.. note:: Legacy workflows stored the path as one calculation per step; these are still read transparently for back-compatibility.

backward_molecules property

backward_molecules: list[Molecule]

Molecules along the backward IRC path (lazily fetched).

.. note:: Legacy workflows stored the path as one calculation per step; these are still read transparently for back-compatibility.

forward_step_sizes property

forward_step_sizes: list[float]

Actual step sizes taken along the forward IRC path (Å√amu).

backward_step_sizes property

backward_step_sizes: list[float]

Actual step sizes taken along the backward IRC path (Å√amu).

forward_endpoint_calculation property

forward_endpoint_calculation: Calculation | None

Optimization of the forward endpoint (if optimize_endpoints=True, lazily fetched).

backward_endpoint_calculation property

backward_endpoint_calculation: Calculation | None

Optimization of backward endpoint (if optimize_endpoints=True, lazily fetched).

forward_endpoint_molecule property

forward_endpoint_molecule: Molecule | None

Optimized forward endpoint molecule (if optimize_endpoints=True).

backward_endpoint_molecule property

backward_endpoint_molecule: Molecule | None

Optimized backward endpoint molecule (if optimize_endpoints=True).

get_forward_energies

get_forward_energies(relative: bool = False) -> list[float]

Get energies along the forward IRC path.

Parameters:

Name Type Description Default
relative bool

If True, return relative energies in kcal/mol (relative to the lowest energy point). If False (default), return absolute energies in Hartree.

False

Returns:

Type Description
list[float]

List of energies along the forward path.

get_backward_energies

get_backward_energies(relative: bool = False) -> list[float]

Get energies along the backward IRC path.

Parameters:

Name Type Description Default
relative bool

If True, return relative energies in kcal/mol (relative to the lowest energy point). If False (default), return absolute energies in Hartree.

False

Returns:

Type Description
list[float]

List of energies along the backward path.

submit_irc_workflow

submit_irc_workflow(
    initial_molecule: StructureInput,
    method: Method | str,
    basis_set: BasisSet | str | None = None,
    corrections: list[str] | None = None,
    solvent_settings: SolventSettings
    | dict[str, Any]
    | None = None,
    engine: Engine | str | None = None,
    pbc_dft_settings: PBCDFTSettings
    | dict[str, Any]
    | None = None,
    preopt: bool = True,
    step_size: float = 0.05,
    max_irc_steps: int = 30,
    optimize_endpoints: bool = False,
    name: str = "IRC Workflow",
    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 Intrinsic Reaction Coordinate (IRC) workflow to the API.

Parameters:

Name Type Description Default
initial_molecule StructureInput

Transition state (TS) guess to start from

required
method Method | str

Method for the IRC (and optional preopt)

required
basis_set BasisSet | str | None

Basis set for the IRC (and optional preopt)

None
corrections list[str] | None

Corrections for the IRC (and optional preopt)

None
solvent_settings SolventSettings | dict[str, Any] | None

Solvent settings for the IRC (and optional preopt)

None
engine Engine | str | None

Engine for the calculation (and optional preopt)

None
pbc_dft_settings PBCDFTSettings | dict[str, Any] | None

PBC DFT settings for the IRC (and optional preopt)

None
preopt bool

Whether to perform a pre-optimization of the TS guess

True
step_size float

Step size for the IRC calculation (0.001-0.5 Å√amu)

0.05
max_irc_steps int

Maximum number of IRC steps to perform

30
optimize_endpoints bool

Whether to optimize the endpoint geometries once the IRC completes

False
name str

Name for the workflow

'IRC Workflow'
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

Submit the workflow as a draft without starting execution

False

Returns:

Type Description
Workflow

Workflow object representing the submitted IRC workflow

Raises:

Type Description
requests.HTTPError

if the request to the API fails