SDKFrameworksAnsys

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?

ChallengeOptixLog Solution
Many design iterationsTrack all variants automatically
Complex parameter spacesLog and compare configurations
Large simulation outputsStore and retrieve results efficiently
Team collaborationShare designs and results
Regulatory complianceMaintain 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, .scdoc files
  • 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

ParameterTypeExample
Simulation typeString"Direct", "Inverse", "Interactive"
Ray countInteger10,000,000
Source definitionObjectLED spectrum, power, geometry
Material propertiesObjectBRDF, transmission, absorption
Geometry referenceStringCAD file hash/version

Results

MetricTypeUnit
Illuminance mapsImagelux
Luminance mapsImagecd/m²
Color coordinatesFloatCIE xy or u'v'
Uniformity ratiosFloatmin/max, min/avg
Regulation complianceBooleanPass/fail per point
Glare metricsFloatUGR, TI

Timeline

PhaseStatusTarget
API research🔄 In ProgressQ1 2025
Basic scripting support📋 PlannedQ2 2025
Companion app support📋 PlannedQ3 2025
Full feature parity📋 PlannedQ4 2025

Get Early Access

Interested in SPEOS integration?

Join the waitlist →

We'll prioritize development based on demand and reach out when early access is available.


On this page