コード例 #1
0
def open_hole_strength(lam, nxy_ff, hole_dia, d0, theory, dtemp=0.0):
    """Analyse open hole strength using strength analysis B method.
    evaluate stresses at hole edge plus distance d0
    """

    # create open hole instance
    radius = hole_dia / 2
    try:
        hole = CircularHoleInfiniteAnisotropicPlate(lam, radius)
    except IsotropicMaterialError:
        hole = CircularHoleInfiniteIsotropicPlate(radius)

    angles = np.arange(0, 360, 5)  # 5° step

    all_res = []

    for theta in angles:
        theta_rad = np.radians(theta)
        x = (radius + d0) * math.cos(theta_rad)
        y = (radius + d0) * math.sin(theta_rad)
        ntheta = hole.cart_stress(x, y, nxy_ff)
        # dtemp = 0
        strength = failure_analysis_b(lam, ntheta, dtemp, theory)
        all_res.append((theta, strength))

    return all_res
コード例 #2
0
 def test_memb_airbus(self):
     r = plainstrength.failure_analysis_b(self.mlam, self.load3, self.dtemp,
                                          'Airbus')
     print(r)
コード例 #3
0
 def test_memb_maxstrain(self):
     r = plainstrength.failure_analysis_b(self.mlam, self.load3, self.dtemp,
                                          'MaxStrain')
     print(r)
コード例 #4
0
 def test_memb_modpuck(self):
     r = plainstrength.failure_analysis_b(self.mlam, self.load3, self.dtemp,
                                          'ModPuck')
     print(r)
コード例 #5
0
 def test_memb_hashinb(self):
     r = plainstrength.failure_analysis_b(self.mlam, self.load3, self.dtemp,
                                          'Hashin B')
     print(r)
コード例 #6
0
 def test_flex_airbus(self):
     r = plainstrength.failure_analysis_b(self.lam, self.load6, self.dtemp,
                                          'Airbus')
     print(r)
コード例 #7
0
 def test_flex_maxstrain(self):
     r = plainstrength.failure_analysis_b(self.lam, self.load6, self.dtemp,
                                          'MaxStrain')
     print(r)
コード例 #8
0
 def test_flex_modpuck(self):
     r = plainstrength.failure_analysis_b(self.lam, self.load6, self.dtemp,
                                          'ModPuck')
     print(r)
コード例 #9
0
 def test_flex_hashinb(self):
     r = plainstrength.failure_analysis_b(self.lam, self.load6, self.dtemp,
                                          'Hashin B')
     print(r)