Professional Documents
Culture Documents
import numpy as np
import pandas as pd
e = 2100000 # elasticity_modulus
v = 0.2 # poissons_ratio
t = 0.2 #thickness
g = e/(2*(1+v))
G = g * np.array([[1, 0],
[0, 1]])
E = d * np.array([[1, v, 0],
[v, 1, 0],
[0, 0, (1-v)/2]])
G = t*g*np.array([[1, 0],
[0, 1]])
print(E)
print(G)
# Jacobian
def jacobian(zeta, eta):
return 0.25*np.dot(np.array([[-(1-eta), (1-eta), (1+eta), -(1+eta)],
[-(1-zeta), -(1+zeta), (1+zeta), (1-zeta)]]),
c.reshape(4, 2))
dzeta_dx = jacobian_inverse[0, 0]
deta_dx = jacobian_inverse[0, 1]
dzeta_dy = jacobian_inverse[1, 0]
deta_dy = jacobian_inverse[1, 1]
n1 = 0.25*(1-zeta)*(1-eta)
n2 = 0.25*(1+zeta)*(1-eta)
n3 = 0.25*(1+zeta)*(1+eta)
n4 = 0.25*(1-zeta)*(1+eta)
df = pd.DataFrame(B_matrix)
df.to_csv("B_Matrix (zeta = {0:.2f}, eta = {1:.2f}).csv".format(zeta, eta))
return B_matrix
# gauss quadrature
def bending_stiffness_matrix():
point = 1/3**0.5
sampling_points = [point, -point]
K = np.zeros((12, 12))
for zeta in sampling_points:
for eta in sampling_points:
df = pd.DataFrame(kb(zeta, eta))
df.to_csv("Stiffness_Matrix (zeta = {0:.2f}, eta =
{1:.2f}).csv".format(zeta, eta))
K += kb(zeta, eta)
return K
def shear_stiffness_matrix():
K = np.zeros((12, 12))
zeta = 0
eta = 0
K += ks(zeta, eta)
return K
df = pd.DataFrame(bending_stiffness_matrix())
df.to_csv("Bending Stiffness_Matrix.csv")
df = pd.DataFrame(shear_stiffness_matrix())
df.to_csv("Shear Stiffness_Matrix.csv")
df = pd.DataFrame(bending_stiffness_matrix() + shear_stiffness_matrix())
df.to_csv("Total Stiffness_Matrix.csv")