Skip to content

Commit

Permalink
FEM: Add EigenmodeHighLimit property to analysis object
Browse files Browse the repository at this point in the history
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
  • Loading branch information
PrzemoF authored and wwmayer committed Oct 25, 2015
1 parent 042ded0 commit 068ba47
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 3 deletions.
14 changes: 11 additions & 3 deletions src/Mod/Fem/FemTools.py
Expand Up @@ -276,8 +276,8 @@ def start_ccx(self):
# @param self The python object self
# @param number number of eigenmodes that wll be calculated, default read for FEM prefs or 10 if not set in the FEM prefs
# @param limit_low lower value of requested eigenfrequency range, default read for FEM prefs or 0.0 if not set in the FEM prefs
# @param limit_high higher value of requested eigenfrequency range, default 1000000.0
def set_eigenmode_parameters(self, number=None, limit_low=None, limit_high=1000000.0):
# @param limit_high higher value of requested eigenfrequency range, default read for FEM prefs or 1000000.o if not set in the FEM prefs
def set_eigenmode_parameters(self, number=None, limit_low=None, limit_high=None):
self.fem_prefs = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Fem")
if number is not None:
_number = number
Expand All @@ -299,7 +299,15 @@ def set_eigenmode_parameters(self, number=None, limit_low=None, limit_high=10000
#Not yet in prefs, so it will always default to 0.0
_limit_low = self.fem_prefs.GetString("EigenmodeLowLimit", 0.0)

self.eigenmode_parameters = (_number, _limit_low, limit_high)
if limit_high is not None:
_limit_high = limit_high
else:
try:
_limit_high = self.analysis.EigenmodeHighLimit
except:
#Not yet in prefs, so it will always default to 1000000.0
_limit_high = self.fem_prefs.GetString("EigenmodeHighLimit", 1000000.0)
self.eigenmode_parameters = (_number, _limit_low, _limit_high)

## Sets base_name
# @param self The python object self
Expand Down
5 changes: 5 additions & 0 deletions src/Mod/Fem/_FemAnalysis.py
Expand Up @@ -51,6 +51,11 @@ def __init__(self, obj):
ell = fem_prefs.GetFloat("EigenmodeLowLimit", 0.0)
obj.EigenmodeLowLimit = (ell, 0.0, 1000000.0, 10000.0)

obj.addProperty("App::PropertyFloatConstraint", "EigenmodeHighLimit", "Fem", "High frequency limit for eigenmode calculations")
#Not yet in prefs, so it will always default to 1000000.0
ehl = fem_prefs.GetFloat("EigenmodeHighLimit", 1000000.0)
obj.EigenmodeHighLimit = (ehl, 0.0, 1000000.0, 100000)

def execute(self, obj):
return

Expand Down

0 comments on commit 068ba47

Please sign in to comment.