

February 21, 2023 at 10:52 pmazbaderSubscriber
Hello,
We are interested in the inverse design of a waveguide with topology optimization (please see the schematics below) and we have a number of questions regarding this optimization problem.
We have used the “Inverse Design of a Splitter Using Topology Optimization” example and modified the code to get to our desired design.
When we run the Python code that performs the optimization, we are interested in checking for various FOMs. However, we see that the results fail to follow the targeted FOM. Please see below for the case when Target_FOM =0.5.
The documentation of “Inverse Design of a Splitter Using Topology Optimization” example says that FOM=0.5 T_Up (please see : https://optics.ansys.com/hc/enus/articles/1500007182141InverseDesignofaSplitterUsingTopologyOptimization)
Is the T_Up the same as the Target_FOM in the code? And is there a chance to change the FOM formulation altogether, or do we have to use that? Any chance of having access to the FOM function file?
This is the code we used:
· Also, is it possible to get a frequencydependent FOM in a problem like this?
Thanks a lot for your help in advance!

February 23, 2023 at 7:33 pmGuilin SunAnsys Employee
Yes, you are right: “Inverse design using Topology Optimization enables automatic generation of devices that are optimized for a userspecified figure of merit (FOM). In this Ysplitter example, we want to maximize T_up, the fraction of the total input energy that is transmitted into the upper arm. Since we will enforce symmetry in the ydirection, the maximal value of the FOM will be 0.5. For visualization, instead of directly plotting T_up, we show the insertion loss, so FOM=0.5 – T_up.”
Currently the optimization is to target a scalar result, which means it has only one value.

February 23, 2023 at 9:48 pmazbaderSubscriber
Thank you, Guilin for your help!
Following up with the definition of the FOM, you mentioned that the FOM that is plotted is the inserion loss. What about what is defined in the python code as Target_FOM, is that also the insertion loss or is that T_Up?
Thanks a lot!
Azadeh

February 23, 2023 at 10:25 pmGuilin SunAnsys Employee
It is FOM=0.5 – T_up, which they call it insertion loss. You could change it to T_up if you want.

February 23, 2023 at 10:41 pmazbaderSubscriber
In the documentation of the example of Y splitter, when FOM_Target is set to 0.5 in the code, the illustrated figure for FOM is converging to zero (please see the attached screenshot). This shows a mismatch between what we define as Target_FOM in the code and what is being plotted as the final FOM. So, I wonder what really Target_FOM in the code is? Keeping in mind that, in the code, T_up is not defined anywhere. We only have Target_FOM.

February 23, 2023 at 11:35 pmTaylor RobertsonAnsys Employee
Hello Azbader,
I would suggest the following article. https://optics.ansys.com/hc/enus/articles/360050995394
The target_fom is simply an option used for plotting, I believe that what you want is the target_T_fwd to specify the output power.
target_T_fwd: float or function
A function which will take the number of Wavelengths points and return values [0,1]. Usually passed as a lambda function or a single float value for single wavelength FOM. To specify a more advanced spectrum one can define a function, it may be helpful to use, numpy windows as a template.
target_fom: float
A target value for the figure of merit. This will change the behavior of the printing and plotting only. If this is enabled, by setting a value other than 0.0, the distance of the current FOM is given. Default = 0.0
Best,

 You must be logged in to reply to this topic.
Boost Ansys Fluent Simulations with AWS
Computational Fluid Dynamics (CFD) helps engineers design products in which the flow of fluid components is a significant challenge. These different use cases often require large complex models to solve on a traditional workstation. Click here to join this event to learn how to leverage Ansys Fluids on the cloud, thanks to Ansys Gateway powered by AWS.
Earth Rescue – An Ansys Online Series
The climate crisis is here. But so is the human ingenuity to fight it. Earth Rescue reveals what visionary companies are doing today to engineer radical new ideas in the fight against climate change. Click here to watch the first episode.
Ansys Blog
Subscribe to the Ansys Blog to get great new content about the power of simulation delivered right to your email on a weekly basis. With content from Ansys experts, partners and customers you will learn about product development advances, thought leadership and trends and tips to better use Ansys tools. Sign up here.
 “Import optical generation” or “delta generation rate”?
 Why am I getting “process exited without calling finalize”, and how do I fix it?
 Error: addfdtd is not a valid function or a variable name
 Error on Lumerical device
 Using a license file on a new license server
 Ansys Insight: Transmission results greater than one
 Ansys Insight: Diverging Simulations
 Ansys Insight: About override mesh in FDTD: its use and settings
 Is there a Lumerical script command to output the Simulation and Memory requirements?
 Ansys Insight: Convergence issues in CHARGE

3744

2573

1809

1236

594
© 2023 Copyright ANSYS, Inc. All rights reserved.