Skip to content

Geometry Optimization Analysis

Extract geometry-optimization progress series for analyzer consumption.

This module converts geometry-optimization progress records into normalized time-series tables with selectable components and frame subsets. It focuses on optimization-progress streams and does not compute trajectory-based observables.

Usage context

  • Convergence monitoring: Track potential energy and optimizer diagnostics.
  • Component slicing: Extract selected progress columns for plotting.
  • Report inputs: Feed geometry-optimization series into summary dashboards.

Request: GeometryOptimizationRequest

Request payload for geometry-optimization series extraction.

This request selects optimization components and whether to include the geometry descriptor in every output row.

Fields

Field Type Default Help Choices
component Sequence[str] \| None
include_geo_descriptor bool False Whether to include the geometry descriptor in output rows. True, False

Examples

request = GeometryOptimizationRequest(
    component=["E_pot", "RMSG"],
    include_geo_descriptor=True,
)

The request selects two components and includes the geometry label per row.

Task: GeometryOptimizationTask

Return selected geometry-optimization summary data from fort.57.

Recommend default table/plot views for geometry-optimization output.

Works on Analyzer task output for geometry_optimization_data.

Parameters

Name Type Description
_result GeometryOptimizationResult Typed analyzer result instance.
payload dict[str, Any] Serialized payload expected to include table rows.

Returns

Type Description
list[PresentationSpec] Presentation specs for table and component-value plots.

Examples

specs = GeometryOptimizationTask.recommended_presentations(
    _result,
    {"table": [{"iter": 10, "component": "RMSG", "value": 0.2}]},
)

The returned list includes a table and a value vs iter plot.

Method: run(data: GeometryOptimizationProgressData, request: GeometryOptimizationRequest, reporter=None)

Run geometry-optimization component series extraction.

Works on GeometryOptimizationProgressData parsed from fort.57-like artifacts.

Parameters

Name Type Description
data GeometryOptimizationProgressData Parsed optimization progress arrays.
request GeometryOptimizationRequest Component and descriptor inclusion configuration.
reporter Any, optional Progress callback accepted by analyzer tasks.

Returns

Type Description
GeometryOptimizationResult Long-form geometry-optimization rows.

Examples

result = GeometryOptimizationTask().run(
    data,
    GeometryOptimizationRequest(component=["E_pot"]),
)

result.table contains iteration/value rows for requested components.

Result: GeometryOptimizationResult

Result payload for geometry-optimization series extraction.

The analyzer returns long-form iteration/component/value rows suitable for table inspection and component-wise plotting.

Fields

Field Type Default Help Choices
table pd.DataFrame
request GeometryOptimizationRequest

Examples

row = {"iter": 120, "component": "RMSG", "value": 0.0123}

The sample row captures one optimization component value at one iteration.