Skip to content
Open
Show file tree
Hide file tree
Changes from 110 commits
Commits
Show all changes
129 commits
Select commit Hold shift + click to select a range
19dd936
Fresnel table
Samuelopez-ansys Jul 21, 2025
a82bd3b
Angular resolution
Samuelopez-ansys Jul 22, 2025
170ec90
Merge branch 'main' into fresnel_extension
Samuelopez-ansys Jul 28, 2025
de606da
More Fresnel
Samuelopez-ansys Jul 28, 2025
64c1835
Simulation settings
Samuelopez-ansys Jul 28, 2025
a0d0148
Get fresnel coefficients
Samuelopez-ansys Jul 30, 2025
752659a
Get fresnel coefficients
Samuelopez-ansys Jul 30, 2025
39a39ff
Fix typos
Samuelopez-ansys Jul 31, 2025
0e056fa
Fix typos
Samuelopez-ansys Jul 31, 2025
db8e58c
Fix typos
Samuelopez-ansys Jul 31, 2025
98fa995
Fix typos
Samuelopez-ansys Jul 31, 2025
4235541
Rename rttbl
Samuelopez-ansys Aug 4, 2025
88b5287
Add doc
Samuelopez-ansys Aug 4, 2025
b7eff19
Merge branch 'main' into fresnel_extension
Samuelopez-ansys Aug 4, 2025
8d26655
Merge branch 'main' into fresnel_extension
Samuelopez-ansys Aug 8, 2025
077173f
Get floquet port position
Samuelopez-ansys Aug 8, 2025
579843f
Add fresnel unit test
Samuelopez-ansys Aug 8, 2025
ec00972
Add fresnel unit test
Samuelopez-ansys Aug 8, 2025
5c03b28
Add fresnel unit test
Samuelopez-ansys Aug 8, 2025
283c918
Merge branch 'main' into fresnel_extension
Samuelopez-ansys Aug 8, 2025
c4d1c31
Anisotropic
Samuelopez-ansys Aug 13, 2025
8c0306f
Add suggestions
Samuelopez-ansys Aug 14, 2025
69663a3
Fix Fresnel
Samuelopez-ansys Aug 14, 2025
c29b9ec
Merge branch 'main' into fresnel_extension
Samuelopez-ansys Aug 14, 2025
79ca29b
CHORE: Auto fixes from pre-commit hooks
pre-commit-ci[bot] Aug 14, 2025
9dcbda8
Fix issues
Samuelopez-ansys Aug 19, 2025
43a1b82
Merge branch 'main' into fresnel_extension
Samuelopez-ansys Aug 19, 2025
88bc748
Merge branch 'main' into fresnel_extension
Samuelopez-ansys Aug 20, 2025
8af61cd
Apply changes
Samuelopez-ansys Aug 20, 2025
c2b039c
Move simulation settings
Samuelopez-ansys Aug 20, 2025
0c39172
Merge branch 'main' into fresnel_extension
Samuelopez-ansys Aug 20, 2025
60a3e7f
Fix codacy
Samuelopez-ansys Aug 20, 2025
143de64
Merge branch 'main' into fresnel_extension
Samuelopez-ansys Aug 21, 2025
f709119
Fix errors
Samuelopez-ansys Aug 21, 2025
bb27371
Fix errors
Samuelopez-ansys Aug 21, 2025
e718501
Fix errors
Samuelopez-ansys Aug 21, 2025
8f75ec2
Modify rttbl comments
VladimirIL Sep 1, 2025
0fb2822
Merge branch 'main' into fresnel_extension
VladimirIL Sep 1, 2025
f61beaf
CHORE: Auto fixes from pre-commit hooks
pre-commit-ci[bot] Sep 1, 2025
4d3c1bd
Allow higher Floquet Modes in the port definition
VladimirIL Sep 1, 2025
2a3d680
Merge remote-tracking branch 'origin/fresnel_extension' into fresnel_…
VladimirIL Sep 1, 2025
e51cabc
Changes in FP modes error message
VladimirIL Sep 1, 2025
f8686e7
CHORE: Auto fixes from pre-commit hooks
pre-commit-ci[bot] Sep 1, 2025
bf414fe
Write phi=360 which is a duplicate of phi=0 case
Samuelopez-ansys Sep 1, 2025
900ef28
Merge branch 'main' into fresnel_extension
Samuelopez-ansys Sep 1, 2025
6a1bf6c
Split create variables and create coefficients
Samuelopez-ansys Sep 1, 2025
3c5df50
Check if 360 is defined
Samuelopez-ansys Sep 1, 2025
3e09cae
Merge branch 'main' into fresnel_extension
Samuelopez-ansys Sep 4, 2025
38832dc
Fix to disable anisotropic until 2026R1
Samuelopez-ansys Sep 4, 2025
e4b3995
Comment ThetaMax line for the isotropic scenario
VladimirIL Sep 4, 2025
ea8a5de
CHORE: Auto fixes from pre-commit hooks
pre-commit-ci[bot] Sep 4, 2025
61ae84f
Bug fixes for the isotropic case and limitations related to ThetaMax …
VladimirIL Sep 4, 2025
38d28ff
CHORE: Auto fixes from pre-commit hooks
pre-commit-ci[bot] Sep 4, 2025
e13faa8
Fix to disable anisotropic until 2026R2
Samuelopez-ansys Sep 5, 2025
04b724a
Set phi_max = 0 for the isotropic scenario for the correct computatio…
VladimirIL Sep 5, 2025
925170f
Merge remote-tracking branch 'origin/fresnel_extension' into fresnel_…
Samuelopez-ansys Sep 5, 2025
b9558c5
Check AEDT version for the anisotropic scenario
VladimirIL Sep 5, 2025
a6fa5b5
Extraction validations
Samuelopez-ansys Sep 5, 2025
2573ffa
Extraction validations
Samuelopez-ansys Sep 5, 2025
4407626
Merge remote-tracking branch 'origin/fresnel_extension' into fresnel_…
Samuelopez-ansys Sep 5, 2025
a70710d
Merge branch 'main' into fresnel_extension
Samuelopez-ansys Sep 5, 2025
11abbd6
Check AEDT version for Isotropic RTTBL format
VladimirIL Oct 2, 2025
2843435
Rollback one of checks in the previous push
VladimirIL Oct 2, 2025
b4a1483
Merge branch 'main' into fresnel_extension
Samuelopez-ansys Oct 8, 2025
72b952e
Add theta filtering
Samuelopez-ansys Oct 8, 2025
b46a185
Fix new solution data
Samuelopez-ansys Oct 9, 2025
b1cefa2
Improve tests
Samuelopez-ansys Oct 9, 2025
80515c3
Improve tests
Samuelopez-ansys Oct 9, 2025
37b8a99
Merge branch 'main' into fresnel_extension
Samuelopez-ansys Nov 11, 2025
f0974c3
Validation
Samuelopez-ansys Nov 11, 2025
483c398
Merge branch 'main' into fresnel_extension
Samuelopez-ansys Nov 11, 2025
fd4473e
Merge branch 'main' into fresnel_extension
Samuelopez-ansys Dec 23, 2025
57d66d2
Merge conflicts
Samuelopez-ansys Dec 23, 2025
43b187c
Desktop log should not be override
Samuelopez-ansys Dec 23, 2025
79a20be
Add log to export dir
Samuelopez-ansys Dec 23, 2025
bbb8202
Add documentation
Samuelopez-ansys Dec 26, 2025
5e382f4
Add documentation
Samuelopez-ansys Dec 26, 2025
c41c902
Add output variables for angles of incidence
VladimirIL Jan 22, 2026
7eced58
Renormalize T coefficients
VladimirIL Jan 28, 2026
eecbae3
Fix a missed variable renaming
VladimirIL Jan 28, 2026
7346493
CHORE: Auto fixes from pre-commit hooks
pre-commit-ci[bot] Jan 28, 2026
f2b1408
REF: Update copyright year to 2026 and improve type hints across mult…
Samuelopez-ansys Mar 3, 2026
69a74a1
Merge branch 'main' into fresnel_extension
Samuelopez-ansys Mar 3, 2026
9db7825
CHORE: Auto fixes from pre-commit hooks
pre-commit-ci[bot] Mar 3, 2026
44ce98c
REF: Refactor variable creation and update angle calculations in HFSS…
Samuelopez-ansys Mar 3, 2026
497ba54
REF: Improve phase shift calculations and ensure ascending order of P…
Samuelopez-ansys Mar 3, 2026
3e09ae3
Merge branch 'main' into fresnel_extension
Samuelopez-ansys Mar 3, 2026
8dcf5ec
Fix the possibility of incorrect floating-point rounding representation
VladimirIL Mar 16, 2026
34c013c
CHORE: Auto fixes from pre-commit hooks
pre-commit-ci[bot] Mar 16, 2026
006df34
Merge branch 'main' into fresnel_extension
Samuelopez-ansys Mar 16, 2026
c27c10b
REF: Prevent desktop release on exception and enhance face assignment…
Samuelopez-ansys Mar 16, 2026
f97dda7
REF: Enhance Fresnel coefficient calculations to support isotropic an…
Samuelopez-ansys Mar 16, 2026
ddfbc92
Enhance isotropic/anisotropic detection in HFSS module with logging
Samuelopez-ansys Mar 16, 2026
eaf42c6
Fix theta_step calculation to ensure unique angle values in HFSS module
Samuelopez-ansys Mar 16, 2026
f471651
Fix theta_step calculation to ensure unique angle values in HFSS module
Samuelopez-ansys Mar 16, 2026
f7e84f7
Add test
Samuelopez-ansys Mar 16, 2026
6d2efd6
Revision of documentation for the Fresnel Extension
VladimirIL Mar 17, 2026
bb5295f
Merge remote-tracking branch 'origin/fresnel_extension' into fresnel_…
Samuelopez-ansys Mar 17, 2026
98e4c37
Update Fresnel extension to support version checks and enhance UI int…
Samuelopez-ansys Mar 17, 2026
dfc8cdb
Update Fresnel extension to support version checks and enhance UI int…
Samuelopez-ansys Mar 17, 2026
b0b186d
Merge branch 'main' into fresnel_extension
Samuelopez-ansys Mar 18, 2026
1380dba
ENHANCE: Add error handling for Floquet ports and improve code coverage
Samuelopez-ansys Mar 18, 2026
1a8d919
Merge branch 'main' into fresnel_extension
Samuelopez-ansys Mar 18, 2026
c065d28
chore: adding changelog file 6480.added.md [dependabot-skip]
pyansys-ci-bot Mar 18, 2026
ec92a80
DOCS: Update Fresnel extension documentation for consistency and clarity
Samuelopez-ansys Mar 19, 2026
83f9cb3
REFactor: remove redundant test for coefficient mode in Fresnel exten…
Samuelopez-ansys Mar 19, 2026
f9d17a5
DOCS: Correct formatting of section title in Fresnel extension docume…
Samuelopez-ansys Mar 20, 2026
4c16f5d
ENHANCE: Add is_isotropic parameter to get_fresnel_coefficients function
Samuelopez-ansys Mar 20, 2026
0b2d27f
ENHANCE: Add Floquet port creation in test_fresnel.py for improved te…
Samuelopez-ansys Mar 20, 2026
7a89252
Merge branch 'main' into fresnel_extension
Samuelopez-ansys Mar 20, 2026
f60ee2c
Update src/ansys/aedt/core/application/analysis.py
Samuelopez-ansys Mar 23, 2026
0a1f050
Update src/ansys/aedt/core/extensions/hfss/fresnel.py
Samuelopez-ansys Mar 23, 2026
017c65d
REFAC: Remove unnecessary comments from button widget definitions in …
Samuelopez-ansys Mar 23, 2026
b62eacd
REFAC: Remove unnecessary comments from button widget definitions in …
Samuelopez-ansys Mar 23, 2026
d080b04
Update src/ansys/aedt/core/extensions/hfss/fresnel.py
Samuelopez-ansys Mar 23, 2026
de4b70b
REFAC: Remove redundant desktop logging setting in misc.py
Samuelopez-ansys Mar 23, 2026
b35a1cc
REFAC: Simplify desktop logging settings in desktop.py
Samuelopez-ansys Mar 23, 2026
d85ae7c
Merge remote-tracking branch 'origin/fresnel_extension' into fresnel_…
Samuelopez-ansys Mar 23, 2026
a8ddc48
REFAC: Remove redundant return statement in hfss.py
Samuelopez-ansys Mar 23, 2026
8643f2f
Update src/ansys/aedt/core/application/analysis.py
Samuelopez-ansys Mar 23, 2026
cd58849
Merge remote-tracking branch 'origin/fresnel_extension' into fresnel_…
Samuelopez-ansys Mar 23, 2026
c3f5fb6
Merge branch 'main' into fresnel_extension
Samuelopez-ansys Mar 23, 2026
799bdfa
REFAC: Update create_output_variable parameters for improved clarity
Samuelopez-ansys Mar 23, 2026
5509d97
REFAC: Simplify elevation and azimuth resolution initialization in fr…
Samuelopez-ansys Mar 23, 2026
fc2af98
DOC: Add documentation URL for Fresnel extension in toolkits_catalog.…
Samuelopez-ansys Mar 23, 2026
23bf35b
REFAC: Update net primitives access to use layout in cutout and solve…
Samuelopez-ansys Mar 23, 2026
72afd23
REFAC: Remove "PASS" and "FAIL" indicators from UI validation message…
Samuelopez-ansys Mar 23, 2026
2146cc8
REFAC: Remove hardcoded window dimensions and initialize fresnel_type…
Samuelopez-ansys Mar 23, 2026
d3c0024
Merge branch 'main' into fresnel_extension
Samuelopez-ansys Mar 23, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions doc/changelog.d/6480.added.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Fresnel extension
7 changes: 7 additions & 0 deletions doc/source/User_guide/extensions.rst
Original file line number Diff line number Diff line change
Expand Up @@ -176,6 +176,13 @@ They are small automated workflows with a simple GUI.

