コード例 #1
0
ファイル: Test42.py プロジェクト: zpreator/Engineering
def Problem6():
    """ CORRECT
    Analyze a steel shaft with an ultimate 
    strength of 81 kpsi and fully corrected endurance 
    limit of 34 kpsi if it undergoes a bending stress 
    with mean and amplitude stresses of 9 and 10, 
    respectively, while also undergoing a torsional shear 
    with mean and amplitude stresses of -10 and 6, 
    respectively. Assume there are no stress concentrations 
    or axial loads. Neglect yielding and use the Goodman 
    failure criterion if needed.  Report either the fatigue 
    factor of safety if it is predicted to have infinite life, 
    or the number of cycles to failure in thousands of cycles (N/103)."""
    Sut = 81 # Kpsi
    Se = 34 # Kpsi
    sigmaM = 9
    sigmaA = 10
    TauM = -10
    TauA = 6

    sigmaM = Fatigue.AlternatingLoadsVonMises(sigmaM, 0, TauM)
    sigmaA = Fatigue.AlternatingLoadsVonMises(sigmaA, 0, TauA)

    sigmaMax = sigmaA + abs(sigmaM)
    
    nf = Fatigue.Goodman(sigmaA, sigmaM, Se, Sut)
    print(nf)
コード例 #2
0
ファイル: Test41.py プロジェクト: zpreator/Engineering
def Problem6(Sut, Sy, Se, Mrev, T, nf):
    """ WRONG
    Given a uniform diameter shaft made of steel with an 
    ultimate strength of 76 kpsi, a yield strength of 42 kpsi, 
    and a fully corrected endurance limit of 22 kpsi, what is 
    the minimum diameter of the shaft needed to ensure the shaft 
    will not yield and will have infinite life given a fully 
    reversed bending moment of 633 in-lbs and a steady torsional 
    load of 2,346 in-lbs? Use a design factor of 1.4, assume 
    there are no stress concentrations, and use the Morrow failure 
    criterion if needed."""
    # sigmaA = Fatigue.AlternatingLoadsAmp(sigmaRev, 0)
    # sigmaM = Fatigue.AlternatingLoadsMean(sigmaRev, 0)
    # tauA = Fatigue.AlternatingLoadsAmp(tau, 0)
    # tauM = Fatigue.AlternatingLoadsMean(tau, 0)
    # sigmaAp = Fatigue.AlternatingLoadsVonMises(1, 1, 1, sigmaA, 0, tauA)
    # sigmaMp = Fatigue.AlternatingLoadsVonMises(1, 1, 1, sigmaM, 0, tauM)
    # sigmaMax = sigmaAp + abs(sigmaMp)
    # print(sigmaMax)
    # ny = Sy/sigmaMax
    # print(ny)

    A = Fatigue.DEA(1, Mrev, 1, 0)
    B = Fatigue.DEB(1, 0, 1, T)
    d = Fatigue.DEMorrow(A, B, Se, 122, n=nf, Mode='d')
    print(d)
コード例 #3
0
ファイル: Test41.py プロジェクト: zpreator/Engineering
def Problem5(Sut, Se, sigma1, sigma2):
    """ CORRECT
    Given a steel shaft with an ultimate strength of 100 
    kpsi and a fully corrected endurance limit of 55 kpsi, 
    what is the factor of safety against fatigue failure if 
    it undergoes a normal stress that fluctuates between -50 
    kpsi and 15 kpsi? Neglect yielding and use the Goodman 
    failure criterion if needed."""
    sigmaA = Fatigue.AlternatingLoadsAmp(sigma1, sigma2)
    sigmaM = Fatigue.AlternatingLoadsMean(sigma1, sigma2)
    print(sigmaA, sigmaM)
    sigmaRev = sigmaA
    nf = Se/sigmaRev
    print(abs(nf))
