v0.23.0¶
Release date: 2026-02-04
Early Access
The Luminary Cloud API and Python SDK are Early Access features that are still under development. View the Luminary Cloud Early Access Terms. The interface may change, and you may need to migrate or discard scripts and configuration files multiple times before v1.0.0 is released. In the future, migrations may also be necessary when upgrading to new major versions of the SDK (e.g. v2.0.0).
Release Notes¶
This release expands SDK coverage for geometry and outputs, adds extrema querying, and adds several new solver parameter capabilities. It also removes a few long-deprecated APIs.
Breaking Changes¶
Several long-deprecated APIs have been removed:
lc.list_projects()(uselc.iterate_projects()instead, wrapped in alist()if you need to eagerly load all of them).Simulation.get_simulation_param()(useSimulation.get_parameters()instead).SimulationTemplate.get_simulation_param()(useSimulationTemplate.get_parameters()instead).lc.meshing.sizing_strategy.MinimalCount(uselc.meshing.sizing_strategy.Minimalinstead).
Features¶
Added geometry contacts support via
Geometry.compute_contacts(),Geometry.get_contacts(),lc.get_geometry_contacts(), andlc.wait_for_geometry_contacts().Geometry modifications on a
VolumeSelection(create_shape()and transformations) now support theExpressiontype, allowing you to use named variables as input.Added
Simulation.download_output_from_definition()to download surface outputs using an existingOutputDefinition.Added
luminarycloud.vis.extrema_query()for top-N min/max queries of a field in the dataset. This is useful for debugging failed simulations where cell values become non-physical. The extrema query returns cell values, connected surfaces (if any), global face IDs, local cell IDs, and approximate cell centers.Exposed solver parameters for nonlinear control. That is, defining additional scalar equations that are solved as the solver iterates. This can be used to run fixed-CL simulations, where the angle of attack is varied automatically to achieve the target lift.
Added
periodic_automatic_deductionto solver params, which deduces translation/rotation sign and magnitude automatically.Added per-volume initialization for fluid and heat physics via
FluidPrescribedValues.initialization_per_zone,FluidFarfieldValues.initialization_per_zone, and heat equivalents.
Deprecations¶
The experimental
configure_adjoint_surface_outputis deprecated. Use anOutputDefinitionID instead (e.g.,SimulationParam.adjoint.output.output_definition_id = ...).
Bug Fixes / Improvements¶
All Shape classes under luminarycloud.params.geometry now accept Vector3Like (tuples/lists) in
their constructor for any of their Vector3 attributes. For example, in addition to this:
import luminarycloud as lc
from luminarycloud.params.geometry import Sphere
sphere = Sphere(center=lc.types.Vector3(3, 4, 5), radius=10)
you can now alternatively do this:
sphere = Sphere(center=(3, 4, 5), radius=10)
# or:
sphere = Sphere(center=[3, 4, 5], radius=10)
Migration Guide¶
If you use any of the removed deprecated functions, update to the replacements listed under Breaking Changes.
If you relied on
configure_adjoint_surface_output, migrate toOutputDefinitionIDs onSimulationParam.adjoint.output.