Skip to content

Commit

Permalink
Merge branch 'main' into release/0.15
Browse files Browse the repository at this point in the history
  • Loading branch information
Samuelopez-ansys committed Feb 24, 2025
2 parents c27aa71 + e99f0f2 commit 9a6367c
Show file tree
Hide file tree
Showing 123 changed files with 3,988 additions and 2,012 deletions.
3 changes: 3 additions & 0 deletions doc/source/API/FilterSolutions.rst
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,8 @@ Distributed filters rely on transmission lines and resonators.
* ``DistributedSubstrate`` to define attributes and parameters of the substrate used in distributed filters.
* ``DistributedGeometry`` to define attributes and parameters of the substrate geometry used in distributed filters.
* ``DistributedRadial`` to define attributes and parameters of the substrate radial used in distributed filters.
* ``DistributedParasitics`` to define attributes and parameters of parasitic values associated with lumped elements.



They are accessible through:
Expand All @@ -76,6 +78,7 @@ They are accessible through:
distributed_substrate.DistributedSubstrate
distributed_geometry.DistributedGeometry
distributed_radial.DistributedRadial
distributed_parasitics.DistributedParasitics

``Distributed Filter`` example:

Expand Down
32 changes: 32 additions & 0 deletions doc/source/API/Variables.rst
Original file line number Diff line number Diff line change
Expand Up @@ -29,3 +29,35 @@ design and project variables in the 3D tools.
Variable
DataSet
CSVDataset



Quantity and numbers
====================

Quantities with units can be managed using the class Quantity.

.. code:: python
from ansys.aedt.core.generic.numbers import Quantity
a = Quantity(1, "GHz")
b = a + 1
c = a + "1MHz"
d = a + b
a.unit = "Hz"
e = a.to("MHz")
str(a)
float(a)
hfss = ansys.aedt.core.Hfss()
setup = hfss.create_setup()
setup.props["Freq"] = a
.. currentmodule:: ansys.aedt.core.generic.numbers

.. autosummary::
:toctree: _autosummary
:nosignatures:

Quantity

2 changes: 2 additions & 0 deletions doc/source/Resources/pyaedt_settings.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -124,3 +124,5 @@ general:
remote_rpc_session_temp_folder: ''
# Block figure plot during python script run
block_figure_plot: false
# Skip license check during Desktop initialization
skip_license_check: false
4 changes: 4 additions & 0 deletions doc/source/User_guide/settings.rst
Original file line number Diff line number Diff line change
Expand Up @@ -147,3 +147,7 @@ Below is the content that can be updated through the YAML file.
pyaedt_server_path: ''
# Remote temp folder
remote_rpc_session_temp_folder: ''
# Block figure plot during python script run
block_figure_plot: false
# Skip license check during Desktop initialization
skip_license_check: false
18 changes: 18 additions & 0 deletions doc/source/User_guide/variables.rst
Original file line number Diff line number Diff line change
Expand Up @@ -58,3 +58,21 @@ optimetrics setups by allowing you to read existing configurations, make edits,
:width: 800
:alt: Optimetrics creation


Quantity and numbers
====================

Quantities with units can be managed using the class ``Quantity``.

