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(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(EigenmodeFrequency,(0), "Fem",Prop_None,"Frequency of the eigenmode");
|
||||
}
|
||||
|
||||
FemResultObject::~FemResultObject()
|
||||
|
|
|
@ -55,6 +55,8 @@ public:
|
|||
App::PropertyFloatList StressValues;
|
||||
/// Eigenmode number
|
||||
App::PropertyInteger Eigenmode;
|
||||
/// Eigenmode frequency
|
||||
App::PropertyFloat EigenmodeFrequency;
|
||||
|
||||
/// returns the type name of the ViewProvider
|
||||
virtual const char* getViewProviderName(void) const {
|
||||
|
|
|
@ -422,6 +422,17 @@ class FemTools(QtCore.QRunnable, QtCore.QObject):
|
|||
else:
|
||||
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):
|
||||
for m in self.analysis.Member:
|
||||
if m.isDerivedFrom("Fem::FemResultObject") and m.Name == results_name:
|
||||
|
|
Loading…
Reference in New Issue
Block a user