Automated assembly workflow.

.. grid-item-card:: Fresnel coefficients
:link: pyaedt_extensions_doc/hfss/fresnel
:link-type: doc
:margin: 2 2 0 0

Extract Fresnel coefficients from HFSS Floquet port simulations for periodic structures.


Icepak extensions
~~~~~~~~~~~~~~~~~
Expand Down
100 changes: 100 additions & 0 deletions doc/source/User_guide/pyaedt_extensions_doc/hfss/fresnel.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
Fresnel coefficients (RTTBL extraction)
=======================================

With this extension, you can export Fresnel Coefficients for periodic structures from an HFSS Unit-Cell design with
Floquet ports in the RTTBL file format for further use in SBR+ for Fresnel (SBR+) Boundary Condition assignment.

You can access the extension from the icon created on the **Automation** tab using the Extension Manager.

Features
--------

The extension supports two regimes for processing Fresnel Coefficients:

* **Isotropic**: Scans over the elevation angle (theta) only - coupling between the TE and TM polarizations is not considered
* **Anisotropic**: Scans over both elevation (theta) and azimuth (phi) angles (not available yet) - considering the polarization coupling

Workflows
---------

The extension provides two workflow tabs:

Extraction workflow
~~~~~~~~~~~~~~~~~~~

Extract Fresnel coefficients from existing analysis results for a setup with parametric sweep.

1. Select a simulation setup and sweep
2. Click **Validate** to verify the design configuration
3. Click **Start** to extract the coefficients

.. image:: ../../../_static/extensions/fresnel_extraction.png
:width: 800
:alt: Fresnel Extraction workflow

Advanced workflow
~~~~~~~~~~~~~~~~~

Configure and run a new parametric analysis:

1. Select a simulation setup
2. Define the frequency sweep range (start, stop, step, units)
3. Set angular resolution (coarse, regular, or fine) for theta and phi (only for the Anisotropic regime)
4. Set the maximum theta scan value
5. Click **Apply and Validate** to create the parametric setup
6. Click **Start** to run the analysis and extract coefficients

.. image:: ../../../_static/extensions/fresnel_advanced.png
:width: 800
:alt: Fresnel Advanced Workflow

Simulation settings
~~~~~~~~~~~~~~~~~~~

This tab is to configure HPC and Parametric Sweep options:

* **HPC Options**: Set number of cores and tasks
* **Optimetrics Options**: Enable mesh reuse across variations

.. image:: ../../../_static/extensions/fresnel_settings.png
:width: 800
:alt: Fresnel Simulation Settings

Validation checks
-----------------

The extension performs several validation checks:

* Verifies Floquet Ports are correctly defined
* Checks for lattice pair boundaries
* Validates design integrity
* Confirms angular sweep configuration
* Calculates total number of frequency points and spatial directions

