Contact
CoCalc Logo Icon
StoreFeaturesDocsShareSupport News AboutSign UpSign In
| Download
Views: 1021
%typeset_mode False
var('xi, eta, x, y') xi_LGL = [-1.0, \ -0.87174014851, \ -0.591700181433,\ -0.209299217902,\ 0.209299217902, \ 0.591700181433, \ 0.87174014851, \ 1.0] eta_LGL = [-1.0, \ -0.87174014851, \ -0.591700181433,\ -0.209299217902,\ 0.209299217902, \ 0.591700181433, \ 0.87174014851, \ 1.0]
(xi, eta, x, y)
L_xi_0 = ((xi - (xi_LGL[1])) / (xi_LGL[0] - xi_LGL[1]))\ * ((xi - (xi_LGL[2])) / (xi_LGL[0] - xi_LGL[2]))\ * ((xi - (xi_LGL[3])) / (xi_LGL[0] - xi_LGL[3]))\ * ((xi - (xi_LGL[4])) / (xi_LGL[0] - xi_LGL[4]))\ * ((xi - (xi_LGL[5])) / (xi_LGL[0] - xi_LGL[5]))\ * ((xi - (xi_LGL[6])) / (xi_LGL[0] - xi_LGL[6]))\ * ((xi - (xi_LGL[7])) / (xi_LGL[0] - xi_LGL[7])) L_xi_1 = ((xi - (xi_LGL[0])) / (xi_LGL[1] - xi_LGL[0]))\ * ((xi - (xi_LGL[2])) / (xi_LGL[1] - xi_LGL[2]))\ * ((xi - (xi_LGL[3])) / (xi_LGL[1] - xi_LGL[3]))\ * ((xi - (xi_LGL[4])) / (xi_LGL[1] - xi_LGL[4]))\ * ((xi - (xi_LGL[5])) / (xi_LGL[1] - xi_LGL[5]))\ * ((xi - (xi_LGL[6])) / (xi_LGL[1] - xi_LGL[6]))\ * ((xi - (xi_LGL[7])) / (xi_LGL[1] - xi_LGL[7])) L_xi_2 = ((xi - (xi_LGL[0])) / (xi_LGL[2] - xi_LGL[0])) \ * ((xi - (xi_LGL[1])) / (xi_LGL[2] - xi_LGL[1])) \ * ((xi - (xi_LGL[3])) / (xi_LGL[2] - xi_LGL[3])) \ * ((xi - (xi_LGL[4])) / (xi_LGL[2] - xi_LGL[4])) \ * ((xi - (xi_LGL[5])) / (xi_LGL[2] - xi_LGL[5])) \ * ((xi - (xi_LGL[6])) / (xi_LGL[2] - xi_LGL[6])) \ * ((xi - (xi_LGL[7])) / (xi_LGL[2] - xi_LGL[7])) L_xi_3 = ((xi - (xi_LGL[0])) / (xi_LGL[3] - xi_LGL[0])) \ * ((xi - (xi_LGL[1])) / (xi_LGL[3] - xi_LGL[1])) \ * ((xi - (xi_LGL[2])) / (xi_LGL[3] - xi_LGL[2])) \ * ((xi - (xi_LGL[4])) / (xi_LGL[3] - xi_LGL[4])) \ * ((xi - (xi_LGL[5])) / (xi_LGL[3] - xi_LGL[5])) \ * ((xi - (xi_LGL[6])) / (xi_LGL[3] - xi_LGL[6])) \ * ((xi - (xi_LGL[7])) / (xi_LGL[3] - xi_LGL[7])) L_xi_4 = ((xi - (xi_LGL[0])) / (xi_LGL[4] - xi_LGL[0])) \ * ((xi - (xi_LGL[1])) / (xi_LGL[4] - xi_LGL[1])) \ * ((xi - (xi_LGL[2])) / (xi_LGL[4] - xi_LGL[2])) \ * ((xi - (xi_LGL[3])) / (xi_LGL[4] - xi_LGL[3])) \ * ((xi - (xi_LGL[5])) / (xi_LGL[4] - xi_LGL[5])) \ * ((xi - (xi_LGL[6])) / (xi_LGL[4] - xi_LGL[6])) \ * ((xi - (xi_LGL[7])) / (xi_LGL[4] - xi_LGL[7])) L_xi_5 = ((xi - (xi_LGL[0])) / (xi_LGL[5] - xi_LGL[0])) \ * ((xi - (xi_LGL[1])) / (xi_LGL[5] - xi_LGL[1])) \ * ((xi - (xi_LGL[2])) / (xi_LGL[5] - xi_LGL[2])) \ * ((xi - (xi_LGL[3])) / (xi_LGL[5] - xi_LGL[3])) \ * ((xi - (xi_LGL[4])) / (xi_LGL[5] - xi_LGL[4])) \ * ((xi - (xi_LGL[6])) / (xi_LGL[5] - xi_LGL[6])) \ * ((xi - (xi_LGL[7])) / (xi_LGL[5] - xi_LGL[7])) L_xi_6 = ((xi - (xi_LGL[0])) / (xi_LGL[6] - xi_LGL[0])) \ * ((xi - (xi_LGL[1])) / (xi_LGL[6] - xi_LGL[1])) \ * ((xi - (xi_LGL[2])) / (xi_LGL[6] - xi_LGL[2])) \ * ((xi - (xi_LGL[3])) / (xi_LGL[6] - xi_LGL[3])) \ * ((xi - (xi_LGL[4])) / (xi_LGL[6] - xi_LGL[4])) \ * ((xi - (xi_LGL[5])) / (xi_LGL[6] - xi_LGL[5])) \ * ((xi - (xi_LGL[7])) / (xi_LGL[6] - xi_LGL[7])) L_xi_7 = ((xi - (xi_LGL[0])) / (xi_LGL[7] - xi_LGL[0])) \ * ((xi - (xi_LGL[1])) / (xi_LGL[7] - xi_LGL[1])) \ * ((xi - (xi_LGL[2])) / (xi_LGL[7] - xi_LGL[2])) \ * ((xi - (xi_LGL[3])) / (xi_LGL[7] - xi_LGL[3])) \ * ((xi - (xi_LGL[4])) / (xi_LGL[7] - xi_LGL[4])) \ * ((xi - (xi_LGL[5])) / (xi_LGL[7] - xi_LGL[5])) \ * ((xi - (xi_LGL[6])) / (xi_LGL[7] - xi_LGL[6])) ###################################################################### L_eta_0 = ((eta - (eta_LGL[1])) / (eta_LGL[0] - eta_LGL[1]))\ * ((eta - (eta_LGL[2])) / (eta_LGL[0] - eta_LGL[2]))\ * ((eta - (eta_LGL[3])) / (eta_LGL[0] - eta_LGL[3]))\ * ((eta - (eta_LGL[4])) / (eta_LGL[0] - eta_LGL[4]))\ * ((eta - (eta_LGL[5])) / (eta_LGL[0] - eta_LGL[5]))\ * ((eta - (eta_LGL[6])) / (eta_LGL[0] - eta_LGL[6]))\ * ((eta - (eta_LGL[7])) / (eta_LGL[0] - eta_LGL[7])) L_eta_1 = ((eta - (eta_LGL[0])) / (eta_LGL[1] - eta_LGL[0]))\ * ((eta - (eta_LGL[2])) / (eta_LGL[1] - eta_LGL[2]))\ * ((eta - (eta_LGL[3])) / (eta_LGL[1] - eta_LGL[3]))\ * ((eta - (eta_LGL[4])) / (eta_LGL[1] - eta_LGL[4]))\ * ((eta - (eta_LGL[5])) / (eta_LGL[1] - eta_LGL[5]))\ * ((eta - (eta_LGL[6])) / (eta_LGL[1] - eta_LGL[6]))\ * ((eta - (eta_LGL[7])) / (eta_LGL[1] - eta_LGL[7])) L_eta_2 = ((eta - (eta_LGL[0])) / (eta_LGL[2] - eta_LGL[0])) \ * ((eta - (eta_LGL[1])) / (eta_LGL[2] - eta_LGL[1])) \ * ((eta - (eta_LGL[3])) / (eta_LGL[2] - eta_LGL[3])) \ * ((eta - (eta_LGL[4])) / (eta_LGL[2] - eta_LGL[4])) \ * ((eta - (eta_LGL[5])) / (eta_LGL[2] - eta_LGL[5])) \ * ((eta - (eta_LGL[6])) / (eta_LGL[2] - eta_LGL[6])) \ * ((eta - (eta_LGL[7])) / (eta_LGL[2] - eta_LGL[7])) L_eta_3 = ((eta - (eta_LGL[0])) / (eta_LGL[3] - eta_LGL[0])) \ * ((eta - (eta_LGL[1])) / (eta_LGL[3] - eta_LGL[1])) \ * ((eta - (eta_LGL[2])) / (eta_LGL[3] - eta_LGL[2])) \ * ((eta - (eta_LGL[4])) / (eta_LGL[3] - eta_LGL[4])) \ * ((eta - (eta_LGL[5])) / (eta_LGL[3] - eta_LGL[5])) \ * ((eta - (eta_LGL[6])) / (eta_LGL[3] - eta_LGL[6])) \ * ((eta - (eta_LGL[7])) / (eta_LGL[3] - eta_LGL[7])) L_eta_4 = ((eta- (eta_LGL[0])) / (eta_LGL[4] - eta_LGL[0])) \ * ((eta- (eta_LGL[1])) / (eta_LGL[4] - eta_LGL[1])) \ * ((eta- (eta_LGL[2])) / (eta_LGL[4] - eta_LGL[2])) \ * ((eta- (eta_LGL[3])) / (eta_LGL[4] - eta_LGL[3])) \ * ((eta- (eta_LGL[5])) / (eta_LGL[4] - eta_LGL[5])) \ * ((eta- (eta_LGL[6])) / (eta_LGL[4] - eta_LGL[6])) \ * ((eta- (eta_LGL[7])) / (eta_LGL[4] - eta_LGL[7])) L_eta_5 = ((eta - (eta_LGL[0])) / (eta_LGL[5] - eta_LGL[0])) \ * ((eta - (eta_LGL[1])) / (eta_LGL[5] - eta_LGL[1])) \ * ((eta - (eta_LGL[2])) / (eta_LGL[5] - eta_LGL[2])) \ * ((eta - (eta_LGL[3])) / (eta_LGL[5] - eta_LGL[3])) \ * ((eta - (eta_LGL[4])) / (eta_LGL[5] - eta_LGL[4])) \ * ((eta - (eta_LGL[6])) / (eta_LGL[5] - eta_LGL[6])) \ * ((eta - (eta_LGL[7])) / (eta_LGL[5] - eta_LGL[7])) L_eta_6 = ((eta - (eta_LGL[0])) / (eta_LGL[6] - eta_LGL[0])) \ * ((eta - (eta_LGL[1])) / (eta_LGL[6] - eta_LGL[1])) \ * ((eta - (eta_LGL[2])) / (eta_LGL[6] - eta_LGL[2])) \ * ((eta - (eta_LGL[3])) / (eta_LGL[6] - eta_LGL[3])) \ * ((eta - (eta_LGL[4])) / (eta_LGL[6] - eta_LGL[4])) \ * ((eta - (eta_LGL[5])) / (eta_LGL[6] - eta_LGL[5])) \ * ((eta - (eta_LGL[7])) / (eta_LGL[6] - eta_LGL[7])) L_eta_7 = ((eta - (eta_LGL[0])) / (eta_LGL[7] - eta_LGL[0])) \ * ((eta - (eta_LGL[1])) / (eta_LGL[7] - eta_LGL[1])) \ * ((eta - (eta_LGL[2])) / (eta_LGL[7] - eta_LGL[2])) \ * ((eta - (eta_LGL[3])) / (eta_LGL[7] - eta_LGL[3])) \ * ((eta - (eta_LGL[4])) / (eta_LGL[7] - eta_LGL[4])) \ * ((eta - (eta_LGL[5])) / (eta_LGL[7] - eta_LGL[5])) \ * ((eta - (eta_LGL[6])) / (eta_LGL[7] - eta_LGL[6]))
u = e^(-xi^2 / 0.6^2) u c_x = 1.
e^(-2.77777777777778*xi^2)
F_x = c_x * u F_x(-0.871740148510000) print((1. * diff(L_xi_0, xi) * L_eta_0 * F_x)(xi=0.5, eta=0.5))
0.121126584269306 -0.00141390530006489
print integrate(integrate(1. * diff(L_xi_0, xi) * L_eta_0 * F_x, xi, -1, 1), eta, -1, 1).n() print integrate(integrate(1. * diff(L_xi_0, xi) * L_eta_1 * F_x, xi, -1, 1), eta, -1, 1).n() print integrate(integrate(1. * diff(L_xi_0, xi) * L_eta_2 * F_x, xi, -1, 1), eta, -1, 1).n() print integrate(integrate(1. * diff(L_xi_0, xi) * L_eta_3 * F_x, xi, -1, 1), eta, -1, 1).n() print integrate(integrate(1. * diff(L_xi_0, xi) * L_eta_4 * F_x, xi, -1, 1), eta, -1, 1).n() print integrate(integrate(1. * diff(L_xi_0, xi) * L_eta_5 * F_x, xi, -1, 1), eta, -1, 1).n() print integrate(integrate(1. * diff(L_xi_0, xi) * L_eta_6 * F_x, xi, -1, 1), eta, -1, 1).n() print integrate(integrate(1. * diff(L_xi_0, xi) * L_eta_7 * F_x, xi, -1, 1), eta, -1, 1).n() print integrate(integrate(1. * diff(L_xi_1, xi) * L_eta_0 * F_x, xi, -1, 1), eta, -1, 1).n() print integrate(integrate(1. * diff(L_xi_1, xi) * L_eta_1 * F_x, xi, -1, 1), eta, -1, 1).n() print integrate(integrate(1. * diff(L_xi_1, xi) * L_eta_2 * F_x, xi, -1, 1), eta, -1, 1).n() print integrate(integrate(1. * diff(L_xi_1, xi) * L_eta_3 * F_x, xi, -1, 1), eta, -1, 1).n() print integrate(integrate(1. * diff(L_xi_1, xi) * L_eta_4 * F_x, xi, -1, 1), eta, -1, 1).n() print integrate(integrate(1. * diff(L_xi_1, xi) * L_eta_5 * F_x, xi, -1, 1), eta, -1, 1).n() print integrate(integrate(1. * diff(L_xi_1, xi) * L_eta_6 * F_x, xi, -1, 1), eta, -1, 1).n() print integrate(integrate(1. * diff(L_xi_1, xi) * L_eta_7 * F_x, xi, -1, 1), eta, -1, 1).n() print integrate(integrate(1. * diff(L_xi_2, xi) * L_eta_0 * F_x, xi, -1, 1), eta, -1, 1).n() print integrate(integrate(1. * diff(L_xi_2, xi) * L_eta_1 * F_x, xi, -1, 1), eta, -1, 1).n() print integrate(integrate(1. * diff(L_xi_2, xi) * L_eta_2 * F_x, xi, -1, 1), eta, -1, 1).n() print integrate(integrate(1. * diff(L_xi_2, xi) * L_eta_3 * F_x, xi, -1, 1), eta, -1, 1).n() print integrate(integrate(1. * diff(L_xi_2, xi) * L_eta_4 * F_x, xi, -1, 1), eta, -1, 1).n() print integrate(integrate(1. * diff(L_xi_2, xi) * L_eta_5 * F_x, xi, -1, 1), eta, -1, 1).n() print integrate(integrate(1. * diff(L_xi_2, xi) * L_eta_6 * F_x, xi, -1, 1), eta, -1, 1).n() print integrate(integrate(1. * diff(L_xi_2, xi) * L_eta_7 * F_x, xi, -1, 1), eta, -1, 1).n() print integrate(integrate(1. * diff(L_xi_3, xi) * L_eta_0 * F_x, xi, -1, 1), eta, -1, 1).n() print integrate(integrate(1. * diff(L_xi_3, xi) * L_eta_1 * F_x, xi, -1, 1), eta, -1, 1).n() print integrate(integrate(1. * diff(L_xi_3, xi) * L_eta_2 * F_x, xi, -1, 1), eta, -1, 1).n() print integrate(integrate(1. * diff(L_xi_3, xi) * L_eta_3 * F_x, xi, -1, 1), eta, -1, 1).n() print integrate(integrate(1. * diff(L_xi_3, xi) * L_eta_4 * F_x, xi, -1, 1), eta, -1, 1).n() print integrate(integrate(1. * diff(L_xi_3, xi) * L_eta_5 * F_x, xi, -1, 1), eta, -1, 1).n() print integrate(integrate(1. * diff(L_xi_3, xi) * L_eta_6 * F_x, xi, -1, 1), eta, -1, 1).n() print integrate(integrate(1. * diff(L_xi_3, xi) * L_eta_7 * F_x, xi, -1, 1), eta, -1, 1).n()
-0.00274861591012480 -0.0162160597496870 -0.0262532272764426 -0.0317433425476952 -0.0317433425476952 -0.0262532272764426 -0.0162160597496870 -0.00274861591012480 -0.00416938629442680 -0.0245982048713678 -0.0398236238055907 -0.0481516012732554 -0.0481516012732554 -0.0398236238055907 -0.0245982048713678 -0.00416938629442680 -0.0155553552218063 -0.0917722147991800 -0.148575970363694 -0.179646405828473 -0.179646405828473 -0.148575970363694 -0.0917722147991800 -0.0155553552218063 -0.0145886180005939 -0.0860687374658498 -0.139342242256541 -0.168481706296060 -0.168481706296060 -0.139342242256541 -0.0860687374658498 -0.0145886180005939
print integrate(integrate(1. * diff(L_xi_4, xi) * L_eta_0 * F_x, xi, -1, 1), eta, -1, 1).n() print integrate(integrate(1. * diff(L_xi_4, xi) * L_eta_1 * F_x, xi, -1, 1), eta, -1, 1).n() print integrate(integrate(1. * diff(L_xi_4, xi) * L_eta_2 * F_x, xi, -1, 1), eta, -1, 1).n() print integrate(integrate(1. * diff(L_xi_4, xi) * L_eta_3 * F_x, xi, -1, 1), eta, -1, 1).n() print integrate(integrate(1. * diff(L_xi_4, xi) * L_eta_4 * F_x, xi, -1, 1), eta, -1, 1).n() print integrate(integrate(1. * diff(L_xi_4, xi) * L_eta_5 * F_x, xi, -1, 1), eta, -1, 1).n() print integrate(integrate(1. * diff(L_xi_4, xi) * L_eta_6 * F_x, xi, -1, 1), eta, -1, 1).n() print integrate(integrate(1. * diff(L_xi_4, xi) * L_eta_7 * F_x, xi, -1, 1), eta, -1, 1).n() print integrate(integrate(1. * diff(L_xi_5, xi) * L_eta_0 * F_x, xi, -1, 1), eta, -1, 1).n() print integrate(integrate(1. * diff(L_xi_5, xi) * L_eta_1 * F_x, xi, -1, 1), eta, -1, 1).n() print integrate(integrate(1. * diff(L_xi_5, xi) * L_eta_2 * F_x, xi, -1, 1), eta, -1, 1).n() print integrate(integrate(1. * diff(L_xi_5, xi) * L_eta_3 * F_x, xi, -1, 1), eta, -1, 1).n() print integrate(integrate(1. * diff(L_xi_5, xi) * L_eta_4 * F_x, xi, -1, 1), eta, -1, 1).n() print integrate(integrate(1. * diff(L_xi_5, xi) * L_eta_5 * F_x, xi, -1, 1), eta, -1, 1).n() print integrate(integrate(1. * diff(L_xi_5, xi) * L_eta_6 * F_x, xi, -1, 1), eta, -1, 1).n() print integrate(integrate(1. * diff(L_xi_5, xi) * L_eta_7 * F_x, xi, -1, 1), eta, -1, 1).n() print integrate(integrate(1. * diff(L_xi_6, xi) * L_eta_0 * F_x, xi, -1, 1), eta, -1, 1).n() print integrate(integrate(1. * diff(L_xi_6, xi) * L_eta_1 * F_x, xi, -1, 1), eta, -1, 1).n() print integrate(integrate(1. * diff(L_xi_6, xi) * L_eta_2 * F_x, xi, -1, 1), eta, -1, 1).n() print integrate(integrate(1. * diff(L_xi_6, xi) * L_eta_3 * F_x, xi, -1, 1), eta, -1, 1).n() print integrate(integrate(1. * diff(L_xi_6, xi) * L_eta_4 * F_x, xi, -1, 1), eta, -1, 1).n() print integrate(integrate(1. * diff(L_xi_6, xi) * L_eta_5 * F_x, xi, -1, 1), eta, -1, 1).n() print integrate(integrate(1. * diff(L_xi_6, xi) * L_eta_6 * F_x, xi, -1, 1), eta, -1, 1).n() print integrate(integrate(1. * diff(L_xi_6, xi) * L_eta_7 * F_x, xi, -1, 1), eta, -1, 1).n() print integrate(integrate(1. * diff(L_xi_7, xi) * L_eta_0 * F_x, xi, -1, 1), eta, -1, 1).n() print integrate(integrate(1. * diff(L_xi_7, xi) * L_eta_1 * F_x, xi, -1, 1), eta, -1, 1).n() print integrate(integrate(1. * diff(L_xi_7, xi) * L_eta_2 * F_x, xi, -1, 1), eta, -1, 1).n() print integrate(integrate(1. * diff(L_xi_7, xi) * L_eta_3 * F_x, xi, -1, 1), eta, -1, 1).n() print integrate(integrate(1. * diff(L_xi_7, xi) * L_eta_4 * F_x, xi, -1, 1), eta, -1, 1).n() print integrate(integrate(1. * diff(L_xi_7, xi) * L_eta_5 * F_x, xi, -1, 1), eta, -1, 1).n() print integrate(integrate(1. * diff(L_xi_7, xi) * L_eta_6 * F_x, xi, -1, 1), eta, -1, 1).n() print integrate(integrate(1. * diff(L_xi_7, xi) * L_eta_7 * F_x, xi, -1, 1), eta, -1, 1).n()
0.0145886180005938 0.0860687374658495 0.139342242256540 0.168481706296059 0.168481706296059 0.139342242256540 0.0860687374658495 0.0145886180005938 0.0155553552218063 0.0917722147991798 0.148575970363693 0.179646405828473 0.179646405828473 0.148575970363693 0.0917722147991798 0.0155553552218063 0.00416938629442683 0.0245982048713680 0.0398236238055910 0.0481516012732558 0.0481516012732558 0.0398236238055910 0.0245982048713680 0.00416938629442683 0.00274861591012480 0.0162160597496870 0.0262532272764425 0.0317433425476952 0.0317433425476952 0.0262532272764425 0.0162160597496870 0.00274861591012480
integrate(diff(L_xi_0, xi) * e**(-xi**2/0.6**2), xi, -1, 1).n()
-0.0769612454839493
### Ignore after this line
print integrate(integrate(1. * diff(L_xi_0, xi) * e**(-xi**2/0.6**2), xi, -1, 1), eta, -1, 1).n()
-0.153922490967899
u = e^(-xi^2 / 0.6^2) print(numerical_integral(1. * e**(-xi**2/0.6**2), -1, 1))
(1.0438808902215202, 1.1589405992901371e-14)
-0.07955470515481 + 0.0769612454839494
-0.00259345967086060
for i in range(1): element_limits = [-1 + 0.2 * i, -0.8 + 0.2 * i] x_element = sum(element_limits) / 2 + xi * (element_limits[1] - element_limits[0]) / 2 print(x_element) flux = e ** (- (x_element ** 2) / (0.4 ** 2)) print(numerical_integral(diff(L_xi_0) * flux, -1, 1)[0])
0.100000000000000*xi - 0.900000000000000 -0.00201663487667