Varios


Ecuaciones diferenciales parabólicas


Ecuaciones Diferenciales Parabólicas

Problemas PDE Parabólica

Esta sección describe la solución de algunos problemas de PDE parabólicos. Los problemas que usan la interfaz del usuario gráfica se resuelven y el orden-línea funciona de la Caja de herramientas de PDE. Los temas incluyen:

La Ecuación de Calor: Un Bloque de Metal Acalorado

Caliente la Distribución en Rod Radiactivo

La Ecuación de Calor: Un Bloque de Metal Acalorado

Un problema parabólico común es la ecuación de calor:

'Ecuaciones diferenciales parabólicas'
(1)

La ecuación de calor describe la difusión de calor en un cuerpo de algún amable. Vea los Modos de Aplicación de sección para más información sobre el traslado de calor y problemas de difusión.

Este primer ejemplo estudia un bloque de metal acalorado con un crujido rectangular o cavidad. El lado izquierdo del bloque se calienta a 100 centígrado de los grados. Al lado correcto del bloque de metal, el calor está fluyendo del bloque al aire circundante a una proporción constante. Todos los otros límites del bloque se aislan. Esto lleva al juego siguiente de condiciones del límite (cuando el descascarar apropiado de t es escogido):

'Ecuaciones diferenciales parabólicas'
(2)

en el lado izquierdo (Dirichlet condiciona)

'Ecuaciones diferenciales parabólicas'
(3)

en el lado correcto (Neumann condiciona)

'Ecuaciones diferenciales parabólicas'
(4)

En todos los otros límites (Neumann condicionan)

También, para la ecuación de calor nosotros necesitamos un valor inicial: la temperatura en el bloque de metal al t0 de tiempo de arranque. En este caso, la temperatura del bloque está 0 grados en el momento que nosotros empezamos aplicando el calor.

Finalmente, para completar la formulación del problema, nosotros especificamos que el tiempo de arranque es 0 y que nosotros queremos estudiar la distribución de calor durante los primeros cinco segundos.

Usando la Interfaz Gráfica de Usuario

Una vez usted ha empezado el pdetool GUI y seleccionó el modo de Scalar Genérico, mientras dibujando al modelo de CSG pueden hacerse muy rápidamente: Dibuje un rectángulo (R1) con las esquinas en x = [-0.5 0.5 0.5 -0.5] y y = [-0.8 -0.8 0.8 0.8]. Dibuje otro rectángulo (R2) para representar la cavidad rectangular. Sus esquinas deben tener las coordenadas x = [-0.05 0.05 0.05 -0.05] y y = [-0.4 -0.4 0.4 0.4]. Para ayudar dibujando el rectángulo estrecho que representa la cavidad, abra la Reja que Espacia la caja del diálogo de las Opciones y entre en el x-eje los tictaces extras a las -0.05 y 0.05. Entonces enciende la reja y el rasgo de la "chasquido-a-reja." Una cavidad rectangular con las dimensiones correctas es entonces fácil dibujar.

'Ecuaciones diferenciales parabólicas'

Los CSG planean del bloque de metal se expresa ahora simplemente como la fórmula fija R1-R2.

Salga el Dibuje el modo y entre en el modo del Límite pulsando el botón el botón, y continúa seleccionando los límites y especificando las condiciones del límite. Usando el Selecto Toda la opción del Revise el menú y definiendo la condición de Neumann entonces

'Ecuaciones diferenciales parabólicas'
(5)

Para todos los límites primero es una idea buena desde que eso deja sólo los leftmost y límites del rightmost para definir individualmente.

El próximo paso es abrir la PDE Especificación diálogo caja y entrar en los coeficientes de PDE.

El PDE parabólico genérico que la Caja de herramientas de PDE resuelve es:

'Ecuaciones diferenciales parabólicas'
(6)

Con el valor inicial u0 = u(t0) y las veces a que computar una solución especificaron en el tlist de la serie.

