In [1]:
import pyPLY
import math
import matplotlib.pyplot as plt
In [2]:
GraphiteEpoxy = pyPLY.CompositeMaterial()
GraphiteEpoxy.define("GraphiteEpoxy", "metric", E11=170e9, E22=10e9, G12=13e9, niu12=0.3, thk=0.125e-3,
Sigma_ut0 = 1500e6, Sigma_uc0 = 1200e6, Sigma_ut90 = 50e6, Sigma_uc90 = 100e6, Tau_u = 75e6,
alpha_11 = -0.9e-6, alpha_22 = 27.0e-6, beta_11 = 150e-6, beta_22 = 4800e-6)
In [3]:
ex = []
ey = []
laminaAngle = []
laminaAngle.append(0)
In [4]:
layer100 = pyPLY.Lamina()
layer100.define("Layer_1", GraphiteEpoxy, 0)
layer100.update()
layer200 = pyPLY.Lamina()
layer200.define("Layer_2", GraphiteEpoxy, -60)
layer200.update()
layer300 = pyPLY.Lamina()
layer300.define("Layer_3", GraphiteEpoxy, 60)
layer300.update()
laminate3 = pyPLY.Laminate()
laminate3.add_Lamina(layer100)
laminate3.add_Lamina(layer200)
laminate3.add_Lamina(layer300)
laminate3.update()
ex.append(laminate3.Ex)
ey.append(laminate3.Ey)
In [5]:
for i in range(2, 362, 2):
layer100.change_Angle_Lamina(i)
layer100.update()
layer200.change_Angle_Lamina(i - 60)
layer200.update()
layer300.change_Angle_Lamina(i + 60)
layer300.update()
laminate3.update()
ex.append(laminate3.Ex)
ey.append(laminate3.Ey)
laminaAngle.append(math.radians(i))
In [6]:
# This line configures matplotlib to show figures embedded in the notebook, instead of poping up a new window.
# Uncomment the line below if you started IPython Notebook with pylab support (recommended under Windows).
# %pylab inline
In [9]:
length = len(laminaAngle)
exmin = [min(ex)] * length
plt.polar(laminaAngle, ex, 'b-', label = '(3x) layers 0,-60,60')
plt.polar(laminaAngle, exmin, 'b--', label = '(3x) layers TQIE = ' + str(exmin[0]))
eymin = [min(ey)] * length
plt.polar(laminaAngle, ey, 'c-', label = '(3x) layers')
plt.polar(laminaAngle, eymin, 'c--', label = '(3x) layers TQIE = ' + str(eymin[0]))
plt.title(r'Ex GraphiteEpoxy (3x) layers')
plt.axhline(0)
plt.axvline(0)
plt.legend(loc="upper right", bbox_to_anchor=(1.5,1.07))
leg = plt.gca().get_legend()
ltext = leg.get_texts()
plt.setp(ltext, fontsize='small')
plt.show()
In [7]: