Documentation Index
Fetch the complete documentation index at: https://docs.ionworks.com/llms.txt
Use this file to discover all available pages before exploring further.
The ionworks-api Python package provides a sub-client for running and managing optimizations programmatically. For installation and authentication, see the Python API client page.
Running an optimization
from ionworks import Ionworks
client = Ionworks()
optimization = client.optimization.run({
"project_id": "your-project-id",
"name": "Electrode thickness optimization",
"parameterized_model_id": "your-parameterized-model-id",
"protocol_experiment": {
"protocol": "...",
"name": "1C Discharge",
},
"design_parameters": {
"Positive electrode thickness [m]": {
"bounds": [50e-6, 100e-6],
},
},
"objectives": {
"Discharge capacity [A.h]": {"type": "maximize"},
},
})
print(f"Optimization ID: {optimization.id}")
print(f"Job ID: {optimization.job_id}")
Waiting for completion
result = client.optimization.wait_for_completion(
"your-optimization-id",
timeout=600, # seconds (default: 600)
poll_interval=3, # seconds between polls (default: 3)
verbose=True, # print status updates (default: True)
)
Set raise_on_failure=False to get the result dict instead of raising an exception when an optimization fails.
Listing optimizations
# List all optimizations
optimizations = client.optimization.list()
# Filter by project
optimizations = client.optimization.list(project_id="your-project-id")
# Paginate results
optimizations = client.optimization.list(limit=10, offset=0)
Getting an optimization
Returns the optimization record along with its associated job status.
result = client.optimization.get("your-optimization-id")
print(result["optimization"])
print(result["job"])
Updating an optimization
optimization = client.optimization.update("your-optimization-id", {
"name": "Electrode optimization v2",
"description": "Updated bounds",
})
Canceling an optimization
result = client.optimization.cancel("your-optimization-id")
You can find the ID for any resource from the Ionworks Studio web app. The
ID is displayed in the URL when you navigate to a resource’s detail page.