Para éste caso, se tiene d = 1, c = 1, a = 0, y f = 0.

Inicialice la malla pulsando el botón el botón. Si usted quiere, usted puede refinar la malla haciendo clic el botón Refine.

El valor inicial u0 = 0, y en la lista de tiempos se entra como la forma MATLAB [0:0.5:5]. Ellos se registran en el cuadro de dialogo de Resolución de Parametros, al cual se accede seleccionando Parameters . . . en el menú Solve.

El problema puede resolverse ahora. Presionando el botón = resuelve la ecuación de calor en 11 momentos diferentes de 0 a 5 segundos. Por defecto, una parcela interpolada de la solución, es decir, la distribución de calor, al final del palmo de tiempo se despliega.

Una manera más interesante de visualizar la dinámica del proceso de distribución de calor es animar la solución. Para empezar una animación, verifique la caja de Animation en el cuadro de dialogo Plot selection. También, seleccione el colormap hot. Pulse el botón Plot para iniciar la grabación de la solución, en una ventana por separado. La animación grabada se toca cinco veces entonces.

Obsérvese que la temperatura en el bloque sube muy rápidamente. Mejorar la animación y enfocar en el primer segundo, intente cambiar la lista de tiempos a la expresión de MATLAB logspace(-2,0.5,20).

También, intente cambiar el coeficiente de capacidad de calor d y el calor fluyen al límite del rightmost, para ver cómo ellos afectan la distribución de calor.

'Ecuaciones diferenciales parabólicas'

Usando Funciones del Comando-línea

Primero, se debe crear geometría y condición de límite M-files (archivos MATLAB). Los M-files fueron creados unando el pdetool. La geometría del bloque de metal se describe en crackg.m, las condiciones de límite pueden encontrase en crackb.m.

Para crear un mesh inicial, ingrésese initmesh:

» [p,e,t]=initmesh('crackg');

La ecuación de calor ahora puede ser resuelta usando la función de herramientas PDE parabolic. EL PDE parabólico genérico que resuelve a parabolic es:

'Ecuaciones diferenciales parabólicas'
(7)

Con el valor inicial u0 = u(t0) y las veces en que se computan una solución se especifican en el tlist de la serie. Para éste caso, usted tiene d = 1, c = 1, a = 0, y f = 0. El valor inicial u0 = 0, y la lista de tiempo, el tlist, se pone el MATLAB 0:0.5:5.

Para computer la solución, indique parabolic:

u=parabolic(0,0:0.5:5,'crackb',p,e,t,1,0,0,1);

La solución u creó de ésta manera una matriz con 11 columnas, donde cada columna corresponde a tiempo a la solución a los 11 puntos en tiempo 0,0.5, . . . ,4.5,5.0.

Permítanos trazar la solución a t= 5.0 segundos que usan sombreado interpolado y una malla oculta. Use el hot colormap:

pdeplot(p,e,t,'xydata',u(:,11),'mesh','off',...

'colormap','hot')

Proceso de MATLAB

% We solve the standard heat equation with a source term

% du/dt-div(grad(u))=1

% on a square with a discontinuous initial condition.

pause % Strike any key to continue.

% Problem definition

g='squareg'; % The unit square

b='squareb1'; % 0 on the boundary

c=1;

a=0;

f=1;

d=1;

% Mesh

[p,e,t]=initmesh(g);

% Initial condition: 1 inside the circle with radius 0.4.

% 0 otherwise.

u0=zeros(size(p,2),1);

ix=find(sqrt(p(1,:).^2+p(2,:).^2)<0.4);

u0(ix)=ones(size(ix));

pause % Strike any key to continue.

% We want the solution at 20 points in time between 0 and 0.1.

nframes=20;

tlist=linspace(0,0.1,nframes);

% Solve parabolic problem

u1=parabolic(u0,tlist,b,p,e,t,c,a,f,d);

