FEM: Add EigenmodeFrequency property to result object
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
This commit is contained in:
parent
9531c0b088
commit
a85c68aa65
|
@ -44,6 +44,7 @@ FemResultObject::FemResultObject()
|
||||||
ADD_PROPERTY_TYPE(StressValues,(0), "Fem",Prop_None,"List of Von Misses strass values");
|
ADD_PROPERTY_TYPE(StressValues,(0), "Fem",Prop_None,"List of Von Misses strass values");
|
||||||
ADD_PROPERTY_TYPE(Mesh,(0), "General",Prop_None,"Link to the corrresponding mesh");
|
ADD_PROPERTY_TYPE(Mesh,(0), "General",Prop_None,"Link to the corrresponding mesh");
|
||||||
ADD_PROPERTY_TYPE(Eigenmode,(0), "Fem",Prop_None,"Number of the eigenmode");
|
ADD_PROPERTY_TYPE(Eigenmode,(0), "Fem",Prop_None,"Number of the eigenmode");
|
||||||
|
ADD_PROPERTY_TYPE(EigenmodeFrequency,(0), "Fem",Prop_None,"Frequency of the eigenmode");
|
||||||
}
|
}
|
||||||
|
|
||||||
FemResultObject::~FemResultObject()
|
FemResultObject::~FemResultObject()
|
||||||
|
|
|
@ -55,6 +55,8 @@ public:
|
||||||
App::PropertyFloatList StressValues;
|
App::PropertyFloatList StressValues;
|
||||||
/// Eigenmode number
|
/// Eigenmode number
|
||||||
App::PropertyInteger Eigenmode;
|
App::PropertyInteger Eigenmode;
|
||||||
|
/// Eigenmode frequency
|
||||||
|
App::PropertyFloat EigenmodeFrequency;
|
||||||
|
|
||||||
/// returns the type name of the ViewProvider
|
/// returns the type name of the ViewProvider
|
||||||
virtual const char* getViewProviderName(void) const {
|
virtual const char* getViewProviderName(void) const {
|
||||||
|
|
|
@ -422,6 +422,17 @@ class FemTools(QtCore.QRunnable, QtCore.QObject):
|
||||||
else:
|
else:
|
||||||
raise Exception('FEM: No results found at {}!'.format(frd_result_file))
|
raise Exception('FEM: No results found at {}!'.format(frd_result_file))
|
||||||
|
|
||||||
|
import ccxDatReader
|
||||||
|
dat_result_file = os.path.splitext(self.inp_file_name)[0] + '.dat'
|
||||||
|
if os.path.isfile(dat_result_file):
|
||||||
|
mode_frequencies = ccxDatReader.import_dat(dat_result_file, self.analysis)
|
||||||
|
else:
|
||||||
|
raise Exception('FEM: No .dat results found at {}!'.format(dat_result_file))
|
||||||
|
for m in self.analysis.Member:
|
||||||
|
if m.isDerivedFrom("Fem::FemResultObject") and m.Eigenmode > 0:
|
||||||
|
m.EigenmodeFrequency = mode_frequencies[m.Eigenmode - 1]['frequency']
|
||||||
|
m.setEditorMode("EigenmodeFrequency", 1)
|
||||||
|
|
||||||
def use_results(self, results_name=None):
|
def use_results(self, results_name=None):
|
||||||
for m in self.analysis.Member:
|
for m in self.analysis.Member:
|
||||||
if m.isDerivedFrom("Fem::FemResultObject") and m.Name == results_name:
|
if m.isDerivedFrom("Fem::FemResultObject") and m.Name == results_name:
|
||||||
|
|
Loading…
Reference in New Issue
Block a user