# Example of polar plot for GraphiteEpoxy (3x layers) # with dashed lines the theoretical quasi-isotropic equivalent (TQIE = min value in all directions) Start by importing the required modules:

In [1]:
import pyPLY
import math
import matplotlib.pyplot as plt
# Define the material. Although here the extended parameters are defined they are not required.

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)
# Initialize the required lists, 'ex' (the Young Modulus in x-direction), 'ey' (the Young Modulus in y-direction), 'angle' (a list of angles from 0 to 360).

In [3]:
ex = []
ey = []
laminaAngle = [] 
laminaAngle.append(0)
# Define and calculate lamina's parameters. Lamina is made from three layers of GraphiteEpoxy with 0,+/-60 orientation.

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)
# Calculate lamina's parameters in 0 to 360 degree space.

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
# Plot the results

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]: