Verificación tarea 8¶

In [1]:
from sympy import *
init_printing()
In [2]:
t = 20
t
Out[2]:
$$20$$
In [3]:
C = 200000/(1-0.26**2) * Matrix([[1, 0.26, 0],
                                 [0.26, 1, 0],
                                 [0, 0, (1-0.26)/2]])
C
Out[3]:
$$\left[\begin{matrix}214500.214500214 & 55770.0557700558 & 0\\55770.0557700558 & 214500.214500214 & 0\\0 & 0 & 79365.0793650794\end{matrix}\right]$$
In [4]:
N1 = symbols('r')
N1
Out[4]:
$$r$$
In [5]:
N2 = symbols('s')
N2
Out[5]:
$$s$$
In [6]:
N3 = 1 - symbols('r') - symbols('s')
N3
Out[6]:
$$- r - s + 1$$
In [7]:
N = Matrix([[N1, N2, N3]])
N
Out[7]:
$$\left[\begin{matrix}r & s & - r - s + 1\end{matrix}\right]$$
In [8]:
A = 1.0/2.0
A
Out[8]:
$$0.5$$
In [9]:
x1, y1 = 0, 0
x2, y2 = 250, 0
x3, y3 = 0, 250
In [10]:
x = simplify(N1*x1 + N2*x2 + N3*x3)
x
Out[10]:
$$250 s$$
In [11]:
y = simplify(N1*y1 + N2*y2 + N3*y3)
y
Out[11]:
$$- 250 r - 250 s + 250$$
In [12]:
r = -(symbols('x') + symbols('y') - 250)/250
r
Out[12]:
$$- \frac{x}{250} - \frac{y}{250} + 1$$
In [13]:
s = symbols('x')/250
s
Out[13]:
$$\frac{x}{250}$$
In [14]:
J = Matrix([[diff(x, symbols('r')), diff(y, symbols('r'))],
            [diff(x, symbols('s')), diff(y, symbols('s'))]])
J
Out[14]:
$$\left[\begin{matrix}0 & -250\\250 & -250\end{matrix}\right]$$
In [15]:
detJ = det(J)
detJ
Out[15]:
$$62500$$
In [16]:
M1 = Matrix([[1, 0, 0, 0],
             [0, 0, 0, 1],
             [0, 1, 1, 0]])
M1
Out[16]:
$$\left[\begin{matrix}1 & 0 & 0 & 0\\0 & 0 & 0 & 1\\0 & 1 & 1 & 0\end{matrix}\right]$$
In [17]:
M2 = Matrix([[diff(r, symbols('x')), diff(s, symbols('x')), 0, 0],
             [diff(r, symbols('y')), diff(s, symbols('y')), 0, 0],
             [0, 0, diff(r, symbols('x')), diff(s, symbols('x'))],
             [0, 0, diff(r, symbols('y')), diff(s, symbols('y'))]])
M2
Out[17]:
$$\left[\begin{matrix}- \frac{1}{250} & \frac{1}{250} & 0 & 0\\- \frac{1}{250} & 0 & 0 & 0\\0 & 0 & - \frac{1}{250} & \frac{1}{250}\\0 & 0 & - \frac{1}{250} & 0\end{matrix}\right]$$
In [18]:
M3 = Matrix([[diff(N1, symbols('r')), 0, diff(N2, symbols('r')), 0, diff(N3, symbols('r')), 0],
             [diff(N1, symbols('s')), 0, diff(N2, symbols('s')), 0, diff(N3, symbols('s')), 0],
             [0, diff(N1, symbols('r')), 0, diff(N2, symbols('r')), 0, diff(N3, symbols('r'))],
             [0, diff(N1, symbols('s')), 0, diff(N2, symbols('s')), 0, diff(N3, symbols('s'))]])
