Contact
CoCalc Logo Icon
StoreFeaturesDocsShareSupport News AboutSign UpSign In
| Download
Views: 1021
%typeset_mode True
var('x, y, xi, eta') var('x_0, x_1, x_2, x_3, x_4, x_5, x_6, x_7,' 'y_0, y_1, y_2, y_3, y_4, y_5, y_6, y_7') assume(x_0, 'constant') assume(x_1, 'constant') assume(x_2, 'constant') assume(x_3, 'constant') assume(x_4, 'constant') assume(x_5, 'constant') assume(x_6, 'constant') assume(x_7, 'constant') assume(y_0, 'constant') assume(y_1, 'constant') assume(y_2, 'constant') assume(y_3, 'constant') assume(y_4, 'constant') assume(y_5, 'constant') assume(y_6, 'constant') assume(y_7, 'constant')
(x\displaystyle x, y\displaystyle y, ξ\displaystyle \xi, η\displaystyle \eta)
(x0\displaystyle x_{0}, x1\displaystyle x_{1}, x2\displaystyle x_{2}, x3\displaystyle x_{3}, x4\displaystyle x_{4}, x5\displaystyle x_{5}, x6\displaystyle x_{6}, x7\displaystyle x_{7}, y0\displaystyle y_{0}, y1\displaystyle y_{1}, y2\displaystyle y_{2}, y3\displaystyle y_{3}, y4\displaystyle y_{4}, y5\displaystyle y_{5}, y6\displaystyle y_{6}, y7\displaystyle y_{7})
N_0 = (-1.0 / 4.0) * (1 - xi) * (1 + eta) * (1 + xi - eta) N_1 = (1.0 / 2.0) * (1 - xi) * (1 - eta**2) N_2 = (-1.0 / 4.0) * (1 - xi) * (1 - eta) * (1 + xi + eta) N_3 = (1.0 / 2.0) * (1 - eta) * (1 - xi**2) N_4 = (-1.0 / 4.0) * (1 + xi) * (1 - eta) * (1 - xi + eta) N_5 = (1.0 / 2.0) * (1 + xi) * (1 - eta**2) N_6 = (-1.0 / 4.0) * (1 + xi) * (1 + eta) * (1 - xi - eta) N_7 = (1.0 / 2.0) * (1 + eta) * (1 - xi**2) N_0 N_1 N_2 N_3 N_4 N_5 N_6 N_7
(ηξ1)(η+1)(0.250000000000000ξ0.250000000000000)\displaystyle -{\left(\eta - \xi - 1\right)} {\left(\eta + 1\right)} {\left(0.250000000000000 \, \xi - 0.250000000000000\right)}
(η21)(0.500000000000000ξ+0.500000000000000)\displaystyle -{\left(\eta^{2} - 1\right)} {\left(-0.500000000000000 \, \xi + 0.500000000000000\right)}
(η+ξ+1)(η1)(0.250000000000000ξ0.250000000000000)\displaystyle -{\left(\eta + \xi + 1\right)} {\left(\eta - 1\right)} {\left(0.250000000000000 \, \xi - 0.250000000000000\right)}
(ξ21)(0.500000000000000η+0.500000000000000)\displaystyle -{\left(\xi^{2} - 1\right)} {\left(-0.500000000000000 \, \eta + 0.500000000000000\right)}
(ηξ+1)(η1)(0.250000000000000ξ0.250000000000000)\displaystyle -{\left(\eta - \xi + 1\right)} {\left(\eta - 1\right)} {\left(-0.250000000000000 \, \xi - 0.250000000000000\right)}
(η21)(0.500000000000000ξ+0.500000000000000)\displaystyle -{\left(\eta^{2} - 1\right)} {\left(0.500000000000000 \, \xi + 0.500000000000000\right)}
(η+ξ1)(η+1)(0.250000000000000ξ0.250000000000000)\displaystyle -{\left(\eta + \xi - 1\right)} {\left(\eta + 1\right)} {\left(-0.250000000000000 \, \xi - 0.250000000000000\right)}
(ξ21)(0.500000000000000η+0.500000000000000)\displaystyle -{\left(\xi^{2} - 1\right)} {\left(0.500000000000000 \, \eta + 0.500000000000000\right)}
x = N_0 * x_0 + N_1 * x_1 + N_2 * x_2 + N_3 * x_3 + N_4 * x_4 + N_5 * x_5 + N_6 * x_6 + N_7 * x_7 y = N_0 * y_0 + N_1 * y_1 + N_2 * y_2 + N_3 * y_3 + N_4 * y_4 + N_5 * y_5 + N_6 * y_6 + N_7 * y_7
dN_0_deta = diff(N_0, eta) dN_1_deta = diff(N_1, eta) dN_2_deta = diff(N_2, eta) dN_3_deta = diff(N_3, eta) dN_4_deta = diff(N_4, eta) dN_5_deta = diff(N_5, eta) dN_6_deta = diff(N_6, eta) dN_7_deta = diff(N_7, eta) print dN_0_deta print print dN_1_deta print print dN_2_deta print print dN_3_deta print print dN_4_deta print print dN_5_deta print print dN_6_deta print print dN_7_deta
-(eta - xi - 1)*(0.250000000000000*xi - 0.250000000000000) - (eta + 1)*(0.250000000000000*xi - 0.250000000000000) -2*eta*(-0.500000000000000*xi + 0.500000000000000) -(eta + xi + 1)*(0.250000000000000*xi - 0.250000000000000) - (eta - 1)*(0.250000000000000*xi - 0.250000000000000) 0.500000000000000*xi^2 - 0.500000000000000 -(eta - xi + 1)*(-0.250000000000000*xi - 0.250000000000000) - (eta - 1)*(-0.250000000000000*xi - 0.250000000000000) -2*eta*(0.500000000000000*xi + 0.500000000000000) -(eta + xi - 1)*(-0.250000000000000*xi - 0.250000000000000) - (eta + 1)*(-0.250000000000000*xi - 0.250000000000000) -0.500000000000000*xi^2 + 0.500000000000000
import numpy as np # Mesh of circular ring nodes = [[-0. , 0. ], [-0. , 3. ], [-0. , 1. ], [-1. , 0. ], [-3. , 0. ], [-0. , -1. ], [-0. , -3. ], [ 1. , -0. ], [ 3. , -0. ], [-0.70710678, 0.70710678], [-2.12132034, 2.12132034], [-2.12132034, -2.12132034], [-0.70710678, -0.70710678], [ 2.12132034, -2.12132034], [ 0.70710678, -0.70710678], [ 2.12132034, 2.12132034], [ 0.70710678, 0.70710678], [ 0. , 2. ], [-2. , 0. ], [ 0. , -2. ], [ 2. , 0. ], [-1.41421356, 1.41421356], [-1.41421356, -1.41421356], [ 1.41421356, -1.41421356], [ 1.41421356, 1.41421356]] elements = [[1, 10, 4, 18, 3, 9, 2, 17, 21], [3, 18, 4, 11, 6, 19, 5, 12, 22], [5, 19, 6, 13, 8, 20, 7, 14, 23], [7, 16, 2, 17, 1, 15, 8, 20, 24]] xi_LGL = np.array([-1., -0.96956805, -0.89920053, -0.79200829, -0.6523887, -0.48605942, -0.29983047, -0.10132627, 0.10132627, 0.29983047, 0.48605942, 0.6523887, 0.79200829, 0.89920053, 0.96956805, 1.]) eta_LGL = np.array([-1., -0.96956805, -0.89920053, -0.79200829, -0.6523887, -0.48605942, -0.29983047, -0.10132627, 0.10132627, 0.29983047, 0.48605942, 0.6523887, 0.79200829, 0.89920053, 0.96956805, 1.]) Xi, Eta = np.meshgrid(xi_LGL, eta_LGL) dy_deta = dN_0_deta * nodes[elements[0][0]][1] \ + dN_1_deta * nodes[elements[0][1]][1] \ + dN_2_deta * nodes[elements[0][2]][1] \ + dN_3_deta * nodes[elements[0][3]][1] \ + dN_4_deta * nodes[elements[0][4]][1] \ + dN_5_deta * nodes[elements[0][5]][1] \ + dN_6_deta * nodes[elements[0][6]][1] \ + dN_7_deta * nodes[elements[0][7]][1] dy_deta.simplify_full()
(0.41421356η0.5)ξ0.82842712η+1.0\displaystyle {\left(0.41421356 \, \eta - 0.5\right)} \xi - 0.82842712 \, \eta + 1.0
dy_deta_array = np.zeros(Xi.shape) for eta_idx in np.arange(eta_LGL.size): for xi_idx in np.arange(xi_LGL.size): dy_deta_array[eta_idx][xi_idx] = dy_deta(xi = xi_LGL[xi_idx], eta = eta_LGL[eta_idx]) np.savetxt('dy_deta_data.csv', dy_deta_array, delimiter = ',')
print(dy_deta_array)
[[ 0.25735932 0.25474867 0.24871209 0.23951645 0.22753898 0.21327019 0.19729427 0.1802653 0.16288046 0.14585149 0.12987557 0.11560678 0.10362931 0.09443367 0.08839709 0.08578644] [ 0.2951753 0.29218105 0.28525746 0.27471063 0.26097321 0.24460778 0.22628438 0.2067532 0.18681386 0.16728268 0.14895929 0.13259386 0.11885644 0.1083096 0.10138602 0.09839177] [ 0.38261684 0.37873558 0.36976098 0.3560898 0.33828286 0.3170694 0.29331796 0.26800094 0.24215485 0.21683783 0.19308639 0.17187293 0.15406599 0.14039481 0.13142021 0.12753895] [ 0.51581828 0.51058583 0.49848688 0.4800563 0.45605019 0.42745163 0.39543153 0.36130083 0.32645687 0.29232617 0.26030608 0.23170751 0.2077014 0.18927083 0.17717188 0.17193943] [ 0.68931526 0.68232286 0.66615439 0.64152464 0.609444 0.57122623 0.52843608 0.48282542 0.43626159 0.39065094 0.34786078 0.30964301 0.27756237 0.25293263 0.23676416 0.22977175] [ 0.89600279 0.88691375 0.86589726 0.83388241 0.79218256 0.74250539 0.68688484 0.62759807 0.56707232 0.50778555 0.452165 0.40248783 0.36078798 0.32877313 0.30775663 0.2986676 ] [ 1.12741846 1.11598195 1.0895374 1.0492539 0.996784 0.93427643 0.86429044 0.78969134 0.71353327 0.63893417 0.56894819 0.50644062 0.45397072 0.41368721 0.38724267 0.37580615] [ 1.37408785 1.36014913 1.32791875 1.27882156 1.2148717 1.13868802 1.05338971 0.96246897 0.86964817 0.77872743 0.69342912 0.61724544 0.55329558 0.50419839 0.47196801 0.45802928] [ 1.62591215 1.60941892 1.57128178 1.51318673 1.437517 1.3473714 1.24644076 1.1388573 1.02902556 0.9214421 0.82051146 0.73036586 0.65469613 0.59660108 0.55846394 0.54197072] [ 1.87258154 1.8535861 1.80966313 1.74275439 1.6556047 1.55178299 1.43554003 1.31163493 1.18514046 1.06123536 0.94499239 0.84117068 0.75402099 0.68711226 0.64318928 0.62419385] [ 2.10399721 2.0826543 2.03330327 1.95812588 1.86020614 1.74355403 1.61294563 1.4737282 1.33160141 1.19238398 1.06177558 0.94512347 0.84720373 0.77202634 0.72267532 0.7013324 ] [ 2.31068474 2.28724519 2.23304614 2.15048365 2.0429447 1.91483319 1.77139439 1.61850085 1.46241214 1.30951859 1.1660798 1.03796829 0.93042934 0.84786684 0.79366779 0.77022825] [ 2.48418172 2.45898222 2.40071365 2.31195199 2.19633851 2.05860779 1.90439894 1.74002544 1.57221686 1.40784336 1.2536345 1.11590379 1.00029031 0.91152864 0.85326007 0.82806057] [ 2.61738316 2.59083247 2.52943955 2.43591849 2.31410584 2.16899002 2.00651251 1.83332533 1.65651888 1.4833317 1.32085419 1.17573837 1.05392572 0.96040466 0.89901174 0.87246105] [ 2.7048247 2.677387 2.61394307 2.51729766 2.39141549 2.24145164 2.07354609 1.89457307 1.71185987 1.53288685 1.36498129 1.21501744 1.08913527 0.99248987 0.92904593 0.90160823] [ 2.74264068 2.71481938 2.65048844 2.55249184 2.42484972 2.27278923 2.1025362 1.92106097 1.73579327 1.55431804 1.38406501 1.23200452 1.1043624 1.0063658 0.94203486 0.91421356]]
for eta_points in eta_LGL: for xi_points in xi_LGL: print round(xi_points, 3), '\t', print print np.round(Xi, 3) print '\n****************************************\n' for eta_points in eta_LGL: for xi_points in xi_LGL: print round(eta_points, 3), '\t', print print np.round(Eta, 3)
-1.0 -0.97 -0.899 -0.792 -0.652 -0.486 -0.3 -0.101 0.101 0.3 0.486 0.652 0.792 0.899 0.97 1.0 -1.0 -0.97 -0.899 -0.792 -0.652 -0.486 -0.3 -0.101 0.101 0.3 0.486 0.652 0.792 0.899 0.97 1.0 -1.0 -0.97 -0.899 -0.792 -0.652 -0.486 -0.3 -0.101 0.101 0.3 0.486 0.652 0.792 0.899 0.97 1.0 -1.0 -0.97 -0.899 -0.792 -0.652 -0.486 -0.3 -0.101 0.101 0.3 0.486 0.652 0.792 0.899 0.97 1.0 -1.0 -0.97 -0.899 -0.792 -0.652 -0.486 -0.3 -0.101 0.101 0.3 0.486 0.652 0.792 0.899 0.97 1.0 -1.0 -0.97 -0.899 -0.792 -0.652 -0.486 -0.3 -0.101 0.101 0.3 0.486 0.652 0.792 0.899 0.97 1.0 -1.0 -0.97 -0.899 -0.792 -0.652 -0.486 -0.3 -0.101 0.101 0.3 0.486 0.652 0.792 0.899 0.97 1.0 -1.0 -0.97 -0.899 -0.792 -0.652 -0.486 -0.3 -0.101 0.101 0.3 0.486 0.652 0.792 0.899 0.97 1.0 -1.0 -0.97 -0.899 -0.792 -0.652 -0.486 -0.3 -0.101 0.101 0.3 0.486 0.652 0.792 0.899 0.97 1.0 -1.0 -0.97 -0.899 -0.792 -0.652 -0.486 -0.3 -0.101 0.101 0.3 0.486 0.652 0.792 0.899 0.97 1.0 -1.0 -0.97 -0.899 -0.792 -0.652 -0.486 -0.3 -0.101 0.101 0.3 0.486 0.652 0.792 0.899 0.97 1.0 -1.0 -0.97 -0.899 -0.792 -0.652 -0.486 -0.3 -0.101 0.101 0.3 0.486 0.652 0.792 0.899 0.97 1.0 -1.0 -0.97 -0.899 -0.792 -0.652 -0.486 -0.3 -0.101 0.101 0.3 0.486 0.652 0.792 0.899 0.97 1.0 -1.0 -0.97 -0.899 -0.792 -0.652 -0.486 -0.3 -0.101 0.101 0.3 0.486 0.652 0.792 0.899 0.97 1.0 -1.0 -0.97 -0.899 -0.792 -0.652 -0.486 -0.3 -0.101 0.101 0.3 0.486 0.652 0.792 0.899 0.97 1.0 -1.0 -0.97 -0.899 -0.792 -0.652 -0.486 -0.3 -0.101 0.101 0.3 0.486 0.652 0.792 0.899 0.97 1.0 [[-1. -0.97 -0.899 -0.792 -0.652 -0.486 -0.3 -0.101 0.101 0.3 0.486 0.652 0.792 0.899 0.97 1. ] [-1. -0.97 -0.899 -0.792 -0.652 -0.486 -0.3 -0.101 0.101 0.3 0.486 0.652 0.792 0.899 0.97 1. ] [-1. -0.97 -0.899 -0.792 -0.652 -0.486 -0.3 -0.101 0.101 0.3 0.486 0.652 0.792 0.899 0.97 1. ] [-1. -0.97 -0.899 -0.792 -0.652 -0.486 -0.3 -0.101 0.101 0.3 0.486 0.652 0.792 0.899 0.97 1. ] [-1. -0.97 -0.899 -0.792 -0.652 -0.486 -0.3 -0.101 0.101 0.3 0.486 0.652 0.792 0.899 0.97 1. ] [-1. -0.97 -0.899 -0.792 -0.652 -0.486 -0.3 -0.101 0.101 0.3 0.486 0.652 0.792 0.899 0.97 1. ] [-1. -0.97 -0.899 -0.792 -0.652 -0.486 -0.3 -0.101 0.101 0.3 0.486 0.652 0.792 0.899 0.97 1. ] [-1. -0.97 -0.899 -0.792 -0.652 -0.486 -0.3 -0.101 0.101 0.3 0.486 0.652 0.792 0.899 0.97 1. ] [-1. -0.97 -0.899 -0.792 -0.652 -0.486 -0.3 -0.101 0.101 0.3 0.486 0.652 0.792 0.899 0.97 1. ] [-1. -0.97 -0.899 -0.792 -0.652 -0.486 -0.3 -0.101 0.101 0.3 0.486 0.652 0.792 0.899 0.97 1. ] [-1. -0.97 -0.899 -0.792 -0.652 -0.486 -0.3 -0.101 0.101 0.3 0.486 0.652 0.792 0.899 0.97 1. ] [-1. -0.97 -0.899 -0.792 -0.652 -0.486 -0.3 -0.101 0.101 0.3 0.486 0.652 0.792 0.899 0.97 1. ] [-1. -0.97 -0.899 -0.792 -0.652 -0.486 -0.3 -0.101 0.101 0.3 0.486 0.652 0.792 0.899 0.97 1. ] [-1. -0.97 -0.899 -0.792 -0.652 -0.486 -0.3 -0.101 0.101 0.3 0.486 0.652 0.792 0.899 0.97 1. ] [-1. -0.97 -0.899 -0.792 -0.652 -0.486 -0.3 -0.101 0.101 0.3 0.486 0.652 0.792 0.899 0.97 1. ] [-1. -0.97 -0.899 -0.792 -0.652 -0.486 -0.3 -0.101 0.101 0.3 0.486 0.652 0.792 0.899 0.97 1. ]] **************************************** -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -0.97 -0.97 -0.97 -0.97 -0.97 -0.97 -0.97 -0.97 -0.97 -0.97 -0.97 -0.97 -0.97 -0.97 -0.97 -0.97 -0.899 -0.899 -0.899 -0.899 -0.899 -0.899 -0.899 -0.899 -0.899 -0.899 -0.899 -0.899 -0.899 -0.899 -0.899 -0.899 -0.792 -0.792 -0.792 -0.792 -0.792 -0.792 -0.792 -0.792 -0.792 -0.792 -0.792 -0.792 -0.792 -0.792 -0.792 -0.792 -0.652 -0.652 -0.652 -0.652 -0.652 -0.652 -0.652 -0.652 -0.652 -0.652 -0.652 -0.652 -0.652 -0.652 -0.652 -0.652 -0.486 -0.486 -0.486 -0.486 -0.486 -0.486 -0.486 -0.486 -0.486 -0.486 -0.486 -0.486 -0.486 -0.486 -0.486 -0.486 -0.3 -0.3 -0.3 -0.3 -0.3 -0.3 -0.3 -0.3 -0.3 -0.3 -0.3 -0.3 -0.3 -0.3 -0.3 -0.3 -0.101 -0.101 -0.101 -0.101 -0.101 -0.101 -0.101 -0.101 -0.101 -0.101 -0.101 -0.101 -0.101 -0.101 -0.101 -0.101 0.101 0.101 0.101 0.101 0.101 0.101 0.101 0.101 0.101 0.101 0.101 0.101 0.101 0.101 0.101 0.101 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.486 0.486 0.486 0.486 0.486 0.486 0.486 0.486 0.486 0.486 0.486 0.486 0.486 0.486 0.486 0.486 0.652 0.652 0.652 0.652 0.652 0.652 0.652 0.652 0.652 0.652 0.652 0.652 0.652 0.652 0.652 0.652 0.792 0.792 0.792 0.792 0.792 0.792 0.792 0.792 0.792 0.792 0.792 0.792 0.792 0.792 0.792 0.792 0.899 0.899 0.899 0.899 0.899 0.899 0.899 0.899 0.899 0.899 0.899 0.899 0.899 0.899 0.899 0.899 0.97 0.97 0.97 0.97 0.97 0.97 0.97 0.97 0.97 0.97 0.97 0.97 0.97 0.97 0.97 0.97 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 [[-1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. ] [-0.97 -0.97 -0.97 -0.97 -0.97 -0.97 -0.97 -0.97 -0.97 -0.97 -0.97 -0.97 -0.97 -0.97 -0.97 -0.97 ] [-0.899 -0.899 -0.899 -0.899 -0.899 -0.899 -0.899 -0.899 -0.899 -0.899 -0.899 -0.899 -0.899 -0.899 -0.899 -0.899] [-0.792 -0.792 -0.792 -0.792 -0.792 -0.792 -0.792 -0.792 -0.792 -0.792 -0.792 -0.792 -0.792 -0.792 -0.792 -0.792] [-0.652 -0.652 -0.652 -0.652 -0.652 -0.652 -0.652 -0.652 -0.652 -0.652 -0.652 -0.652 -0.652 -0.652 -0.652 -0.652] [-0.486 -0.486 -0.486 -0.486 -0.486 -0.486 -0.486 -0.486 -0.486 -0.486 -0.486 -0.486 -0.486 -0.486 -0.486 -0.486] [-0.3 -0.3 -0.3 -0.3 -0.3 -0.3 -0.3 -0.3 -0.3 -0.3 -0.3 -0.3 -0.3 -0.3 -0.3 -0.3 ] [-0.101 -0.101 -0.101 -0.101 -0.101 -0.101 -0.101 -0.101 -0.101 -0.101 -0.101 -0.101 -0.101 -0.101 -0.101 -0.101] [ 0.101 0.101 0.101 0.101 0.101 0.101 0.101 0.101 0.101 0.101 0.101 0.101 0.101 0.101 0.101 0.101] [ 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 ] [ 0.486 0.486 0.486 0.486 0.486 0.486 0.486 0.486 0.486 0.486 0.486 0.486 0.486 0.486 0.486 0.486] [ 0.652 0.652 0.652 0.652 0.652 0.652 0.652 0.652 0.652 0.652 0.652 0.652 0.652 0.652 0.652 0.652] [ 0.792 0.792 0.792 0.792 0.792 0.792 0.792 0.792 0.792 0.792 0.792 0.792 0.792 0.792 0.792 0.792] [ 0.899 0.899 0.899 0.899 0.899 0.899 0.899 0.899 0.899 0.899 0.899 0.899 0.899 0.899 0.899 0.899] [ 0.97 0.97 0.97 0.97 0.97 0.97 0.97 0.97 0.97 0.97 0.97 0.97 0.97 0.97 0.97 0.97 ] [ 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. ]]