Example #1
0
yderv = sp.interpolate.splev(xfine,tck,der=1)

burgers = sqrt(xmax**2+xmax**2)
h = np.array([0.02, 0.07, 0.12, 0.17, 0.22, 0.27, 0.32, 0.37, 0.42, 0.47, 0.52, 0.57,  0.62, 0.67, 0.72, 0.77, 0.82, 0.87, 0.92, 0.97])
#h = np.array([0.1, 0.52])
h = h * xmax
w = np.array([50, 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1500, 2000, 2500, 3000, 3500, 4000, 4500, 5000, 5500])
w = w * burgers
roh = 0.05 * 2.08 * xmax 
#stress = np.array([1.0E5, 10E6, 15E6, 20E6, 25E6, 30E6])
stress = np.array([5E6])
poss = 0.18
shear_mod = 116.5E9


(Etot, Eelas, Epeierls, Ework, dEbydH, dEbydW) = square_dislo_energy_screw (xfine, yfine, yderv, h, w, roh, stress, shear_mod, poss, burgers, dH=0.01E-10, dW=1.0E-10)

deriv = abs(dEbydH) + abs(dEbydW)
#derivderiv = np.zeros((len(stress),10,10), dtype=stress.dtype)
#for i in xrange(len(stress)):
#    deriv_func = sp.interpolate.interp2d(w, h, deriv[i,:,:])
#
#
#    hh = np.linspace(min(h), max(h), 10)
#    ww = np.linspace(min(w), max(w), 10)
#    derivderiv[i,:,:] = deriv_func(ww, hh)
#

print "Etot:"
print Etot
print "Eelas:"
Example #2
0
# NaN when doing 1/sqrt(y) also because close to the origin we 
# can have yfine[1] < yfine[0] (for example)
#xfine = arange(0.025E-10,4.975E-10,0.001E-10)
xfine = arange(0.025E-10,2.000E-10,0.001E-10)
tck = interpolate.splrep(x,y,s=0)
yfine = interpolate.splev(xfine,tck,der=0)

# Plot data 
plt.figure(1)
plt.plot(x,y,'o',xfine,yfine,'-')
plt.ylabel('U')
plt.xlabel('u')
plt.title('U(u)')

# Calculate derivative 
yderfine = interpolate.splev(xfine,tck,der=1)
sigma_p_index = argmax(yderfine)
sigma_p = yderfine[sigma_p_index]
#print "Sigma_p has a value of %5g Pa " % (sigma_p / 5.0E-10)
print "Sigma_p has a value of %5g Pa " % (sigma_p / 2.121E-10)
print "Sigma_p has a value of %5g MPa " % (sigma_p*1.0E-6 / 2.08E-10)


delta_h = 0.025
delta_w = 2.500

hs = arange(0, 1, delta_h)
ws = arange(0, 5000, delta_w)

Etot = square_dislo_energy_screw(xfine, yfine, hs[:], ws[:], 0.2, 0.01,10,10,10,10)