.. code:: python
from ansys.aedt.core.generic.numbers import Quantity
a = Quantity(1, "GHz")
b = a + 1
c = a + "1MHz"
d = a + b
a.unit = "Hz"
e = a.to("MHz")
str(a)
float(a)
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ doc = [
"jupyter",
"numpydoc>=1.5.0,<1.9",
"recommonmark",
"Sphinx>=7.1.0,<8.2",
"Sphinx>=7.1.0,<8.3",
# NOTE: latest compatible version for Python 3.8 is 2021.3.14
"sphinx-autobuild==2021.3.14; python_version == '3.8'",
"sphinx-autobuild==2024.10.3; python_version > '3.8'",
Expand Down
1 change: 1 addition & 0 deletions src/ansys/aedt/core/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -116,3 +116,4 @@ def custom_show_warning(message, category, filename, lineno, file=None, line=Non
from ansys.aedt.core.generic.general_methods import is_windows
from ansys.aedt.core.generic.general_methods import online_help
from ansys.aedt.core.generic.general_methods import pyaedt_function_handler
from ansys.aedt.core.generic.numbers import Quantity
142 changes: 117 additions & 25 deletions src/ansys/aedt/core/application/aedt_objects.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,9 @@

import sys
import time
import warnings

from ansys.aedt.core.application.aedt_units import AedtUnits
from ansys.aedt.core.generic.desktop_sessions import _desktop_sessions
from ansys.aedt.core.generic.general_methods import is_linux
from ansys.aedt.core.generic.general_methods import pyaedt_function_handler
Expand Down Expand Up @@ -66,7 +68,7 @@ def __init__(self, desktop=None, project=None, design=None, is_inherithed=False)
self._odefinition_manager = None
self._omaterial_manager = None
self._omodel_setup = None
self._o_maxwell_parameters = None
self._omaxwell_parameters = None
self._omonitor = None
self._osolution = None
self._oexcitation = None
Expand All @@ -76,16 +78,28 @@ def __init__(self, desktop=None, project=None, design=None, is_inherithed=False)
self._omeshmodule = None
self._oeditor = None
self._layouteditor = None
self._o_component_manager = None
self._o_model_manager = None
self._o_symbol_manager = None
self._opadstackmanager = None
self._ocomponent_manager = None
self._omodel_manager = None
self._osymbol_manager = None
self._opadstack_manager = None
self._oradfield = None
self._onetwork_data_explorer = None
self.__aedtunits = AedtUnits(self)

@property
def units(self):
"""PyAEDT default units.
Returns
-------
:class:`ansys.aedt.core.application.aedt_units.AedtUnits`
"""
return self.__aedtunits

@property
def oradfield(self):
"""AEDT Radiation Field Object.
"""AEDT radiation field object.
References
----------
Expand All @@ -97,7 +111,7 @@ def oradfield(self):

@pyaedt_function_handler()
def get_module(self, module_name):
"""Aedt Module object."""
"""AEDT module object."""
if self.design_type not in ["EMIT"] and self._odesign:
try:
return self._odesign.GetModule(module_name)
Expand All @@ -106,8 +120,8 @@ def get_module(self, module_name):
return None

@property
def o_symbol_manager(self):
"""Aedt Symbol Manager.
def osymbol_manager(self):
"""AEDT symbol manager.
References
----------
Expand All @@ -118,16 +132,50 @@ def o_symbol_manager(self):
return

@property
def opadstackmanager(self):
def o_symbol_manager(self): # pragma: no cover
"""AEDT symbol manager.
.. deprecated:: 0.15.0
Use :func:`osymbol_manager` property instead.
References
----------
>>> oSymbolManager = oDefinitionManager.GetManager("Symbol")
"""
warnings.warn(
"`o_symbol_manager` is deprecated. Use `osymbol_manager` instead.",
DeprecationWarning,
)
return self.osymbol_manager

@property
def opadstack_manager(self):
"""AEDT padstack manager.
References
----------
>>> oPadstackManger = oDefinitionManager.GetManager("Padstack")
"""
if self._oproject and not self._opadstack_manager:
self._opadstack_manager = self._oproject.GetDefinitionManager().GetManager("Padstack")
return self._opadstack_manager

@property
def opadstackmanager(self): # pragma: no cover
"""AEDT oPadstackManager.
.. deprecated:: 0.15.0
Use :func:`opadstack_manager` property instead.
References
----------
>>> oPadstackManger = oDefinitionManager.GetManager("Padstack")
"""
if self._oproject and not self._opadstackmanager:
self._opadstackmanager = self._oproject.GetDefinitionManager().GetManager("Padstack")
return self._opadstackmanager
warnings.warn(
"`opadstackmanager` is deprecated. Use `opadstack_manager` instead.",
DeprecationWarning,
)
return self.opadstack_manager

@property
def design_type(self):
Expand Down Expand Up @@ -247,7 +295,7 @@ def omodelsetup(self):
return self._omodel_setup

@property
def o_maxwell_parameters(self):
def omaxwell_parameters(self):
"""AEDT Maxwell Parameter Setup Object.
References
Expand All @@ -256,9 +304,26 @@ def o_maxwell_parameters(self):
"""
if self._odesign and self.design_type not in ["Maxwell 3D", "Maxwell 2D"]:
return
if not self._o_maxwell_parameters:
self._o_maxwell_parameters = self.get_module("MaxwellParameterSetup")
return self._o_maxwell_parameters
if not self._omaxwell_parameters:
self._omaxwell_parameters = self.get_module("MaxwellParameterSetup")
return self._omaxwell_parameters

@property
def o_maxwell_parameters(self): # pragma: no cover
"""AEDT Maxwell Parameter Setup Object.
.. deprecated:: 0.15.0
Use :func:`omaxwell_parameters` property instead.
References
----------
>>> oDesign.GetModule("MaxwellParameterSetup")
"""
warnings.warn(
"`o_maxwell_parameters` is deprecated. Use `omaxwell_parameters` instead.",
DeprecationWarning,
)
return self.omaxwell_parameters

@property
def omonitor(self):
Expand Down Expand Up @@ -423,18 +488,45 @@ def layouteditor(self):
return self._layouteditor

@property
def o_component_manager(self):
def ocomponent_manager(self):
"""Component manager object."""
if not self._o_component_manager and self.odefinition_manager:
self._o_component_manager = self.odefinition_manager.GetManager("Component")
return self._o_component_manager
if not self._ocomponent_manager and self.odefinition_manager:
self._ocomponent_manager = self.odefinition_manager.GetManager("Component")
return self._ocomponent_manager

@property
def o_component_manager(self): # pragma: no cover
"""Component manager object.
.. deprecated:: 0.15.0
Use :func:`ocomponent_manager` property instead.
"""
warnings.warn(
"`o_component_manager` is deprecated. Use `ocomponent_manager` instead.",
DeprecationWarning,
)
return self.ocomponent_manager

@property
def o_model_manager(self):
def omodel_manager(self):
"""Model manager object."""
if not self._o_model_manager and self.odefinition_manager:
self._o_model_manager = self.odefinition_manager.GetManager("Model")
return self._o_model_manager
if not self._omodel_manager and self.odefinition_manager:
self._omodel_manager = self.odefinition_manager.GetManager("Model")
return self._omodel_manager

@property
def o_model_manager(self): # pragma: no cover
"""Model manager object.
.. deprecated:: 0.15.0
Use :func:`omodel_manager` property instead.
"""
warnings.warn(
"`o_model_manager` is deprecated. Use `omodel_manager` instead.",
DeprecationWarning,
)
return self.omodel_manager

@property
def onetwork_data_explorer(self):
Expand Down
Loading

0 comments on commit 9a6367c

Please sign in to comment.