Skip to content

Electronic Properties

Electronic properties workflow - calculate electronic properties.

MolecularOrbital dataclass

MolecularOrbital(
    points: tuple[tuple[float, float, float, float], ...],
    occupation: int,
    energy: float,
)

Molecular orbital with cube data.

Parameters:

Name Type Description Default
points tuple[tuple[float, float, float, float], ...]

Cube data as (x, y, z, value) points (Bohr).

required
occupation int

Occupation number (0, 1, or 2).

required
energy float

Orbital energy (Hartree).

required

ElectronicPropertiesResult dataclass

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

Bases: WorkflowResult

Result from an electronic-properties workflow.

dipole property

dipole: tuple[float, float, float] | None

Dipole moment vector (Debye).

quadrupole property

quadrupole: (
    tuple[
        tuple[float, float, float],
        tuple[float, float, float],
        tuple[float, float, float],
    ]
    | None
)

Quadrupole moment tensor (Debye*A).

mulliken_charges property

mulliken_charges: list[float] | None

Mulliken partial charges on each atom.

lowdin_charges property

lowdin_charges: list[float] | None

Lowdin partial charges on each atom.

wiberg_bond_orders property

wiberg_bond_orders: list[tuple[int, int, float]]

Wiberg bond orders as (atom1, atom2, order) tuples.

mayer_bond_orders property

mayer_bond_orders: list[tuple[int, int, float]]

Mayer bond orders as (atom1, atom2, order) tuples.

density_cube property

density_cube: list[tuple[float, float, float, float]] | None

Electron density cube as list of (x, y, z, value) points.

electrostatic_potential_cube property

electrostatic_potential_cube: (
    list[tuple[float, float, float, float]] | None
)

Electrostatic potential cube as list of (x, y, z, value) points.

molecular_orbitals property

molecular_orbitals: dict[int, MolecularOrbital]

Molecular orbitals indexed by orbital number.

homo property

homo: MolecularOrbital | None

Highest occupied molecular orbital (HOMO). Energy in Hartree.

lumo property

lumo: MolecularOrbital | None

Lowest unoccupied molecular orbital (LUMO). Energy in Hartree.

homo_lumo_gap property

homo_lumo_gap: float | None

HOMO-LUMO gap (Hartree).

submit_electronic_properties_workflow

submit_electronic_properties_workflow(
    initial_molecule: StructureInput,
    method: Method | str = "b97_3c",
    basis_set: str | None = None,
    compute_density_cube: bool = True,
    compute_electrostatic_potential_cube: bool = True,
    compute_num_occupied_orbitals: int = 1,
    compute_num_virtual_orbitals: int = 1,
    name: str = "Electronic Properties 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 electronic-properties workflow to the API.

Parameters:

Name Type Description Default
initial_molecule StructureInput

Molecule to calculate electronic properties for.

required
method Method | str

Method to use for the calculation.

'b97_3c'
basis_set str | None

Basis set to use (if any).

None
compute_density_cube bool

Whether to compute the density cube.

True
compute_electrostatic_potential_cube bool

Whether to compute the electrostatic potential cube.

True
compute_num_occupied_orbitals int

Number of occupied orbitals to save.

1
compute_num_virtual_orbitals int

Number of virtual orbitals to save.

1
name str

Name of the workflow.

'Electronic Properties 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

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 the method is not supported by the psi4 engine.

requests.HTTPError

if the request to the API fails.