###
###
import numpy as np
import matplotlib.pyplot as plt
epsilon = np.array([0, 0.0037,0.006,0.008,0.012,0.02,0.04,0.06, 0.08,0.1,0.2,0.4, 0.6,0.8,0.84,0.86,0.88,0.9, 0.91,0.918])
sigma = np.array([0,100,160, 200,252,275,305,335,368,395, 520, 750, 977, 1180, 1225, 1230, 1228, 1163, 1095, 940])
plt.plot(epsilon,sigma, 'C0-o')
plt.ylabel('\u03C3 [Mpa]') #sigma
plt.xlabel('\u03B5') #epsilon
plt.legend(['\u03C3_T'])
epsilonFirst = epsilon[0:10]
sigmaFirst = sigma[0:10]
plt.plot(epsilonFirst, sigmaFirst, 'C0-o')
plt.ylabel('\u03C3 [Mpa]') #sigma
plt.xlabel('\u03B5') #epsilon
plt.legend(['\u03C3_T'])
logE = np.log(epsilonFirst[1:])
logS = np.log(sigmaFirst[1:])
a, b = np.polyfit(logE, logS, 1)
plt.plot(logE, logS)
plt.plot(logE, a*logE + b)
plt.ylabel('log \u03C3 [Mpa]') #sigma
plt.xlabel('log \u03B5') #epsilon
plt.legend(['\u03C3_T', '\u03C3_Hollomons'])
print("a = ", "%.2f" % a)
print("b = ", "%.2f" % b)
a = 0.35
b = 6.85
K = np.e**b
n = a
# The Hollomon equation is given by:
hollomonS = K*epsilonFirst**a
plt.plot(epsilonFirst,sigmaFirst, 'C0-o')
plt.plot(epsilonFirst, hollomonS, 'C01')
plt.ylabel('\u03C3 [Mpa]') #sigma
plt.xlabel('\u03B5') #epsilon
plt.legend(['\u03C3_T', '\u03C3_Hollomons'])
print("n = ", "%.2f" % n)
print("K = ", "%.2f" % K)
n = 0.35
K = 941.05
hollomonS2 = K*epsilon**a
plt.plot(epsilon,sigma, 'C0-o')
plt.plot(epsilon, hollomonS2, 'C01')
plt.ylabel('\u03C3 [Mpa]') #sigma
plt.xlabel('\u03B5') #epsilon
plt.legend(['\u03C3_T', '\u03C3_T_Hollomons'])
print("n = ", "%.2f" % n)
print("K = ", "%.2f" % K)
n = 0.35
K = 941.05
elasticE = epsilon[0:4]
elasticS = sigma[0:4]
a,b = np.polyfit(elasticE,elasticS,1)
#print(a,b)
E = a
print('Youngs modulus =', "%.2f" % E , 'MPa')
Youngs modulus = 25291.58 MPa
plt.plot(epsilonFirst, sigmaFirst,epsilon[0:5], a*epsilon[0:5]+b, 'C1--',epsilon[0:5]+0.002, a*epsilon[0:5]+b, 'r--')
plt.ylabel('\u03C3 [Mpa]') #sigma
plt.xlabel('\u03B5') #epsilon
plt.legend(['\u03C3_T', 'E', ' E + 2%'])
#plt.xlim(0, 0.05)
#plt.ylim(0,200)
plt.plot(epsilon[3:6], sigma[3:6], epsilon[3:5]+0.002, a*epsilon[3:5]+b, 'r--')
sYield = 248 #Tries different values to find the right one
plt.hlines(sYield,0.008,0.02, 'C4')
plt.ylabel('\u03C3 [Mpa]') #sigma
plt.xlabel('\u03B5') #epsilon
plt.legend(['\u03C3_T', 'E + 2%', '\u03C3_y'])
print('\u03C3_y =',sYield, 'Mpa')
σ_y = 248 Mpa
epsilonEng = np.e**epsilon - 1
sigmaEng = sigma/(np.e**epsilon)
#print(epsilonEng)
#print(sigmaEng)
plt.plot(epsilon, sigma, epsilonEng, sigmaEng)
plt.ylabel('\u03C3 [Mpa]') #sigma
plt.xlabel('\u03B5') #epsilon
plt.legend(['\u03C3_T', '\u03C3_Eng'])
UTS = np.amax(sigmaEng)
print('UTS = ', "%.2f" % UTS, 'Mpa')
UTS = 536.19 Mpa
#print(len(sigma))
#print(len(sigma)-1)
dSigma = np.zeros(len(sigma)-1)
for i in range (len(sigma)-1):
dSigma[i] = (sigma[i+1]-sigma[i])/(epsilon[i+1]- epsilon[i])
#print(dSigma)
plt.plot(epsilon, sigma)
plt.plot(epsilon[1:], dSigma, 'C2')
plt.ylabel('\u03C3 [Mpa]') #sigma
plt.xlabel('\u03B5') #epsilon
plt.ylim(-1000,2000)
plt.legend(['\u03C3_T', '\u03C3_T/\u03B5_T'])
plt.plot(epsilon, sigma)
plt.plot(epsilon[1:], dSigma, 'C2')
plt.ylim(700,1500)
plt.xlim(0.4,0.9)
plt.ylabel('\u03C3 [Mpa]') #sigma
plt.xlabel('\u03B5') #epsilon
eNeck = 0.7 # Prøver meg frem
plt.vlines(eNeck, 700, 1500, 'C4')
plt.legend(['\u03C3_T', '\u03C3_T/\u03B5_T', '\u03B5_neck' ])
print('\u03B5_neck = ',eNeck) #epsiloneNeck
ε_neck = 0.7
eNeckEng = np.e**eNeck - 1
print('\u03B5_neck_eng = ',"%.2f" % eNeckEng)
ε_neck_eng = 1.01
dHollomonS = b*K*epsilon**(b-1)
plt.plot(epsilon, hollomonS2, 'C1', epsilon, dHollomonS, 'C2')
plt.ylabel('\u03C3 [Mpa]') #sigma
plt.xlabel('\u03B5') #epsilon
plt.legend(['\u03C3_Hollomonn', 'd\u03C3/d\u03B5_H'])
plt.plot(epsilon, hollomonS2,'C1', epsilon, dHollomonS, 'C2')
plt.xlim(0.5,0.8)
plt.ylabel('\u03C3 [Mpa]') #sigma
plt.xlabel('\u03B5') #epsilon
eNeckHollomonn = 0.67 # Tries different values
plt.vlines(eNeckHollomonn,0, 2500, 'C4')
plt.legend(['\u03C3_Hollomonn', 'd\u03C3/d\u03B5_H', '\u03B5_neck_H'])
print('\u03B5_neck_Hollomon = ',eNeckHollomonn) #epsiloneNeck
ε_neck_Hollomon = 0.67