Ansys SPEOS
Planned OptixLog integration for Ansys SPEOS optical system simulation
Ansys SPEOS Integration
Planned Feature — SPEOS integration is on our roadmap. This page outlines our planned approach.
Ansys SPEOS is the industry-leading solution for optical system design, simulation, and validation. It enables physics-based simulation of light propagation, human vision, and optical performance in real-world conditions.
What is SPEOS?
SPEOS (Simulation of Physical Environment for Optical Systems) specializes in:
Automotive Lighting
Headlamps, taillamps, interior lighting, HUDs
Human Vision Simulation
Perceived quality, mesopic vision, glare analysis
Sensors & Cameras
Lidar, camera simulation, ADAS validation
General Illumination
Architectural lighting, consumer electronics
Why Integrate SPEOS with OptixLog?
| Challenge | OptixLog Solution |
|---|---|
| Many design iterations | Track all variants automatically |
| Complex parameter spaces | Log and compare configurations |
| Large simulation outputs | Store and retrieve results efficiently |
| Team collaboration | Share designs and results |
| Regulatory compliance | Maintain audit trail |
Planned Integration Approach
Python Scripting (Primary)
SPEOS offers Python scripting capabilities through its API:
# Planned integration example
import speos
import os
from optixlog import Optixlog
# Initialize OptixLog
client = Optixlog(api_key=os.getenv("OPTIX_API_KEY"))
project = client.project(name="SPEOS_Simulations", create_if_not_exists=True)
# Create run with design parameters
run = project.run(
name="headlamp_beam_pattern_v3",
config={
"tool": "Ansys SPEOS",
"simulation_type": "Direct Simulation",
"source": "LED_array",
"num_rays": 10_000_000,
"target_plane_distance": 25 # meters
}
)
# Run SPEOS simulation
speos_session = speos.Session()
speos_session.load("headlamp_design.speos")
speos_session.run()
# Extract results
results = speos_session.get_results("illuminance_map")
# Log to OptixLog
run.log(step=0,
max_illuminance=float(results["max_lux"]),
min_illuminance=float(results["min_lux"]),
uniformity_ratio=float(results["uniformity"]))
# Log visualization
run.log_matplotlib("beam_pattern", create_beam_plot(results))Companion App (Secondary)
The OptixLog Companion App will also support SPEOS file formats.
Planned features for SPEOS:
- Watch directories for
.speos,.scdocfiles - Extract simulation results automatically
- One-click sync to OptixLog
Use Cases We're Targeting
1. Automotive Lighting Design
# Track headlamp optimization
run = project.run(
name="headlamp_optimization",
config={
"regulation": "ECE R112",
"beam_type": "low_beam",
"led_count": 48,
"reflector_type": "freeform"
}
)
# Log regulation compliance points
for point_name, measurement in regulation_points.items():
run.log(step=0,
point=point_name,
required_lux=measurement["required"],
measured_lux=measurement["actual"],
compliant=measurement["actual"] >= measurement["required"])2. Interior Ambient Lighting
run = project.run(
name="interior_ambient_study",
config={
"vehicle": "SUV_2025",
"time_of_day": "night",
"ambient_mode": "relaxation"
}
)
# Log human perception metrics
run.log(step=0,
perceived_brightness=float(hv_results["brightness"]),
color_uniformity=float(hv_results["delta_uv"]),
glare_rating=float(hv_results["ugr"]))3. Lidar/Camera Validation
run = project.run(
name="lidar_validation",
config={
"sensor": "Velodyne_VLP16",
"scenario": "urban_intersection",
"weather": "rain_heavy"
}
)
# Log detection performance
run.log(step=0,
detection_range=float(results["max_range"]),
point_density=float(results["points_per_deg"]),
rain_attenuation_dB=float(results["attenuation"]))Data We Plan to Track
Simulation Configuration
| Parameter | Type | Example |
|---|---|---|
| Simulation type | String | "Direct", "Inverse", "Interactive" |
| Ray count | Integer | 10,000,000 |
| Source definition | Object | LED spectrum, power, geometry |
| Material properties | Object | BRDF, transmission, absorption |
| Geometry reference | String | CAD file hash/version |
Results
| Metric | Type | Unit |
|---|---|---|
| Illuminance maps | Image | lux |
| Luminance maps | Image | cd/m² |
| Color coordinates | Float | CIE xy or u'v' |
| Uniformity ratios | Float | min/max, min/avg |
| Regulation compliance | Boolean | Pass/fail per point |
| Glare metrics | Float | UGR, TI |
Timeline
| Phase | Status | Target |
|---|---|---|
| API research | 🔄 In Progress | Q1 2025 |
| Basic scripting support | 📋 Planned | Q2 2025 |
| Companion app support | 📋 Planned | Q3 2025 |
| Full feature parity | 📋 Planned | Q4 2025 |
Get Early Access
Interested in SPEOS integration?
We'll prioritize development based on demand and reach out when early access is available.
Related
- Ansys Photonics Overview — Integration philosophy
- Ansys Zemax — Optical design integration
- Lumerical — Photonics simulation