Time: 0.00526316

Time: 0.0105263

Time: 0.0157895

Time: 0.0210526

Time: 0.0263158

Time: 0.0315789

Time: 0.0368421

Time: 0.0421053

Time: 0.0473684

Time: 0.0526316

Time: 0.0578947

Time: 0.0631579

Time: 0.0684211

Time: 0.0736842

Time: 0.0789474

Time: 0.0842105

Time: 0.0894737

Time: 0.0947368

Time: 0.1

75 successful steps

1 failed attempts

154 function evaluations

1 partial derivatives

17 LU decompositions

153 solutions of linear systems

pause % Strike any key to continue.

% To speed up the plotting, we interpolate to a rectangular grid.

x=linspace(-1,1,31);y=x;

[unused,tn,a2,a3]=tri2grid(p,t,u0,x,y);

% Make the animation

newplot;

Mv = moviein(nframes);

umax=max(max(u1));

umin=min(min(u1));

for j=1:nframes,...

u=tri2grid(p,t,u1(:,j),tn,a2,a3);i=find(isnan(u));u(i)=zeros(size(i));...

surf(x,y,u);caxis([umin umax]);colormap(cool),...

axis([-1 1 -1 1 0 1]);...

Mv(:,j) = getframe;...

u=tri2grid(p,t,u1(:,j),tn,a2,a3);i=find(isnan(u));u(i)=zeros(size(i));...

surf(x,y,u);caxis([umin umax]);colormap(cool),...

axis([-1 1 -1 1 0 1]);...

Mv(:,j) = getframe;...

u=tri2grid(p,t,u1(:,j),tn,a2,a3);i=find(isnan(u));u(i)=zeros(size(i));...

surf(x,y,u);caxis([umin umax]);colormap(cool),...

axis([-1 1 -1 1 0 1]);...

Mv(:,j) = getframe;...

u=tri2grid(p,t,u1(:,j),tn,a2,a3);i=find(isnan(u));u(i)=zeros(size(i));...

surf(x,y,u);caxis([umin umax]);colormap(cool),...

axis([-1 1 -1 1 0 1]);...

Mv(:,j) = getframe;...

u=tri2grid(p,t,u1(:,j),tn,a2,a3);i=find(isnan(u));u(i)=zeros(size(i));...

surf(x,y,u);caxis([umin umax]);colormap(cool),...

axis([-1 1 -1 1 0 1]);...

Mv(:,j) = getframe;...

u=tri2grid(p,t,u1(:,j),tn,a2,a3);i=find(isnan(u));u(i)=zeros(size(i));...

surf(x,y,u);caxis([umin umax]);colormap(cool),...

axis([-1 1 -1 1 0 1]);...

Mv(:,j) = getframe;...

u=tri2grid(p,t,u1(:,j),tn,a2,a3);i=find(isnan(u));u(i)=zeros(size(i));...

surf(x,y,u);caxis([umin umax]);colormap(cool),...

axis([-1 1 -1 1 0 1]);...

Mv(:,j) = getframe;...

u=tri2grid(p,t,u1(:,j),tn,a2,a3);i=find(isnan(u));u(i)=zeros(size(i));...

surf(x,y,u);caxis([umin umax]);colormap(cool),...

axis([-1 1 -1 1 0 1]);...

Mv(:,j) = getframe;...

u=tri2grid(p,t,u1(:,j),tn,a2,a3);i=find(isnan(u));u(i)=zeros(size(i));...

surf(x,y,u);caxis([umin umax]);colormap(cool),...

axis([-1 1 -1 1 0 1]);...

Mv(:,j) = getframe;...

u=tri2grid(p,t,u1(:,j),tn,a2,a3);i=find(isnan(u));u(i)=zeros(size(i));...

surf(x,y,u);caxis([umin umax]);colormap(cool),...

