Skip to content

Commit d27024f

Browse files
maxcapodi78maxcapodi78
authored andcommitted
Added delete methods to parametrics, optimizations and setup classes.
1 parent ea02f0f commit d27024f

File tree

4 files changed

+119
-16
lines changed

4 files changed

+119
-16
lines changed

_unittest/test_11_Setup.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,3 +67,11 @@ def test_03_non_valid_setup(self):
6767
assert not setup1.enable_adaptive_setup_broadband(1, 2.5, 10, 0.01)
6868
assert not setup1.enable_adaptive_setup_single(3.5)
6969
self.aedtapp.solution_type = sol
70+
71+
def test_03_delete_setup(self):
72+
self.aedtapp.duplicate_design("delete_setups")
73+
setup1 = self.aedtapp.create_setup("My_HFSS_Setup2", self.aedtapp.SETUPS.HFSSDrivenAuto)
74+
assert len(self.aedtapp.setups) == 1
75+
assert setup1.delete()
76+
assert len(self.aedtapp.setups) == 0
77+
assert not self.aedtapp.get_setups()

_unittest/test_20_HFSS.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -597,6 +597,7 @@ def test_25_create_parametrics(self):
597597
)
598598
oo = self.aedtapp.get_oo_object(self.aedtapp.odesign, r"Optimetrics\ParametricsfromFile")
599599
assert oo
600+
assert self.aedtapp.parametrics.delete("ParametricsfromFile")
600601

601602
def test_26_create_optimization(self):
602603
calculation = "db(S(Cir1,Cir1))"
@@ -626,13 +627,15 @@ def test_26_create_optimization(self):
626627
if "NAME:Ranges" in el:
627628
break
628629
assert "rd" in el[2]
630+
assert self.aedtapp.optimizations.delete(setup2.name)
629631

630632
def test_27_create_doe(self):
631633
setup2 = self.aedtapp.optimizations.add("db(S(1,1))", ranges={"Freq": "2.5GHz"}, optim_type="DXDOE")
632634
assert setup2.add_variation("w1", 0.1, 10, 51)
633635
assert setup2
634636
assert setup2.add_goal(calculation="dB(S(1,1))", ranges={"Freq": "2.6GHz"})
635637
assert setup2.add_calculation(calculation="dB(S(1,1))", ranges={"Freq": "2.5GHz"})
638+
assert setup2.delete()
636639

637640
def test_28A_create_dx(self):
638641
setup2 = self.aedtapp.optimizations.add(None, {"w1": "1mm", "w2": "2mm"}, optim_type="optiSLang")

pyaedt/modules/DesignXPloration.py

Lines changed: 94 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -479,6 +479,25 @@ class SetupOpti(CommonOptimetrics, object):
479479
def __init__(self, app, name, dictinputs=None, optim_type="OptiDesignExplorer"):
480480
CommonOptimetrics.__init__(self, app, name, dictinputs=dictinputs, optimtype=optim_type)
481481

482+
@pyaedt_function_handler()
483+
def delete(self):
484+
"""Delete a defined Optimetrics Setup.
485+
486+
Parameters
487+
----------
488+
setup_name : str
489+
Name of optimetrics setup to delete.
490+
491+
Returns
492+
-------
493+
bool
494+
`True` if setup is deleted. `False` if it failed.
495+
"""
496+
497+
self.omodule.DeleteSetups([self.name])
498+
self._app.optimizations.setups.remove(self)
499+
return True
500+
482501
@pyaedt_function_handler()
483502
def add_calculation(
484503
self,
@@ -701,6 +720,25 @@ def __init__(self, p_app, name, dictinputs=None, optim_type="OptiParametric"):
701720
CommonOptimetrics.__init__(self, p_app, name, dictinputs=dictinputs, optimtype=optim_type)
702721
pass
703722

723+
@pyaedt_function_handler()
724+
def delete(self):
725+
"""Delete a defined Optimetrics Setup.
726+
727+
Parameters
728+
----------
729+
setup_name : str
730+
Name of optimetrics setup to delete.
731+
732+
Returns
733+
-------
734+
bool
735+
`True` if setup is deleted. `False` if it failed.
736+
"""
737+
738+
self.omodule.DeleteSetups([self.name])
739+
self._app.parametrics.setups.remove(self)
740+
return True
741+
704742
@pyaedt_function_handler()
705743
def add_variation(self, sweep_var, start_point, end_point, step=100, unit=None, variation_type="LinearCount"):
706744
"""Add a variation to an existing parametric setup.
@@ -929,6 +967,26 @@ def add(
929967
self.setups.append(setup)
930968
return setup
931969

970+
@pyaedt_function_handler()
971+
def delete(self, setup_name):
972+
"""Delete a defined Optimetrics Setup.
973+
974+
Parameters
975+
----------
976+
setup_name : str
977+
Name of optimetrics setup to delete.
978+
979+
Returns
980+
-------
981+
bool
982+
`True` if setup is deleted. `False` if it failed.
983+
"""
984+
for el in self.setups:
985+
if el.name == setup_name:
986+
el.delete()
987+
return True
988+
return False
989+
932990
@pyaedt_function_handler()
933991
def add_from_file(self, filename, parametricname=None):
934992
"""Add a Parametric Setup from a csv file.
@@ -964,22 +1022,6 @@ class OptimizationSetups(object):
9641022
>>> optimization_setup = app.optimizations
9651023
"""
9661024

967-
@property
968-
def p_app(self):
969-
"""Parent."""
970-
return self._app
971-
972-
@property
973-
def optimodule(self):
974-
"""Optimetrics module.
975-
976-
Returns
977-
-------
978-
:class:`Optimetrics`
979-
980-
"""
981-
return self._app.ooptimetrics
982-
9831025
def __init__(self, p_app):
9841026
self._app = p_app
9851027
self.setups = []
@@ -999,6 +1041,42 @@ def __init__(self, p_app):
9991041
except:
10001042
pass
10011043

1044+
@property
1045+
def p_app(self):
1046+
"""Parent."""
1047+
return self._app
1048+
1049+
@property
1050+
def optimodule(self):
1051+
"""Optimetrics module.
1052+
1053+
Returns
1054+
-------
1055+
:class:`Optimetrics`
1056+
1057+
"""
1058+
return self._app.ooptimetrics
1059+
1060+
@pyaedt_function_handler()
1061+
def delete(self, setup_name):
1062+
"""Delete a defined Optimetrics Setup.
1063+
1064+
Parameters
1065+
----------
1066+
setup_name : str
1067+
Name of optimetrics setup to delete.
1068+
1069+
Returns
1070+
-------
1071+
bool
1072+
`True` if setup is deleted. `False` if it failed.
1073+
"""
1074+
for el in self.setups:
1075+
if el.name == setup_name:
1076+
el.delete()
1077+
return True
1078+
return False
1079+
10021080
@pyaedt_function_handler()
10031081
def add(
10041082
self,

pyaedt/modules/SolveSetup.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,20 @@ def update(self, update_dictionary=None):
157157
self.omodule.EditSetup(self.name, arg)
158158
return True
159159

160+
@pyaedt_function_handler()
161+
def delete(self):
162+
"""Delete actual Setup.
163+
164+
Returns
165+
-------
166+
bool
167+
`True` if setup is deleted. `False` if it failed.
168+
"""
169+
170+
self.omodule.DeleteSetups([self.name])
171+
self._app.setups.remove(self)
172+
return True
173+
160174
@pyaedt_function_handler()
161175
def _expression_cache(
162176
self,

0 commit comments

Comments
 (0)