diff --git a/src/Mod/Fem/femresult/resulttools.py b/src/Mod/Fem/femresult/resulttools.py index bb9e864104..dd06374d28 100644 --- a/src/Mod/Fem/femresult/resulttools.py +++ b/src/Mod/Fem/femresult/resulttools.py @@ -119,6 +119,18 @@ def show_color_by_scalar_with_cutoff(resultobj, values, limit=None): ## Returns minimum, average and maximum value for provided result type # @param result object # @param result_type Type of FEM result, allowed are: +# - see def get_all_stats() for dict keys description +# - None - always return (0.0, 0.0, 0.0) +def get_stats(res_obj, result_type): + match_table = get_all_stats(res_obj) + match_table["None"] = (0.0, 0.0, 0.0) + stats = (0.0, 0.0, 0.0) + stats = match_table[result_type] + return stats + + +## Returns all stats for provided result type +# @param result object # - U1, U2, U3 - deformation # - Uabs - absolute deformation # - Sabs - Von Mises stress @@ -130,28 +142,24 @@ def show_color_by_scalar_with_cutoff(resultobj, values, limit=None): # - Temp - Temperature # - MFlow - MassFlowRate # - NPress - NetworkPressure -# - None - always return (0.0, 0.0, 0.0) -def get_stats(resultobj, result_type): - m = resultobj - stats = (0.0, 0.0, 0.0) - match_table = { - "U1": (m.Stats[0], m.Stats[1], m.Stats[2]), - "U2": (m.Stats[3], m.Stats[4], m.Stats[5]), - "U3": (m.Stats[6], m.Stats[7], m.Stats[8]), - "Uabs": (m.Stats[9], m.Stats[10], m.Stats[11]), - "Sabs": (m.Stats[12], m.Stats[13], m.Stats[14]), - "MaxPrin": (m.Stats[15], m.Stats[16], m.Stats[17]), - "MidPrin": (m.Stats[18], m.Stats[19], m.Stats[20]), - "MinPrin": (m.Stats[21], m.Stats[22], m.Stats[23]), - "MaxShear": (m.Stats[24], m.Stats[25], m.Stats[26]), - "Peeq": (m.Stats[27], m.Stats[28], m.Stats[29]), - "Temp": (m.Stats[30], m.Stats[31], m.Stats[32]), - "MFlow": (m.Stats[33], m.Stats[34], m.Stats[35]), - "NPress": (m.Stats[36], m.Stats[37], m.Stats[38]), - "None": (0.0, 0.0, 0.0) +def get_all_stats(res_obj): + m = res_obj.Stats + stats_dict = { + "U1": (m[0], m[1], m[2]), + "U2": (m[3], m[4], m[5]), + "U3": (m[6], m[7], m[8]), + "Uabs": (m[9], m[10], m[11]), + "Sabs": (m[12], m[13], m[14]), + "MaxPrin": (m[15], m[16], m[17]), + "MidPrin": (m[18], m[19], m[20]), + "MinPrin": (m[21], m[22], m[23]), + "MaxShear": (m[24], m[25], m[26]), + "Peeq": (m[27], m[28], m[29]), + "Temp": (m[30], m[31], m[32]), + "MFlow": (m[33], m[34], m[35]), + "NPress": (m[36], m[37], m[38]) } - stats = match_table[result_type] - return stats + return stats_dict def fill_femresult_stats(results):