Skip to content

Scan

Scan workflow - perform potential energy surface scans.

ScanResult dataclass

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

Bases: WorkflowResult

Result from a scan workflow.

scan_point_uuids property

scan_point_uuids: list[str]

UUIDs of scan point calculations.

scan_points property

scan_points: list[Calculation]

All scan point calculations.

Note

Makes one API call per scan point on first access. Results are cached. Call clear_cache() to refresh.

messages property

messages: list[Message]

Any messages or warnings from the workflow.

get_energies

get_energies(relative: bool = False) -> list[tuple[float, float | None]]

Get scan coordinate values paired with energies.

Parameters:

Name Type Description Default
relative bool

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[tuple[float, float | None]]

list of (coordinate, energy) tuples. Coordinate is the scanned

list[tuple[float, float | None]]

value (e.g., bond distance in Angstrom, angle in degrees)

submit_scan_workflow

submit_scan_workflow(initial_molecule: StructureInput, scan_settings: ScanSettingsInput | list[ScanSettingsInput], scan_settings_2d: ScanSettingsInput | list[ScanSettingsInput] | None = None, calculation_engine: str | None = None, calculation_method: Method | str = 'omol25_conserving_s', basis_set: BasisSet | str | None = None, corrections: list[str] | None = None, solvent: SolventInput = None, mode: Mode | str = 'auto', constraints: list[Constraint] | None = None, wavefront_propagation: bool = True, name: str = 'Scan 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[ScanResult]

Submits a scan workflow to the API.

Parameters:

Name Type Description Default
initial_molecule StructureInput

molecule to scan

required
scan_settings ScanSettingsInput | list[ScanSettingsInput]

coordinate(s) to scan. Pass one ScanSettings (or dict) for a 1D scan, or a list to scan several coordinates simultaneously (concerted); concerted coordinates must all use the same number of points

required
scan_settings_2d ScanSettingsInput | list[ScanSettingsInput] | None

optional additional coordinate(s) scanned as a second dimension, forming a 2D grid with scan_settings. Same single-or-list form as scan_settings

None
calculation_engine str | None

engine to use for the calculation

None
calculation_method Method | str

method to use for the calculation

'omol25_conserving_s'
basis_set BasisSet | str | None

basis set, see BasisSet

None
corrections list[str] | None

dispersion corrections, see Correction

None
solvent SolventInput

solvent to use for the calculation

None
mode Mode | str

geometry-optimization mode controlling convergence thresholds for each constrained optimization, see Mode. Defaults to auto (normally rapid)

'auto'
constraints list[Constraint] | None

additional geometric constraints held fixed during every scan-point optimization, beyond the scanned coordinate, see Constraint

None
wavefront_propagation bool

whether to use wavefront propagation in the scan

True
name str

name of the workflow

'Scan Workflow'
folder_uuid str | None

UUID of the folder to store the workflow in

None
folder Folder | None

destination folder

None
max_credits int | None

maximum credits for the workflow

None
webhook_url str | None

URL that Rowan will POST to when the workflow completes

None
is_draft bool

save as a draft without starting execution

False

Returns:

Type Description
Workflow[ScanResult]

submitted workflow

Raises:

Type Description
HTTPStatusError

request to the API fails