Skip to content

Commit

Permalink
FEM: Add NumberOfEigenmode 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 26cd01e commit fcf19ff
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 3 deletions.
18 changes: 15 additions & 3 deletions src/Mod/Fem/FemTools.py
Expand Up @@ -274,11 +274,23 @@ def start_ccx(self):

## Sets eigenmode parameters for CalculiX frequency analysis
# @param self The python object self
# @param number number of eigenmodes that wll be calculated, default 10
# @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 0.0
# @param limit_high higher value of requested eigenfrequency range, default 1000000.0
def set_eigenmode_parameters(self, number=10, limit_low=0.0, limit_high=1000000.0):
self.eigenmode_parameters = (number, limit_low, limit_high)
def set_eigenmode_parameters(self, number=None, limit_low=0.0, limit_high=1000000.0):
self.fem_prefs = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Fem")
if number is not None:
_number = number
else:
try:
_number = self.analysis.NumberOfEigenmodes
except:
#Not yet in prefs, so it will always default to 10
_number = self.fem_prefs.GetString("NumberOfEigenmodes", 10)
if _number < 1:
_number = 1

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 @@ -41,6 +41,11 @@ def __init__(self, obj):
obj.addProperty("App::PropertyPath", "WorkingDir", "Fem", "Working directory for calculations")
obj.WorkingDir = fem_prefs.GetString("WorkingDir", "")

obj.addProperty("App::PropertyIntegerConstraint", "NumberOfEigenmodes", "Fem", "Number of modes for frequency calculations")
#Not yet in prefs, so it will always default to 10
noe = fem_prefs.GetInt("NumberOfEigenmodes", 10)
obj.NumberOfEigenmodes = (noe, 1, 100, 1)

def execute(self, obj):
return

Expand Down

0 comments on commit fcf19ff

Please sign in to comment.