コード例 #4
0
ファイル: Test41.py プロジェクト: zpreator/Engineering
def Problem3(Sut, SigmaAr, Se):
    """ CORRECT
    A steel bar with an ultimate strength of 142 kpsi 
    is loaded in bending with a completely reversed amplitude 
    of 39 kpsi. How many cycles (in thousands, or N/10^3) 
    will the bar withstand until failure? Assume a fully 
    corrected endurance limit of 28 kpsi is defined at 106 cycles."""
    nf = Se/SigmaAr
    # print(nf)
    f = Fatigue.FatigueStrengthFactor(Sut)
    # print(f) 
    a = Fatigue.CyclesA(f, Sut, Se)
    b = Fatigue.CyclesB(f, Sut, Se)
    N = Fatigue.Cycles(SigmaAr, f, Sut, Se)
    print(N)
コード例 #5
0
ファイル: Test41.py プロジェクト: zpreator/Engineering
def Problem7():
    """ WRONG
    Given the following image of a shaft, what is the critical 
    speed of rotation in units of rad/s if the shaft has the 
    following section lengths and deflections (y) and the centers 
    of the given sections.  Assume the shaft is made of steel and 
    all dimensions are given in inches.  Ignore the weight change 
    due to the keyway.

    L1 = 1.7 in, y1 = 10 x 10-6 in

    L2 = 9 in, y2 = 300 x 10-6 in

    L3 = 2.1 in, y3 = 150 x 10-6 in

    L4 = 2.7 in, y4 = 10 x 10-6 in"""
    L1 = 1.7
    L2 = 9
    L3 = 2.1
    L4 = 2.7
    lengths = [L1, L2, L3, L4]
    dia = [1, 1.25, 1, 7./8.]
    Weights = [32.2*12*0.282*np.pi/4*d**2 for d in dia]
    y = [i*10**(-6) for i in [10, 300, 150, 10]]

    w = Fatigue.RayleighsLumpedMasses(Weights, y)
    print(w)
コード例 #6
0
def Problem7():
    """ CORRECT
    Given the following image of a shaft, 
    what is the critical speed of rotation in 
    units of rad/s if the shaft has the following 
    section lengths and deflections (y) and the 
    centers of the given sections.  Assume the 
    shaft is made of steel and all dimensions are 
    given in inches.  Ignore the weight change due 
    to the keyway. (Do not use average diameter 
    simplification method.)"""
    gamma = 0.282

    L = [2.8, 8, 2.5, 4.7]
    d = [1, 1.25, 1, 0.875]
    y = [i*10**-6 for i in [10, 300, 150, 10]]

    A = [np.pi/4*i**2 for i in d]
    V = [i * j for i, j in zip(A, L)]
    W = [gamma*i*32.2*12 for i in V]

    prod = [i * j for i, j in zip(W, y)]
    top = 32.2 * 12 * sum(prod)
    prodSq = [i * j**2 for i, j in zip(W, y)]
    bottom = sum(prodSq)
    speed = np.sqrt(top/bottom)
    print(speed)

    w = Fatigue.RayleighsLumpedMasses(W, y)
    print(w)
コード例 #7
0
def Problem7_2(d):
    Sut = 175e3
    Sy = 160e3
    Ma = 600
    Mm = 0
    Ta = 0
    Tm = 400
    Seprime = 0.5 * Sut / 1000
    Ka = 2 * (Sut / 1000)**(-0.217)
    Kb = 0.879 * d**(-0.107)
    Se = 55000
    Kf = 2.2
    Kfs = 1.8
    A = Fatigue.DEA(Kf, Ma, Kfs, Ta)
    B = Fatigue.DEB(Kf, Mm, Kfs, Tm)
    d = Fatigue.DEGoodman(A, B, Se, Sut, n=2.5, Mode='d')
    D = d / 0.65
    dFinal = 0.75 * D
    print(dFinal)
