@@ -31,7 +31,7 @@ def __init__(self, pset, *args, cares_cutoff=True, page=False):
3131 page (bool): if true, page or store results to disk
3232 """
3333 self .cares_cutoff = cares_cutoff
34- self .shear_sensitive = pset .get_default ("shear_sensitive" , True )
34+ self .shear_sensitive = pset .get_default ("shear_sensitive" , False )
3535 self .page = page
3636 self .page_prefix = ""
3737
@@ -956,11 +956,13 @@ def calculate_volume_flaw_flattened_eq_stress(
956956 self .material = material
957957 self .mandel_stress = mandel_stress
958958
959+ self .suvals = material .threshold_vol (temperatures )
959960 self .mvals = material .modulus_vol (temperatures )
960961 N = material .Nv (temperatures )
961962 B = material .Bv (temperatures )
962963
963964 # Temperature average values
965+ suavg = np .mean (self .suvals ,axis = 0 )
964966 mavg = np .mean (self .mvals , axis = 0 )
965967 Navg = np .mean (N , axis = 0 )
966968 Bavg = np .mean (B , axis = 0 )
@@ -1047,6 +1049,11 @@ def calculate_volume_flaw_flattened_eq_stress(
10471049 + (sigma_e_max ** (Navg [..., None , None ] - 2 ))
10481050 ) ** (1 / (Navg [..., None , None ] - 2 ))
10491051
1052+ # Subtracting threshold stress
1053+ sigma_e_0 -= suavg [...,None , None ]
1054+ sigma_e_0 [sigma_e_0 < 0 ] = 0
1055+
1056+
10501057 # Defining area integral element wise
10511058 integral = (
10521059 (sigma_e_0 ** mavg [..., None , None ])
@@ -1098,6 +1105,7 @@ def calculate_surface_flaw_flattened_eq_stress(
10981105 self .material = material
10991106 self .mandel_stress = mandel_stress
11001107
1108+ suvals = material .threshold_surf (temperatures )
11011109 mvals = material .modulus_surf (temperatures )
11021110 N = material .Ns (temperatures )
11031111 B = material .Bs (temperatures )
@@ -1106,6 +1114,7 @@ def calculate_surface_flaw_flattened_eq_stress(
11061114 count_surface_elements = np .count_nonzero (surface_elements )
11071115
11081116 # Temperature average values
1117+ suavg = np .mean (suvals ,axis = 0 )[:count_surface_elements ]
11091118 mavg = np .mean (mvals , axis = 0 )[:count_surface_elements ]
11101119 Navg = np .mean (N , axis = 0 )[:count_surface_elements ]
11111120 Bavg = np .mean (B , axis = 0 )[:count_surface_elements ]
@@ -1198,6 +1207,10 @@ def calculate_surface_flaw_flattened_eq_stress(
11981207 + (sigma_e_max ** (Navg [..., None , None , None ] - 2 ))
11991208 ) ** (1 / (Navg [..., None , None , None ] - 2 ))
12001209
1210+ # Subtracting threshold stress
1211+ sigma_e_0 -= suavg [...,None , None , None ]
1212+ sigma_e_0 [sigma_e_0 < 0 ] = 0
1213+
12011214 # Defining area integral element wise
12021215 integral = (sigma_e_0 ** mavg [..., None , None , None ]) * self .ddelta
12031216
@@ -1262,8 +1275,6 @@ def calculate_volume_flaw_element_log_reliability(
12621275 mavg = np .mean (mvals , axis = 0 )
12631276 kavg = np .mean (kvals , axis = 0 )
12641277
1265- # shear_sensitive = True
1266-
12671278 if self .shear_sensitive is True :
12681279 try :
12691280 kbar = self .calculate_volume_flaw_kbar (
@@ -1428,19 +1439,21 @@ def calculate_volume_flaw_element_log_reliability(
14281439 pstress = self .calculate_volume_principal_stress (mandel_stress )
14291440
14301441 # Material parameters
1442+ suvals = material .threshold_vol (temperatures )
14311443 svals = material .strength_vol (temperatures )
14321444 mvals = material .modulus_vol (temperatures )
14331445 kvals = svals ** (- mvals )
14341446 N = material .Nv (temperatures )
14351447 B = material .Bv (temperatures )
14361448
14371449 # Temperature average values
1450+ suavg = np .mean (suvals ,axis = 0 )
14381451 mavg = np .mean (mvals , axis = 0 )
14391452 kavg = np .mean (kvals , axis = 0 )
14401453 Navg = np .mean (N , axis = 0 )
14411454 Bavg = np .mean (B , axis = 0 )
14421455
1443- # Only tension
1456+ # Only tension
14441457 pstress [pstress < 0 ] = 0
14451458
14461459 # Max principal stresss over all time steps for each element
@@ -1463,10 +1476,15 @@ def calculate_volume_flaw_element_log_reliability(
14631476 + (pstress_max ** (Navg [..., None ] - 2 ))
14641477 ) ** (1 / (Navg [..., None ] - 2 ))
14651478
1466- # Log reliability in each element
1467- log_reliability = (
1468- - kavg * np .sum (pstress_0 ** mavg [..., None ], axis = - 1 ) * volumes
1469- )
1479+ # Subtracting threshold stress
1480+ pstress_0 -= suavg [...,None ]
1481+ pstress_0 [pstress_0 < 0 ] = 0
1482+
1483+ ## Without threshold
1484+ log_reliability = (
1485+ - kavg * np .sum (pstress_0 ** mavg [..., None ], axis = - 1 ) * volumes
1486+ )
1487+
14701488
14711489 return log_reliability
14721490
@@ -1498,6 +1516,7 @@ def calculate_surface_flaw_element_log_reliability(
14981516 """
14991517
15001518 # Material parameters
1519+ suvals = material .threshold_surf (temperatures )
15011520 svals = material .strength_surf (temperatures )
15021521 mvals = material .modulus_surf (temperatures )
15031522 kvals = svals ** (- mvals )
@@ -1508,6 +1527,7 @@ def calculate_surface_flaw_element_log_reliability(
15081527 count_surface_elements = np .count_nonzero (surface )
15091528
15101529 # Temperature average values
1530+ suavg = np .mean (suvals ,axis = 0 )[:count_surface_elements ]
15111531 mavg = np .mean (mvals , axis = 0 )[:count_surface_elements ]
15121532 kavg = np .mean (kvals , axis = 0 )[:count_surface_elements ]
15131533 Navg = np .mean (N , axis = 0 )[:count_surface_elements ]
@@ -1545,6 +1565,10 @@ def calculate_surface_flaw_element_log_reliability(
15451565 + (surf_pstress_max ** (Navg [..., None , None ] - 2 ))
15461566 ) ** (1 / (Navg [..., None , None ] - 2 ))
15471567
1568+ # Subtracting threshold stress
1569+ surf_pstress_0 -= suavg [...,None , None ]
1570+ surf_pstress_0 [surf_pstress_0 < 0 ] = 0
1571+
15481572 # Summing up over last two axes i.e. over the elements of surface stress and
15491573 # surfaces for which normals are there
15501574
@@ -1586,11 +1610,13 @@ def calculate_volume_flaw_avg_normal_stress(
15861610 self .material = material
15871611 self .mandel_stress = mandel_stress
15881612
1613+ suvals = material .threshold_vol (temperatures )
15891614 mvals = material .modulus_vol (temperatures )
15901615 N = material .Nv (temperatures )
15911616 B = material .Bv (temperatures )
15921617
15931618 # Temperature average values
1619+ suavg = np .mean (suvals ,axis = 0 )
15941620 mavg = np .mean (mvals , axis = 0 )
15951621 Navg = np .mean (N , axis = 0 )
15961622 Bavg = np .mean (B , axis = 0 )
@@ -1674,6 +1700,10 @@ def calculate_volume_flaw_avg_normal_stress(
16741700 + (sigma_n_max ** (Navg [..., None , None ] - 2 ))
16751701 ) ** (1 / (Navg [..., None , None ] - 2 ))
16761702
1703+ # Subtracting threshold stress
1704+ sigma_n_0 -= suavg [...,None , None ]
1705+ sigma_n_0 [sigma_n_0 < 0 ] = 0
1706+
16771707 integral = (
16781708 (sigma_n_0 ** mavg [..., None , None ])
16791709 * np .sin (self .A )
@@ -1716,6 +1746,7 @@ def calculate_surface_flaw_avg_normal_stress(
17161746 self .material = material
17171747 self .mandel_stress = mandel_stress
17181748
1749+ suvals = material .threshold_surf (temperatures )
17191750 mvals = material .modulus_surf (temperatures )
17201751 N = material .Ns (temperatures )
17211752 B = material .Bs (temperatures )
@@ -1728,6 +1759,7 @@ def calculate_surface_flaw_avg_normal_stress(
17281759 count_surface_elements = np .count_nonzero (surface )
17291760
17301761 # Temperature average values
1762+ suavg = np .mean (suvals ,axis = 0 )[:count_surface_elements ]
17311763 mavg = np .mean (mvals , axis = 0 )[:count_surface_elements ]
17321764 Navg = np .mean (N , axis = 0 )[:count_surface_elements ]
17331765 Bavg = np .mean (B , axis = 0 )[:count_surface_elements ]
@@ -1822,6 +1854,11 @@ def calculate_surface_flaw_avg_normal_stress(
18221854 + (sigma_n_max ** (Navg [..., None , None , None ] - 2 ))
18231855 ) ** (1 / (Navg [..., None , None , None ] - 2 ))
18241856
1857+ # Subtracting threshold stress
1858+ sigma_n_0 -= suavg [...,None , None , None ]
1859+ sigma_n_0 [sigma_n_0 < 0 ] = 0
1860+
1861+
18251862 integral = ((sigma_n_0 ** mavg [..., None , None , None ]) * self .ddelta ) / (
18261863 2 * np .pi
18271864 )
0 commit comments