{"id":4181,"date":"2019-09-10T23:26:42","date_gmt":"2019-09-11T04:26:42","guid":{"rendered":"http:\/\/blog.espol.edu.ec\/matg1013\/?p=4181"},"modified":"2026-04-05T20:59:39","modified_gmt":"2026-04-06T01:59:39","slug":"s3eva2019ti_t3-edp-difusion-en-solidos","status":"publish","type":"post","link":"https:\/\/blog.espol.edu.ec\/algoritmos101\/mn-s3eva20\/s3eva2019ti_t3-edp-difusion-en-solidos\/","title":{"rendered":"s3Eva2019TI_T3 EDP Difusi\u00f3n en s\u00f3lidos"},"content":{"rendered":"\n<p><em><strong>Ejercicio<\/strong><\/em>: <a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/mn-3eva20\/3eva2019ti_t3-edp-difusion-en-solidos\/\" data-type=\"post\" data-id=\"4177\">3Eva2019TI_T3 EDP Difusi\u00f3n en s\u00f3lidos<\/a><\/p>\n\n\n\n<p>Siguiendo el procedimiento planteado en la secci\u00f3n EDP parab\u00f3licas, se plantea la malla del ejercicio:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"332\" height=\"223\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2019\/09\/edp_difusionensolidos03.png\" alt=\"EDP difusi\u00f3n en s\u00f3lidos 03\" class=\"wp-image-18612\" \/><\/figure>\n\n\n\n<p>Para plantear la ecuaci\u00f3n en forma discreta:<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> \\frac{\\phi_{i,j+1}-\\phi_{i,j}}{\\Delta t}=D\\frac{\\phi_{i+1,j}-2\\phi_{i,j}+\\phi_{i-1,j}}{(\\Delta x)^2}<\/span>\n\n\n\n<p>y resolver usando el m\u00e9todo expl\u00edcito para ecuaciones parab\u00f3licas, obteniendo el siguiente resultado:<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> \\phi_{i,j+1}-\\phi_{i,j}=D\\frac{\\Delta t }{\\Delta x^2}(\\phi_{i+1,j}-2\\phi_{i,j}+\\phi_{i-1,j})<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> \\lambda = D\\frac{\\Delta t }{\\Delta x^2}<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> \\phi_{i,j+1}-\\phi_{i,j}=\\lambda (\\phi_{i+1,j}-2\\phi_{i,j}+\\phi_{i-1,j})<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> \\phi_{i,j+1} =\\lambda \\phi_{i+1,j}-2\\lambda\\phi_{i,j}+\\lambda\\phi_{i-1,j}+\\phi_{i,j}<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> \\phi_{i,j+1} =\\lambda \\phi_{i+1,j}(1-2\\lambda)\\phi_{i,j}+\\lambda\\phi_{i-1,j}<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> \\phi_{i,j+1} =P \\phi_{i+1,j}+Q\\phi_{i,j}+R\\phi_{i-1,j}<\/span>\n\n\n\n<p>siendo:<br>P = \u03bb = 0.16 (\u0394x\/100)\/\u0394x<sup>2<\/sup> = 0.0016\/\u0394x = 0.0016\/0.02=0.08<br>Q = 1-2\u03bb = 1-2*(0.08) = 0.84<br>R = \u03bb =0.08<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> \\phi_{i,j+1} =0.08 \\phi_{i+1,j}+ 0.84\\phi_{i,j}+0.08\\phi_{i-1,j}<\/span>\n\n\n\n<p><em><strong>Iteraci\u00f3n 1 en tiempo<\/strong><\/em>:<br>i=1, j=0<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> \\phi_{1,1} =0.08 \\phi_{2,0}+ 0.84\\phi_{1,0}+0.08\\phi_{0,0}<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> \\phi_{1,1} =0.08 (0)+ 0.84(0)+0.08(5)=0.4<\/span>\n\n\n\n<p>i=2,j=0<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> \\phi_{2,1} =0.08 \\phi_{3,0}+ 0.84\\phi_{2,0}+0.08\\phi_{1,0} = 0<\/span>\n\n\n\n<p>Para los pr\u00f3ximos valores i&gt;2, todos los resultados son 0<\/p>\n\n\n\n<p><em><strong>Iteraci\u00f3n 2 en tiempo<\/strong><\/em><br>i=1, j=1<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> \\phi_{1,2} =0.08 \\phi_{2,0}+ 0.84\\phi_{1,0}+0.08\\phi_{0,0}<\/span>\n\n\n\n<p><span class=\"wp-katex-eq katex-display\" data-display=\"true\"> \\phi_{1,2} =0.08 (0)+ 0.84(0.4)+0.08(5)=0.736<\/span><br>i=2, j=1<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> \\phi_{2,2} =0.08 \\phi_{3,1}+ 0.84\\phi_{2,1}+0.08\\phi_{1,1}<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> \\phi_{2,2} =0.08(0)+ 0.84(0)+0.08(0.4) = 0.032<\/span>\n\n\n\n<p>i=3, j=1<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> \\phi_{3,2} =0.08\\phi_{4,1}+ 0.84\\phi_{3,1}+0.08\\phi_{2,1}=0<\/span>\n\n\n\n<p>Para los pr\u00f3ximos valores i&gt;3, todos los resultados son 0<\/p>\n\n\n\n<p><strong>Tarea<\/strong>: Desarrollar la iteraci\u00f3n 3 en el tiempo.<\/p>\n\n\n\n<p>siguiendo las iteraciones se tiene la siguiente tabla:<\/p>\n\n\n\n<pre class=\"wp-block-code alignwide\"><code>&#091;&#091;5.0, 0.000, 0.000, 0.00000, 0.00000 , 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],\n &#091;5.0, 0.400, 0.000, 0.00000, 0.00000 , 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],\n &#091;5.0, 0.736, 0.032, 0.00000, 0.00000 , 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],\n &#091;5.0, 1.021, 0.085, 0.00256, 0.00000 , 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],\n &#091;5.0, 1.264, 0.153, 0.00901, 0.00020, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]\n...\n]<\/code><\/pre>\n\n\n\n<p>Con lo que se obtiene la siguiente gr\u00e1fica.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"543\" height=\"437\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2019\/09\/edp_difusionensolidos02.png\" alt=\"EDP difusi\u00f3n en s\u00f3lidos 02\" class=\"wp-image-18614\" \/><\/figure>\n\n\n\n<p>El resultado se interpreta mejor con una animaci\u00f3n: (tarea)<\/p>\n\n\n\n<p><em><strong>Tarea<\/strong><\/em>: Presentar el orden de error de la ecuaci\u00f3n basado en las f\u00f3rmulas de diferenciaci\u00f3n<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">Algoritmo en Python<\/h2>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n# 3Eva_IT2019_T3 Difusi\u00f3n en s\u00f3lidos\n# EDP parab\u00f3licas. m\u00e9todo expl\u00edcito,usando diferencias finitas\nimport numpy as np\nimport matplotlib.pyplot as plt\n\n# INGRESO\n# Valores de frontera\nTa = 5\nTb = 0\nT0 = 0\n# longitud en x\na = 0\nb = 0.1\n# Constante K\nK = 1\/(1.6e-1)\n# Tama\u00f1o de paso\ndx = 0.02\ndt = dx\/100\n# iteraciones en tiempo\nn = 50\n\n# PROCEDIMIENTO\n# iteraciones en longitud\nxi = np.arange(a,b+dx,dx)\nm = len(xi)\nultimox = m-1\n\n# Resultados en tabla u&#x5B;x,t]\nu = np.zeros(shape=(m,n), dtype=float)\n\n# valores iniciales de u&#x5B;:,j]\nj=0\nultimot = n-1\nu&#x5B;0,j]= Ta\nu&#x5B;1:ultimox,j] = T0\nu&#x5B;ultimox,j] = Tb\n\n# factores P,Q,R\nlamb = dt\/(K*dx**2)\nP = lamb\nQ = 1 - 2*lamb\nR = lamb\n\n# Calcula U para cada tiempo + dt\nj = 0\nwhile not(j&gt;=ultimot):\n    u&#x5B;0,j+1] = Ta\n    for i in range(1,ultimox,1):\n        u&#x5B;i,j+1] = P*u&#x5B;i-1,j] + Q*u&#x5B;i,j] + R*u&#x5B;i+1,j]\n    u&#x5B;m-1,j+1] = Tb\n    j=j+1\n\n# SALIDA\nprint('Tabla de resultados')\nnp.set_printoptions(precision=2)\nprint(u)\n\n# Gr\u00e1fica\nsalto = int(n\/10)\nif (salto == 0):\n    salto = 1\nfor j in range(0,n,salto):\n    vector = u&#x5B;:,j]\n    plt.plot(xi,vector)\n    plt.plot(xi,vector, '.r')\nplt.xlabel('x&#x5B;i]')\nplt.ylabel('phi&#x5B;i,j]')\nplt.title('Soluci\u00f3n EDP parab\u00f3lica')\nplt.show()\n<\/pre><\/div>\n\n\n<p>La animaci\u00f3n se complementa con lo mostrado en la secci\u00f3n de Unidades.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ejercicio: 3Eva2019TI_T3 EDP Difusi\u00f3n en s\u00f3lidos Siguiendo el procedimiento planteado en la secci\u00f3n EDP parab\u00f3licas, se plantea la malla del ejercicio: Para plantear la ecuaci\u00f3n en forma discreta: y resolver usando el m\u00e9todo expl\u00edcito para ecuaciones parab\u00f3licas, obteniendo el siguiente resultado: siendo:P = \u03bb = 0.16 (\u0394x\/100)\/\u0394x2 = 0.0016\/\u0394x = 0.0016\/0.02=0.08Q = 1-2\u03bb = 1-2*(0.08) [&hellip;]<\/p>\n","protected":false},"author":8043,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"wp-custom-template-entrada-mn-ejemplo","format":"standard","meta":{"footnotes":""},"categories":[51],"tags":[58,54],"class_list":["post-4181","post","type-post","status-publish","format-standard","hentry","category-mn-s3eva20","tag-ejemplos-python","tag-mnumericos"],"_links":{"self":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/4181","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/users\/8043"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/comments?post=4181"}],"version-history":[{"count":3,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/4181\/revisions"}],"predecessor-version":[{"id":23925,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/4181\/revisions\/23925"}],"wp:attachment":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/media?parent=4181"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/categories?post=4181"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/tags?post=4181"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}