コード例 #8
0
def Problem5():
    """ CORRECT
    Given a steel shaft with an ultimate strength of 115 
    kpsi and a fully corrected endurance limit of 50 kpsi, 
    what is the factor of safety against fatigue failure if 
    it undergoes a normal stress that fluctuates between 13 
    kpsi and 49 kpsi? Neglect yielding and use the Goodman 
    failure criterion if needed."""
    Sut = 115 #Kpsi
    Se = 50 #Kpsi
    sigma1 = 13 #Kpsi
    sigma2 = 49 #Kpsi
    sigmaA = Fatigue.AlternatingLoadsAmp(sigma1, sigma2)
    sigmaM = Fatigue.AlternatingLoadsMean(sigma1, sigma2)
    # print(sigmaA, sigmaM)
    # sigmaRev = sigmaA
    # nf = Se/sigmaRev
    # print(abs(nf))
    nf = Fatigue.Goodman(sigmaA, sigmaM, Se, Sut)
    print(nf)
コード例 #9
0
ファイル: Test42.py プロジェクト: zpreator/Engineering
def Problem3():
    """CORRECT
     A steel bar with an ultimate 
    strength of 109 kpsi is loaded in 
    bending and failed after 3,890 completely 
    reversed stress cycles. What is the stress 
    amplitude that caused the failure? Assume 
    a fully corrected endurance limit of 33 kpsi 
    is defined at 106 cycles."""
    Sut = 109 # Kpsi
    Se = 33 # Kpsi
    N = 3890 # Cycles

    # From equation 6-11
    f = Fatigue.FatigueStrengthFactor(Sut)

    a = Fatigue.CyclesA(f, Sut, Se)
    b = Fatigue.CyclesB(f, Sut, Se)
    Sf = a * N ** b
    print(Sf)
コード例 #10
0
ファイル: Test42.py プロジェクト: zpreator/Engineering
def Problem5(d):
    """ WRONG
    Given a uniform diameter shaft made of 
    steel with an ultimate strength of 55 kpsi, 
    a yield strength of 44 kpsi, and a fully corrected 
    endurance limit of 22 kpsi, what is the minimum 
    diameter of the shaft needed to ensure the shaft 
    will not yield and will have infinite life given 
    a fully reversed bending moment of 621 in-lbs and 
    a steady torsional load of 1,812 in-lbs? Use a design 
    factor of 2.0, assume there are no stress concentrations, 
    and use the Morrow failure criterion if needed."""
    Sut = 55000 # psi
    Sy = 44000 # psi
    Se = 22000 # psi
    Mrev = 621 # in-lbs
    T = 1812 # in-lbs

    sigmaF = Sut + 50000

    # Convert to stress
    sigma = Stress.BendingRound(Mrev, d/2, d)
    Tau = Stress.TorsionalRound(T, d)

    sigmaA = sigma
    sigmaM = 0
    TauA = 0
    TauM = Tau

    sigmaAp = Fatigue.AlternatingLoadsVonMises(1, 1, 1, sigmaA, 0, TauA)
    sigmaMp = Fatigue.AlternatingLoadsVonMises(1, 1, 1, sigmaM, 0, TauM)
    sigmaMax = sigmaAp + abs(sigmaMp)
    
    ny = Sy/sigmaMax
    print('ny', ny)

    # nf = Fatigue.Morrow(sigmaAp, sigmaMp, Se, sigmaF)
    # print('nf', nf)

    nf = Se/sigmaAp
    print('nf', nf)
コード例 #11
0
def Problem7_1():
    Kf = 2.2
    Kfs = 1.8
    Ma = 70
    Ta = 45
    Mm = 55
    Tm = 35
    Sut = 700
    Sy = 560
    Se = 210
    A = Fatigue.DEA(Kf, Ma, Kfs, Ta)
    B = Fatigue.DEB(Kf, Mm, Kfs, Tm)
    d = Fatigue.DEGoodman(A, B, Se, Sut, n=2, Mode='d')
    print('Goodman', d)
    d2 = Fatigue.DEGerber(A, B, Se, Sut, n=2, Mode='d')
    print('Gerber', d2)
    d3 = Fatigue.DEMorrow(A, B, Se, Sut + 345, n=2, Mode='d')
    print('Morrow', d3)
    d4 = Fatigue.DESWT(A, B, Se, Sut, n=2, Mode='d')
    print('SWT', d4)