v0.14.0¶
Release date: 2025-04-30
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 has breaking changes and some sweet new features.
Breaking Changes¶
Documentation for the previously undocumented
luminarycloud.params.simulation
module and all of its many submodules and classes has been published. Historically this module had been seeing a lot of churn, but it’s more stable these days, so it’s time to share it with the world.The default calculation type of
Simulation.download_surface_output()
is nowAGGREGATE
, formerlyPER_SURFACE
.Some classes that are deep down inside the
luminarycloud.params
module and get used insideSimulationParam
objects used to use their underlying entity’s ID as theirname
. Now the underlying name is mapped to the object’sname
, and the underlying ID is mapped to the object’sid
(which is generated automatically when creating one of those objects). The affected classes are:The specification of boundary initial conditions for turbulence via
SimulationParam
has been simplified, from
physics.fluid.initialization.turbulence.spalart_allmaras = (
lc.params.simulation.physics.fluid.initialization.turbulence.spalart_allmaras.InitFarfieldValuesSa()
)
# or
physics.fluid.initialization.turbulence.spalart_allmaras = (
lc.params.simulation.physics.fluid.initialization.turbulence.spalart_allmaras.InitTurbulentViscosityRatioSa(
viscosity_ratio=0.23
)
)
to
physics.fluid.initialization.turbulence.spalart_allmaras = (
lc.params.enum.TurbulentVariableInitializationTypeSa.INIT_FARFIELD_VALUES_SA
)
# or
physics.fluid.initialization.turbulence.spalart_allmaras = (
lc.params.enum.TurbulentVariableInitializationTypeSa.INIT_TURBULENT_VISCOSITY_RATIO_SA
)
physics.fluid.initialization.turbulence.viscosity_ratio = 0.23
Features¶
New method:
Simulation.get_simulation_param()
Simulation.download_volume_data()
can now return single-precision floating point fields by passingsingle_precision=True
. The default remains double-precision.
Bug Fixes / Improvements¶
As mentioned in breaking changes, the classes that used to contain an ID in their
name
property now contain their actual name. The name is the thing that shows up in the UI, so now that it’s exposed in the SDK, you’ll have an easier time drawing associations between the things you see in the UI and the things you see in the SDK.
Migration Guide¶
References to luminarycloud.params.param_wrappers
¶
The luminarycloud.params.param_wrappers
module has been removed and all of its contents collapsed
into its parent, so anything that you’d previously accessed under
luminarycloud.params.params_wrappers.*
, you should now access under luminarycloud.params.*
.
Simulation.download_surface_output
default calculation type change¶
If you were using Simulation.download_surface_output()
without passing an explicit
calculation_type
to get a per-surface result, you’ll now need to pass
calculation_type=luminarycloud.enum.CalculationType.PER_SURFACE
to retain that behavior.
Classes that used to have an ID in their name
property¶
For the classes mentioned in the Breaking Changes section, if you have code that does any kind of
conditional logic based on their name
property, you’ll need to use their id
property instead.