M3
Out[18]:
$$\left[\begin{matrix}1 & 0 & 0 & 0 & -1 & 0\\0 & 0 & 1 & 0 & -1 & 0\\0 & 1 & 0 & 0 & 0 & -1\\0 & 0 & 0 & 1 & 0 & -1\end{matrix}\right]$$
In [19]:
B = M1*M2*M3
B
Out[19]:
$$\left[\begin{matrix}- \frac{1}{250} & 0 & \frac{1}{250} & 0 & 0 & 0\\0 & - \frac{1}{250} & 0 & 0 & 0 & \frac{1}{250}\\- \frac{1}{250} & - \frac{1}{250} & 0 & \frac{1}{250} & \frac{1}{250} & 0\end{matrix}\right]$$
In [20]:
K = transpose(B)*C*B*detJ*t*A
K.evalf(9)
Out[20]:
$$\left[\begin{matrix}2938652.94 & 1351351.35 & -2145002.15 & -793650.794 & -793650.794 & -557700.558\\1351351.35 & 2938652.94 & -557700.558 & -793650.794 & -793650.794 & -2145002.15\\-2145002.15 & -557700.558 & 2145002.15 & 0 & 0 & 557700.558\\-793650.794 & -793650.794 & 0 & 793650.794 & 793650.794 & 0\\-793650.794 & -793650.794 & 0 & 793650.794 & 793650.794 & 0\\-557700.558 & -2145002.15 & 557700.558 & 0 & 0 & 2145002.15\end{matrix}\right]$$

Ejemplo 11.1¶

Elemento 2, página 222 del libro MATLAB Guide to Finite Elements - Peter I. Kattan

In [21]:
t = 25
C = 210000/(1-0.3**2) * Matrix([[1, 0.3, 0],
                                 [0.3, 1, 0],
                                 [0, 0, (1-0.3)/2]])
N1 = symbols('r')
N2 = symbols('s')
N3 = 1 - symbols('r') - symbols('s')
N = Matrix([[N1, N2, N3]])
A = 1.0/2.0
x1, y1 = 0, 0
x2, y2 = 500, 0
x3, y3 = 500, 250
x = simplify(N1*x1 + N2*x2 + N3*x3)
y = simplify(N1*y1 + N2*y2 + N3*y3)
r = -(symbols('x') - 500)/500
s = (symbols('x') - 2*symbols('y'))/500
J = Matrix([[diff(x, symbols('r')), diff(y, symbols('r'))],
            [diff(x, symbols('s')), diff(y, symbols('s'))]])
detJ = det(J)
M1 = Matrix([[1, 0, 0, 0],
             [0, 0, 0, 1],
             [0, 1, 1, 0]])
M2 = Matrix([[diff(r, symbols('x')), diff(s, symbols('x')), 0, 0],
             [diff(r, symbols('y')), diff(s, symbols('y')), 0, 0],
             [0, 0, diff(r, symbols('x')), diff(s, symbols('x'))],
             [0, 0, diff(r, symbols('y')), diff(s, symbols('y'))]])
M3 = Matrix([[diff(N1, symbols('r')), 0, diff(N2, symbols('r')), 0, diff(N3, symbols('r')), 0],
             [diff(N1, symbols('s')), 0, diff(N2, symbols('s')), 0, diff(N3, symbols('s')), 0],
             [0, diff(N1, symbols('r')), 0, diff(N2, symbols('r')), 0, diff(N3, symbols('r'))],
             [0, diff(N1, symbols('s')), 0, diff(N2, symbols('s')), 0, diff(N3, symbols('s'))]])
B = M1*M2*M3
K = transpose(B)*C*B*detJ*t*A
K.evalf(9)
Out[21]:
$$\left[\begin{matrix}1442307.69 & 0 & -1442307.69 & 865384.615 & 0 & -865384.615\\0 & 504807.692 & 1009615.38 & -504807.692 & -1009615.38 & 0\\-1442307.69 & 1009615.38 & 3461538.46 & -1875000.0 & -2019230.77 & 865384.615\\865384.615 & -504807.692 & -1875000.0 & 6274038.46 & 1009615.38 & -5769230.77\\0 & -1009615.38 & -2019230.77 & 1009615.38 & 2019230.77 & 0\\-865384.615 & 0 & 865384.615 & -5769230.77 & 0 & 5769230.77\end{matrix}\right]$$
In [ ]: