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.
Method: recommended_presentations(_result: GeometryOptimizationResult, payload: dict[str, Any])
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.