FEM: result tools, better variable names

This commit is contained in:
Bernd Hahnebach
2019-03-26 08:42:33 +01:00
committed by wmayer
parent c511ecc7f7
commit 8104a4fd04
2 changed files with 12 additions and 12 deletions

View File

@@ -232,7 +232,7 @@ def fill_femresult_mechanical(res_obj, result_set):
Sxy = []
Sxz = []
Syz = []
for i, values_S in enumerate(stress.values()): # values_S .. stresstuple .. (Sxx, Syy, Szz, Sxy, Sxz, Syz)
for i, values_S in enumerate(stress.values()): # values_S .. stress_tensor .. (Sxx, Syy, Szz, Sxy, Sxz, Syz)
Sxx.append(values_S[0])
Syy.append(values_S[1])
Szz.append(values_S[2])

View File

@@ -332,23 +332,23 @@ def compact_result(res_obj):
return res_obj
def calculate_von_mises(stresstuple):
def calculate_von_mises(stress_tensor):
# Von mises stress: http://en.wikipedia.org/wiki/Von_Mises_yield_criterion
# simplification: https://forum.freecadweb.org/viewtopic.php?f=18&t=33974&p=296542#p296542
# stresstuple ... (Sxx, Syy, Szz, Sxy, Sxz, Syz)
normal = stresstuple[:3]
shear = stresstuple[3:]
# stress_tensor ... (Sxx, Syy, Szz, Sxy, Sxz, Syz)
normal = stress_tensor[:3]
shear = stress_tensor[3:]
pressure = np.average(normal)
return np.sqrt(1.5 * np.linalg.norm(normal - pressure)**2 + 3.0 * np.linalg.norm(shear)**2)
def calculate_principal_stress(stresstuple):
s11 = stresstuple[0] # Sxx
s22 = stresstuple[1] # Syy
s33 = stresstuple[2] # Szz
s12 = stresstuple[3] # Sxy
s31 = stresstuple[4] # Sxz
s23 = stresstuple[5] # Syz
def calculate_principal_stress(stress_tensor):
s11 = stress_tensor[0] # Sxx
s22 = stress_tensor[1] # Syy
s33 = stress_tensor[2] # Szz
s12 = stress_tensor[3] # Sxy
s31 = stress_tensor[4] # Sxz
s23 = stress_tensor[5] # Syz
sigma = np.array([
[s11, s12, s31],
[s12, s22, s23],