Skip to content

Geometry Optimization Workflow

Purpose: Geometry-optimization workflow with convergence-aware method/results modeling

Relationship map

Hold "Alt" / "Option" to enable pan & zoom
classDiagram
    class GeometryOptimization
    class GeometryOptimizationMethod
    class GeometryOptimizationModel
    class GeometryOptimizationResults
    class SerialWorkflow
    class SimulationWorkflowMethod
    class SimulationWorkflowResults
    class WorkflowConvergenceResults
    class WorkflowConvergenceTarget
    SerialWorkflow <|-- GeometryOptimization
    GeometryOptimizationModel <|-- GeometryOptimizationMethod
    SimulationWorkflowMethod <|-- GeometryOptimizationModel
    SimulationWorkflowResults <|-- GeometryOptimizationResults
    GeometryOptimization *-- GeometryOptimizationMethod : method
    GeometryOptimization *-- GeometryOptimizationResults : results
    GeometryOptimizationModel *-- WorkflowConvergenceTarget : single_point_convergence_targets
    SimulationWorkflowResults *-- WorkflowConvergenceResults : convergence

Legend

inheritance (is-a)
composition (has-a)

Quantities by Key Sections

SerialWorkflow

Section Description MetaInfo
SerialWorkflow Base class for workflows where tasks are executed sequentially. Open in MetaInfo browser

This section has no direct quantities.

SimulationWorkflowMethod

Section Description MetaInfo
SimulationWorkflowMethod Open in MetaInfo browser

This section has no direct quantities.

SimulationWorkflowResults

Section Description MetaInfo
SimulationWorkflowResults Base class for simulation workflow results sub-section definition. Open in MetaInfo browser
Quantity Type Description
finished_normally m_bool(bool) Indicates if calculation terminated normally.
is_converged m_bool(bool) Represents if the convergence targets have been reached (True) or not (False).

WorkflowConvergenceTarget

Section Description MetaInfo
WorkflowConvergenceTarget Base section for defining convergence targets. Open in MetaInfo browser
Quantity Type Description
threshold m_float_bounded(float)
Convergence threshold.Convergence threshold. Must be non-negative.
When threshold_type is 'relative', must be dimensionless.
When threshold_type is 'absolute', 'maximum', or 'rms', must have physical units.
Child classes override this to add convergence path annotations.
threshold_type Enum
Specifies the mathematical method used to evaluate convergence between successive iterations.Specifies the mathematical method used to evaluate convergence between successive iterations. Supported methods include:
| Name | Description |
| --------- | -------------------------------- |
| 'absolute' | Difference in absolute terms between two subsequent iterations (e.g., \

GeometryOptimization

Section Description MetaInfo
GeometryOptimization Definitions for geometry optimization workflow. Open in MetaInfo browser

This section has no direct quantities.

GeometryOptimizationModel

Section Description MetaInfo
GeometryOptimizationModel Workflow model describing a geometry optimization. Open in MetaInfo browser
Quantity Type Description
optimization_type Enum
The type of geometry optimization, which denotes what is being optimized.The type of geometry optimization, which denotes what is being optimized.
Allowed values are:
| Type | Description |
| ---------------------- | ----------------------------------------- |
| "static" | no optimization |
| "atomic" | the atomic coordinates alone are updated |
| "cell_volume" | "atomic" + cell lattice parameters are updated isotropically |
| "cell_shape" | "cell_volume" but without the isotropic constraint: all cell parameters are updated |
optimization_method m_str(str) The method used for geometry optimization. Some known possible values are: "steepest_descent", "conjugate_gradient", "low_memory_broyden_fletcher_goldfarb_shanno".
n_steps_maximum m_int32(int) Maximum number of optimization steps.
sampling_frequency m_int32(int) The number of optimization steps between saved outputs.

GeometryOptimizationMethod

Section Description MetaInfo
GeometryOptimizationMethod Open in MetaInfo browser

This section has no direct quantities.

GeometryOptimizationResults

Section Description MetaInfo
GeometryOptimizationResults Open in MetaInfo browser
Quantity Type Description
is_single_point_converged m_bool(bool)
Aggregated SCF convergence status across all optimization steps.Aggregated SCF convergence status across all optimization steps.
Returns True if all SCF runs in all optimization steps converged to their
specified targets (defined in method.single_point_convergence_targets).
Returns False if any SCF run failed to converge. Returns None if no
convergence data is available.
This value is computed during normalization by aggregating convergence results
from all SinglePoint tasks using the JMESPath query:
workflow2.tasks[*].results.convergence[*].is_reached
The aggregation logic is: all(all(step_results) for step_results in all_results)
Example:
For a geometry optimization with 3 steps:
- Step 0: [True, True] (2 SCF targets, both converged)
- Step 1: [True, True]
- Step 2: [True, False] (second target failed)
→ is_single_point_converged = False
Note: This field currently provides only aggregate information. Per-step
convergence status should be retrieved from individual task results:
workflow2.tasks[step_index].results.convergence
See also:
- method.single_point_convergence_targets: SCF convergence criteria
- is_converged: Geometry-level convergence status
- convergence: Per-target geometry convergence results
n_steps m_int32(int) Number of saved optimization steps.
energies m_float64(float64) (shape: ['n_steps']) List of energy_total values gathered from the single configuration calculations that are a part of the optimization trajectory.
steps m_int32(int32) (shape: ['n_steps']) The step index corresponding to each saved configuration.
final_energy_difference m_float64(float64) The difference in the energy_total between the last two steps during optimization.
final_force_maximum m_float64(float64) The maximum net force in the last optimization step.
final_displacement_maximum m_float64(float64) The maximum displacement in the last optimization step with respect to previous.