# ASD orbital optimization

## Description

Active space decomposition with orbital optimization is implemented. Set `"title" = "asd_orbopt"` to start the input section. The two fragments of the molecule can be covalently linked, but the bridging orbitals cannot be active. Orbital rotations between active subspaces are included to partition the total active space into subspaces. The two active subspaces should be well separated. The calculation starts with dimer construction which is slightly different from that in Dimer ASD.

## Dimer Construction

- Description
- Keywords
- Prerequisite

## Keywords

### Required Keywords

`algorithm`

Description: ‘bfgs’ orbital optimization algorithm is implemented.
Datatype: string
Value: bfgs

`maxiter`

Description: Maximum number of orbital optimization iterations.
Datatype: int
Default: 50

`asd`

Description: `asd` block specifies asd options.
Recommendation: See Dimer ASD for details.

`gradient_thresh`

Description: Threshold for calculating gradient.
Datatype: double
Default: 0.0001
Recommendation: Use default.

`rotation_thresh`

Description: Threshold for orbital rotation.
Datatype: double
Default: 0.0001
Recommendation: Use default.

`energy_thresh`

Description: Convergence threshold for calculating energy.
Datatype: double
Default: \(1.0\times 10^{-6}\)
Recommendation: Use default.

`semi-canonicalize`

Description: Whether to semi-canonicalize localized orbitals.
Datatype: bool
Default: false

## Reference

Description of Reference | Reference
--- | ---
ASD orbital optimization | I. Kim, S. M. Parker, and T. Shiozaki, J. Chem. Theory Comput. 11, 3636 (2015).