Requirements
------------
**General:**

* Unit-cell HFSS design with Floquet ports defined
* Lattice pair boundaries configured

**Specific for the Extraction Workflow:**

* Design variables ``scan_T`` (theta) and ``scan_P`` (phi) assigned to Lattice Pairs
* Both spatial and frequency sampling distributions should be uniform

Command line usage
------------------

You can also launch the extension from the terminal:

.. code-block:: python

from ansys.aedt.core.extensions.hfss.fresnel import FresnelExtension

extension = FresnelExtension(withdraw=False)

.. toctree::
:maxdepth: 2

../commandline
7 changes: 7 additions & 0 deletions doc/source/User_guide/pyaedt_extensions_doc/hfss/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -37,3 +37,10 @@ HFSS extensions
:margin: 2 2 0 0

Automated assembly workflow.

.. grid-item-card:: Fresnel
:link: fresnel
:link-type: doc
:margin: 2 2 0 0

Extract Fresnel coefficients from HFSS Floquet port simulations for periodic structures.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 2 additions & 0 deletions doc/styles/config/vocabularies/ANSYS/accept.txt
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ FEBI
FE-BI
file_path
fix_disjoints
Floquet
FRTM
getters
Github
Expand Down Expand Up @@ -97,6 +98,7 @@ RC
reusability
RF
RMXprt
RTTBL
scipy
setters
SIwave
Expand Down
9 changes: 6 additions & 3 deletions src/ansys/aedt/core/application/analysis.py
Original file line number Diff line number Diff line change
Expand Up @@ -535,6 +535,9 @@ def design_excitations(self) -> dict[str, BoundaryObject]:
"""
exc_names = self.excitation_names[::]

# Filter modes
exc_names = list(set([item.split(":")[0] for item in exc_names]))

for el in self.boundaries:
if el.name in exc_names:
self._excitation_objects[el.name] = el
Expand All @@ -543,7 +546,7 @@ def design_excitations(self) -> dict[str, BoundaryObject]:
keys_to_remove = [
internal_excitation
for internal_excitation in self._excitation_objects
if internal_excitation not in self.excitation_names
if internal_excitation not in exc_names
]

for key in keys_to_remove:
Expand Down Expand Up @@ -1347,9 +1350,9 @@ def create_output_variable(

Parameters
----------
variable : str, optional
variable : str
Name of the variable.
expression : str, optional
expression : str
Value for the variable.
solution : str, optional
Name of the solution in the format `"name : sweep_name"`.
Expand Down
3 changes: 2 additions & 1 deletion src/ansys/aedt/core/desktop.py
Original file line number Diff line number Diff line change
Expand Up @@ -691,7 +691,8 @@ def __init__(

# Setup logging.
self.__set_logger_file()
settings.enable_desktop_logs = not self.non_graphical and self.aedt_version_id < "2024.2"
if self.non_graphical:
settings.enable_desktop_logs = False
self.__init_desktop()

self._check_new_desktop(aedt_process_id, student_version)
Expand Down
Loading
Loading