axis([-1 1 -1 1 0 1]);...

Mv(:,j) = getframe;...

u=tri2grid(p,t,u1(:,j),tn,a2,a3);i=find(isnan(u));u(i)=zeros(size(i));...

surf(x,y,u);caxis([umin umax]);colormap(cool),...

axis([-1 1 -1 1 0 1]);...

Mv(:,j) = getframe;...

u=tri2grid(p,t,u1(:,j),tn,a2,a3);i=find(isnan(u));u(i)=zeros(size(i));...

surf(x,y,u);caxis([umin umax]);colormap(cool),...

axis([-1 1 -1 1 0 1]);...

Mv(:,j) = getframe;...

u=tri2grid(p,t,u1(:,j),tn,a2,a3);i=find(isnan(u));u(i)=zeros(size(i));...

surf(x,y,u);caxis([umin umax]);colormap(cool),...

axis([-1 1 -1 1 0 1]);...

Mv(:,j) = getframe;...

u=tri2grid(p,t,u1(:,j),tn,a2,a3);i=find(isnan(u));u(i)=zeros(size(i));...

surf(x,y,u);caxis([umin umax]);colormap(cool),...

axis([-1 1 -1 1 0 1]);...

Mv(:,j) = getframe;...

u=tri2grid(p,t,u1(:,j),tn,a2,a3);i=find(isnan(u));u(i)=zeros(size(i));...

surf(x,y,u);caxis([umin umax]);colormap(cool),...

axis([-1 1 -1 1 0 1]);...

Mv(:,j) = getframe;...

u=tri2grid(p,t,u1(:,j),tn,a2,a3);i=find(isnan(u));u(i)=zeros(size(i));...

surf(x,y,u);caxis([umin umax]);colormap(cool),...

axis([-1 1 -1 1 0 1]);...

Mv(:,j) = getframe;...

u=tri2grid(p,t,u1(:,j),tn,a2,a3);i=find(isnan(u));u(i)=zeros(size(i));...

surf(x,y,u);caxis([umin umax]);colormap(cool),...

axis([-1 1 -1 1 0 1]);...

Mv(:,j) = getframe;...

u=tri2grid(p,t,u1(:,j),tn,a2,a3);i=find(isnan(u));u(i)=zeros(size(i));...

surf(x,y,u);caxis([umin umax]);colormap(cool),...

axis([-1 1 -1 1 0 1]);...

Mv(:,j) = getframe;...

u=tri2grid(p,t,u1(:,j),tn,a2,a3);i=find(isnan(u));u(i)=zeros(size(i));...

surf(x,y,u);caxis([umin umax]);colormap(cool),...

axis([-1 1 -1 1 0 1]);...

Mv(:,j) = getframe;...

u=tri2grid(p,t,u1(:,j),tn,a2,a3);i=find(isnan(u));u(i)=zeros(size(i));...

surf(x,y,u);caxis([umin umax]);colormap(cool),...

axis([-1 1 -1 1 0 1]);...

Mv(:,j) = getframe;...

end

% Show movie

movie(Mv,10)

pause % Strike any key to end.

echo off

'Ecuaciones diferenciales parabólicas'

Conclusiones

El objetivo fue el estudio de algunos problemas matemáticos asociados a sistemas de ecuaciones diferenciales en derivadas parciales parabólicas:

  • Las ecuaciones derivadas parciales tienen un sin fin de usos en el diseño y la ingeniería

  • El Toolbox numérico nos permite trabajar de mejor manera las ecuaciones derivadas parciales facilitando el trabajo y brindándonos mayores alternativas

  • La resolución de estos problemas es vital el estudios de los métodos de diferencias finitas

  • Mediante las graficas de resultados podemos comprar múltiples datos obtenidos de manera mas confiable


.

7




Descargar
Enviado por:Juan Ernesto La Riva Amaya
Idioma: castellano
País: Venezuela

Te va a interesar