Electro-Optical InfraRed (EOIR) sensors are optical sensors able to detect the infrared range of the electromagnetic field, enabling a broader visibility range, since heated objects emit infrared signal because of thermal radiation. This article covers a multi-physics workflow that couples optics (Speos) and thermal analysis (Mechanical) for accurate infrared imaging in a transient scenario.
Overview
Understand the simulation workflow and key results
Being able to anticipate the imaging performances of an EOIR sensor is key as it defines whether said sensor is able to detect the desired target(s) under varying environmental conditions. These performances will depend both on the sensor characteristics and the temperature variation in the scene. The following example demonstrates a workflow to image the thermal changes in a scene for a given IR sensor.
Prerequisites
- Speos (Enterprise) 2024 R2 or higher
- Mechanical 2024 R2 or higher
- Speos integration for System Coupling
The suggested workflow aims to give higher fidelity results by combining the thermal solving capabilities of Mechanical with the ray-tracing capabilities of Speos. Both software can seamlessly be coupled for a transient analysis using System Coupling as the co-simulation platform. Mechanical is used to compute the temperature of all the objects in the scene as a function of time with a transient analysis. The temperature data is automatically transferred to Speos to update the IR emissivity of the objects in the scene. The signal is retrieved by the camera sensor at each time step.
Step 1: Thermal analysis setup (not covered in this article)
In Mechanical, we define the scene materials and meshing. We set up the boundary conditions of the thermal simulation and we define the time limits of the transient analysis. Once everything is done, we export the files for co-simulation.
Step 2: Optical simulation setup
In Speos, we set up an IR camera (performance specifications + positioning in the scene). The scene is the same than in Mechanical, we define the emissivity of each object. Once everything is prepared, we export the simulation.
Step 3: Co-simulation in System Coupling
Finally, the co-simulation is performed inside System Coupling. We add Speos and Mechanical as participants, we define the coupling interface between the two solvers and we execute the simulation. The results are collected and analyzed at the end.
Run and results
Instructions for running the model and discussion of key results
Step 1: Thermal analysis setup (not covered in this article)
Thermal analysis can be driven by Ansys Mechanical. For this example, we have loaded the geometries of the scene in Mechanical. It consists of a ground vehicle on a concrete road with white markings and grass on the side.
The simulation workflow in Mechanical typically consists in:
- Setting up the materials and assigning them to the geometries
- Generating a volume mesh of the scene
-
Setting up a transient thermal analysis, by specifying the following
- Analysis settings (number of time steps, time steps size, final time, etc..)
- Boundary conditions (e.g. temperatures at specific areas of the system)
- External loads (e.g. heat fluxes, heat generation, fixed temperatures, etc...)
In this example, the nominal setup is the following: the ground under the road is set to a fixed temperature of 22°C (295K), an external load is applied to the whole scene, corresponding to the IR solar irradiation (pre-measured in Speos with a simple simulation).
Finally, the analysis will run from 0 to 3600s (1 hour) with time steps of 600s (10 minutes).
To export this configuration for co-simulation in System Coupling, further steps are required by the user, which are outside the "typical Mechanical simulation" workflow, such as:
- Defining "coupling regions" (e.g. areas which will receive/transfer data with external solvers).
- Writing System Coupling files (e.g. a snapshot of the current project for the multi-physics analysis).
More info about System Coupling regions in Mechanical can be found in the Additional Resources section of this article.
The generated files for co-simulation can be found under the System Coupling > Thermal folder.
Step 2: Optical simulation setup
- Open [[Demo_IRST.scdocx]].
The scene is composed of the same ground vehicle ("Tank") on the road with the various elements ("Road", "White markings", "Sidewalks" and "Grass"). On top of the scene, we positioned an IR camera device. We are interested in the variation of the signal retrieved by the camera due to the constant solar irradiation load applied as an external load in Mechanical.
The distinction of the geometrical elements is made according to their optical properties, which is critical for IR simulation, as the IR emissivity of objects in Speos is based on the "gray body" model. Speos uses the absorption in the optical property of the geometry to calculate the emitted light spectrum.
Each one of the 5 object emissivity is represented by a thermic source. For multi-physics computation, the thermic source must be set up using a temperature field file.
In this example, the sources are pre-computed. We assume that each object of the scene has a nominal homogeneous temperature of 22°C (295K).
The camera system is located 10km above the scene. It is characterized by a stack of lenses whose optical behavior is defined through an optical distortion file to account for the geometrical aberrations of the optics, a focal, an aperture number and a spectral transmittance file. For this example the .OPTDistortion file is written in the V1 format, which is a very simple description of the optical distortion of the system. The optics could be more accurately described using the latest binary format, that would also include other geometrical and chromatic aberration. More information in the Additional Resources section of this article. Speos also gives you basic control over the light sensor characteristics, accounting for its pixel resolution, size and its spectral light efficiency.
We need to define a simulation to get the camera signal.
- Create an inverse simulation, name it "Camera simulation".
- Select the thermic sources "Tank", "Road", "White Markings", "Sidewalks" and "Grass" as sources input.
- For sensor input, select the camera.
- Setup a significant amount of passes to reduce the simulation noise (recommended: 50).
- Run the simulation (CPU only). It should take approximately 5mins on a 40 threads computer.
- Open the irradiance result.
This is the nominal irradiance map obtained on the sensor.
The ground vehicle is barely noticeable for the sensor with its homogeneous temperature.
We have set a contrast measurement on the sensor to quantify how well the vehicle blends with its environment.
- Import the "Camera.Irradiance.xml" template (located in the SPEOS input files folder) in the opened result.
The nominal measured contrast and RMS contrast between the ground vehicle and the road are respectively 0.132 and 0.018.
To plug this simulation with thermal input via System Coupling, we must perform one last step.
- Export the simulation.
For file management, it is recommended to have a dedicated folder for the System Coupling co-simulation.
- Copy and paste the exported folder under the folder System Coupling > Optical .
The optical setup is ready and we can go to the final step.
Step 3: Co-simulation in System Coupling
- Open System Coupling.
- Select the folder "System Coupling Analysis" as working directory.
First step in System Coupling is to add the participants of the co-simulation (in our case, Mechanical and Speos simulations). Let's start with Mechanical.
- Select "Add participant".
- From the pop-up, browse the ".scp" file located in the Thermal sub-folder of the data, then validate.
Mechanical (MAPDL Transient Thermal) should appear in the participants list. Now we need to add Speos camera simulation in the process.
- Select "Add participant".
- From the pop-up, switch from "Input files" to "Python script", then browse for the python script located in the Ansys installation folder (.../Ansys Inc/v242/System Coupling/Participants/SpeosServer/syscspeosserver.py).
- For the working directory, select the folder of the exported simulation in the "Optical" sub-folder.
- From the next GUI window, select the exported ".speos" file and tick the "Set transient" box.
Speos (Default) now appears in the participants list. You can rename the participant by right clicking on its name. Next step is to create a coupling interface between both solvers (i.e. setup the data exchange).
- Select "Add coupling interface".
- Under "CouplingInterface1", select MAPDL Transient Thermal as participant 1. For the region, select the only region available, consisting of all geometries.
- Select Speos as "Side Two". Select all thermic sources for the regions of interest.
- Right click on "Coupling Interface 1", then "Add Data Transfer"
- Under "DataTransfer1", select Speos as the target side make sure both the source and target variables are "Temperature" and "Speos_Temperature".
- Under "Mapping Control", set the "Face Alignment" to "SameOrientation".
The coupled analysis is almost ready, we need to setup the time steps for the transient analysis. In this example, we want to see the infrared signal on the sensor after one hour, with intermediate snapshots every 10min.
- Under "Solution Control", set the "Duration Option" to "EndTime".
- Set the "End Time" to 3600s and the "Time Step Size" to 600s.
- Save the project.
- Launch the analysis by clicking on the "Start Solve" button.
The run progress can be monitored through the "Command Console" tab.
When the analysis is complete, all the time-steps camera results can be found in the Speos working directory (under Optical > Camera simulation.1.speos > INTERMEDIATE_RESULTS).
- Open all time steps irradiance results from time step 1 to 6. Import the "Camera.Irradiance.xml" to automatically apply the contrast
Looking at the results, we see that the road is heating faster than the truck, resulting in higher IR emissivity and increased contrast intensity.
Below are the measured contrast results as a function of the time-steps.
Time step (s) | Contrast | RMS contrast |
0 | 0.132 | 0.018 |
600 | 0.186 | 0.088 |
1200 | 0.252 | 0.115 |
1800 | 0.274 | 0.131 |
2400 | 0.269 | 0.138 |
3000 | 0.281 | 0.141 |
3600 | 0.283 | 0.142 |
This multi-physics analysis enabled to see that the IR camouflage is effective under specific conditions, but accounting for the environment conditions is key since in this example the efficiency drops because of external solar radiation.
Important model settings
Description of important objects and settings used in this model
Speos
Camera specifications : The parameters of a camera sensor in Speos will directly affect the image generated.
The optical aberrations introduced by the optics of the camera can directly be simulated using a Reduced-Order Model (ROM) generated from a lens design from Ansys Zemax. Newest versions of the ROM will more accurately described the geometrical aberrations as well as chromatic dispersion.
For the sensor part, users can tune the sensitivity which corresponds to the quantum efficiency of each pixel type (the pixels type are defined according to "Color mode", RGB or monochromatic).
Bodies temperature and optical properties : The IR emissivity of objects is directly affected by their optical properties and their temperature. Even at high temperature, a "0% absorption" body doesn't have radiation. On the opposite, a perfect black body emits the maximum energy possible for a given temperature. Any intermediate stage is ruled by the gray body radiation model in Speos.
You can easily tune the temperature of an emitting body in a thermic source object. If your thermic source is based on a temperature field like in this example, you can tune the temperature by directly editing the text file.
Mechanical
Boundary conditions : For Finite Element Analysis in Ansys Mechanical, it is mandatory to apply locally thermal limits or constraints for the solver the retrieve a mathematical solution to the given problem. These limits are known as boundary condition. In thermal analysis, this can be as simple as applying a fixed temperature to a geometry/surface over the duration of the study, or it can be more complex, like a gradient heat flux applied over a specific time window. There should be at least one boundary condition in your project, but you can apply as many as you want in a simulation.
Taking the model further
Information and tips for users that want to further customize the model
Atmosphere contribution
When a sensor captures optical signal at very high altitude, the assumption of the signal propagating in free space usually falls off. Indeed, due to the variation in particle concentration, pressure and temperature with altitude, light might locally be scattered, absorbed. Sensor might also capture background emissivity, sun disturbance and further optical perturbations.
To account for this, from Speos 2025 R2 and later releases, users can include a MODTRAN source in their simulations, an environment light source that accounts for atmosphere transmission and scattering over a specific line of sight, based on the third-party computer code MODTRAN.
Multi-physics design exploration
This multi-physics workflow allows for a deeper understanding of the sensor detection performances under environmental conditions. However, would it be possible to add parameter variations to run multiple configurations easily ?
Ansys optiSLang allows for design understanding and optimization. It can perform sensitivity analysis and optimization on any parametric system. We could, in this example, leverage the python interface of System Coupling, PySystemCoupling, to run a python script that would automatically setup the workflow after updating specific parameters such as: the optical properties of the geometries, the initial temperature of the scene, the quantum efficiency of the IR sensor, etc.. and see the output contrast as a function of time for each new configuration. Then use this script as a parametric system inside optiSLang to build a meta-model or run an optimization.
Additional resources
Additional documentation, examples and training material
- Speos integration for System Coupling
- Getting started with camera sensor in Speos
- Camera Reduced Order Model formats in Speos
- Thermic source using temperature field file in Speos
- Mechanical Getting Started
- Boundary conditions in Mechanical
- System Coupling regions in Mechanical
- OptiSLang Getting Started
- PySystemCoupling documentation