Está en la página 1de 85

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS

(Universidad del Perú, DECANA DE AMÉRICA)

FACULTAD DE QUÍMICA E INGENIERÍA QUÍMICA


ESCUELA PROFESIONAL DE INGENIERÍA QUÍMICA (07.2)
DEPARTAMENTO ACADÉMICO ANÁLISIS Y DISEÑO DE PROCESOS

MÉTODOS NUMÉRICOS

Ecuaciones Diferenciales Parciales

Ing. CIP Jorge Luis Cárdenas Ruiz


Conexión entre los diferentes tipos de métodos
numéricos y los diferentes tipos de problemas que se
pueden resolver en una computadora.

Sistema de EDPs

Estable

Estable
Sistema de EDOs Sistema de EDPs
no lineales

Sistema de ecuaciones Sistema de ecuaciones


algebraicas no lineales algebraicas lineales
Las Ecuaciones Diferenciales Parciales (EDP)
de estado no estacionario se reducen a
sistemas de Ecuaciones Diferenciales
Ordinarias (EDO), indicados por las flechas
negras, que luego deben reducirse a sistemas
de ecuaciones algebraicas. Las EDP de estado
estacionario se reducen directamente a
ecuaciones algebraicas. En cualquier caso, si
las ecuaciones algebraicas resultantes no son
lineales, el problema debe convertirse para
resolver (repetidamente) sistemas de
ecuaciones algebraicas lineales.
Ecuaciones Diferenciales Parciales (EDP)
Los problemas estudiados por la ingeniería
involucran el estudio de magnitudes que
evolucionan no solamente en el tiempo, sino
también en las variables espaciales (x, y, z). Por
esta razón, la formación del ingeniero también
debe cubrir el modelado de sistemas mediante
EDP. No obstante, en muy pocas ocasiones
puede obtenerse una solución analítica a estos
problemas, por lo que los métodos numéricos
resultan ser la solución alternativa o única.
Debido a su amplia aplicación en ingeniería, nuestro
estudio de las EDP se concentrará en las ecuaciones
diferenciales lineales de segundo orden. Para dos
variables independientes, tales ecuaciones se pueden
expresar de la forma general siguiente:
Forma general de las EDPs

A(x, y), B(x, y) y C (x, y) = funciones continuas de x y y

Dependiendo de los valores de A(x, y), B(x, y) y C (x, y) en


algún punto particular (x, y) = (a, b) la ecuación puede ser

B2 (a, b) – 4 A(a, b) C (a, b) < 0 Elíptica en (a, b)

B2 (a, b) – 4 A(a, b) C (a, b) = 0 Parabólica en (a, b)

B2 (a, b) – 4 A(a, b) C (a, b) > 0 Hiperbólica en (a, b)


Esta clasificación, que se basa en el
método de las características, es útil
debido a que cada categoría se relaciona
con problemas de ingeniería específicos y
distintos, que demandan técnicas de
solución especiales. En los casos donde A,
B y C dependen de x y y, la ecuación
puede encontrarse en una categoría
diferente, dependiendo de la ubicación en
el dominio donde la ecuación se satisface.
EDPs de segundo orden importantes
Ecuación de onda unidimensional

Ecuación de calor unidimensional

Ecuación de Laplace bidimensional

Ecuación de Poisson bidimensional

Ecuación de onda bidimensional

Ecuación de Laplace tridimensional


Categorías en las que se clasifican
las EDPs lineales de segundo orden
Problema de
distribución en
estado
estacionario
que puede
caracterizarse
por una EDP
elíptica.
Distribución
de temperatura
sobre una
placa caliente.
a) Barra larga y delgada que está aislada, excepto en
sus extremos. La dinámica de la distribución
unidimensional de temperatura a lo largo de la barra
puede describirse mediante una EDP parabólica.
b) la solución, que consiste en distribuciones
correspondientes al estado de la barra en
diferentes momentos.
Una cuerda tensa que vibra a baja
amplitud es un sistema físico simple
que puede caracterizarse por una
EDP hiperbólica.
Ecuación de Laplace

(1.1)

Aplicable al estado estable, estacionario o de equilibrio.

Ecuación de Poisson

(1.2)

f(x, y) = función que describe las fuentes o pérdidas de calor.


Ecuación laplaciana en diferencias
Aproximando las segundas derivadas por diferencias
finitas divididas centrales de segundo orden tenemos:
Reemplazando en la ecuación de Laplace, con x2 = y2 = h2:

(1.8)

Ecuación laplaciana en diferencias.


Una placa caliente donde las temperaturas en la frontera se mantienen a
niveles constantes. Este caso se denomina condición de frontera de Dirichlet.
El caso más simple es aquel donde la temperatura en la
frontera es un valor fijo. Ésta se conoce como
condición de frontera de Dirichlet. Tal es el caso de la
fig. 1.4, donde los extremos se mantienen a
temperaturas constantes. En el caso ilustrado en la fig.
1.4, un balance en el nodo (1, 1) es, de acuerdo con la
ec. (1.8)

T21 + T01 + T12 + T10 – 4T11 = 0 (1.9)

Sin embargo, T01 = 75 y T10 = 0, y, , la ec. (1.9) se


expresa como

–4T11 + T12 + T21 = –75


Ecuaciones similares se pueden desarrollar para los
otros punto interiores. El resultado es el siguiente
conjunto de nueve ecuaciones simultáneas con nueve
incógnitas:
El método de Liebmann
Para mallas grandes se encuentra que un número
significativo de los términos será igual a cero. Cuando
se aplican los métodos de eliminación con toda la
matriz a estos sistemas dispersos, se ocupa una gran
cantidad de memoria de la computadora, almacenando
ceros. Los métodos aproximados representan un mejor
procedimiento para obtener soluciones de EDP
elípticas. El método comúnmente empleado es el de
Gauss-Seidel, el cual, cuando se aplica a las EDPs,
también se conoce como el método de Liebmann. Con
esta técnica, la ec. (1.8) se expresa como
y se resuelve de manera iterativa para j = 1, 2,…, n e
i = 1, 2,…, m. Como la ec. (1.8) es diagonalmente
dominante, este procedimiento al final convergerá a
una solución estable.
Como en el método de Gauss-Seidel, las iteraciones
se repiten hasta que: |(a)i,j | < s. Dichos |(a)i,j | se
estiman mediante
Temperatura de una placa caliente con
condiciones de frontera fijas
Con el método de Liebmann
(Gauss-Seidel) calcule la
temperatura de la placa caliente de
la fig. 4. Emplee la
sobrerrelajación con un valor de
1,5 para el factor de ponderación, e
itere hasta s = 1%.
Solución
En la iteración k = 0: T11= T12 = T13 = T21 = T22 = T23 = T31 = T32 = T33 = 0
La ec. (11) en i = 1, j = 1 es
T11=(0 + 75 + 0 +0)/4 = = 18,75

y aplicando sobrerrelajación se obtiene


T11 = 1,5(18,75) + (1 – 1,5)0 = 28,125

Para i = 2, j = 1,
T21= (0 +28,125 + 0 + 0)/4 = 7,031 25
T21 = 1,5(7,031 25) + (1 – 1,5)0 = 10,546 88

Para i = 3, j = 1,
T31=(50 + 10,546 88 + 0 + 0)/4 = 15,136 72
T31 = 1,5(15,136 72) + (1 – 1.5)0 = 22,705 08

El cálculo se repite con las otras filas:


T12 = 38,671 88 T22 = 18,457 03 T32 = 34,185 79
T13 = 80,126 96 T23 = 74,469 00 T33 = 96,995 54
Como todos los Ti,j son inicialmente cero, entonces
todos los a para la primera iteración serán 100%.

En la segunda iteración (k = 1), los resultados son:

T11 = 32,519 53 T21 = 22,357 18 T31 = 28,601 08


T12 = 57,952 88 T22 = 61,633 33 T32 = 71,868 33
T13 = 75,219 73 T23 = 87,958 72 T33 = 67,687 36

El error para T1,1 se estima como sigue [ec. (1.13)]

|(a)1,1| =|(32,519 53 – 28,125 00)/32,519 53|x100%


= 13,5%
Debido a que este valor está por arriba del criterio
de terminación de 1%, se continúa el cálculo. La
novena iteración da como resultado

T11 = 43,000 61 T21 = 33,297 55 T31 = 33,885 06


T12 = 63,211 52 T22 = 56,112 38 T32 = 52,339 99
T13 = 78,587 18 T23 = 76,064 02 T33 = 69,710 50

donde el error máximo es 0,71%.


En la fig. 1.5 se muestran los resultados. Como se
esperaba, se ha establecido un gradiente al fluir el
calor de altas a bajas temperaturas.
Fig. 1.4. Distribución de temperatura en una placa
caliente, sujeta a condiciones de frontera fijas.
Malla usada para la solución por diferencias finitas de las
EDP elípticas en dos variables independientes, como la
ecuación de Laplace.
Para la ecuación de Poisson:

Ti+1,j + Ti-1,j + Ti,j+1 + Ti,j-1 – 4Ti,j = h2f(ih, jh)


(a) Problema dado (b) Puntos de cuadrícula y malla
Resolviendo:
u11=75,00°C
u21=43,75°C
u12=56,25°C
u22=50,00°C
(a) Región R y valores en la frontera.
(b) Cuadrícula (h = 0.5)
Ecuación de conducción de calor
Una malla utilizada para la solución por diferencias finitas
de las EDP parabólicas con dos variables independientes,
p.e., ecuación de conducción de calor.
Métodos explícitos
La ecuación de conducción del calor requiere
aproximaciones de la segunda derivada en el espacio,
y de la primera derivada en el tiempo. La segunda
derivada se representa, de la misma manera que la
ecuación de Laplace, mediante una diferencia
dividida finita centrada:

que tiene un error (recuerde la fig. 2.3) de O[(x)2].


El ligero cambio en la notación de los
superíndices se utiliza para denotar
tiempo. Esto se hace para que un segundo
subíndice pueda usarse para designar una
segunda dimensión espacial cuando el
método se extiende a dos dimensiones
espaciales.
Una diferencia finita dividida hacia
adelante sirve para aproximar a la
derivada con respecto al tiempo
la cual tiene un error (recuerde la fig.1) de O(t).
Sustituyendo las ecs. (2.2) y (2.3) en la ec. (2.1), se
obtiene

de donde resulta

donde  = k t/(x)2.
Esta ecuación se puede escribir para todos los nodos
interiores de la barra. Dicha ecuación proporciona un
medio explícito para calcular los valores en cada nodo para
un tiempo posterior, basándose en los valores presentes del
nodo y de sus vecinos.

Este método es una manifestación del método de Euler


para resolver sistemas de EDO, i.e, si se conoce la
distribución de temperatura como una función de la
posición en un tiempo inicial, es posible calcular la
distribución en un tiempo futuro, basada en la ec. (2.5).
Una molécula computacional para el método explícito se
representa en la fig. 2.3; ahí se muestran los nodos que
constituyen las aproximaciones espacial y temporal.
Problema
Con el método explícito calcule la distribución de
temperatura en una barra larga y delgada que tiene
una longitud de 10 cm y los siguientes valores: k´=
0,49 cal/(s.cm.°C), x = 2 cm y t = 0,1 s. En t =
0, la temperatura de la barra es cero, y las
condiciones de frontera se fijan para todos los
tiempos en T(0) = 100°C y T(10) = 50°C.
Considere que la barra es de aluminio con C =
0,217 4 cal/(g.°C) y r = 2,7 g/cm3. Por lo tanto, k’
= 0,49/(2,7x0,217 4) = 0,835 cm2/s y  =
0,835(0,1)/(22) = 0,020 875.
Solución. Aplicando la ec. (5) se obtiene el siguiente valor en
t = 0,1 s para el nodo en x = 2 cm:
T 11 = 0 + 0,020 875[0 – 2(0) + 100] = 2,087 5
En los otros puntos interiores, x = 4, 6 y 8 cm, los resultados
son
T 12 = 0 + 0,020 875[0 – 2(0) + 0] = 0
T 13 = 0 + 0,020 875[0 – 2(0) + 0] = 0
T 14 = 0 + 0,020 875[50 – 2(0) + 0] = 1,043 8

En t = 0,2 s, los valores obtenidos para los cuatro nodos


interiores son
T 21 = 2,087 5 + 0,020 875[0 – 2(2,087 5) + 100] = 4,087 8
T 22 = 0 + 0,020 875[0 – 2(0) + 2.0875] = 0,043 577
T 23 = 0 + 0,020 875[1.0438 – 2(0) + 0] = 0,021 788
T 24 = 1,043 8 + 0,020 875[50 – 2(1,043 8) + 0] = 2,043 9
El cálculo continúa y los resultados en intervalos de 3 s se
ilustran en la fig. 2.4. El aumento general de la temperatura
con el tiempo indica que el cálculo capta la difusión del
calor desde las fronteras del interior de la barra.
Fig. 2.4. Distribución
de temperatura en
una barra larga y
delgada, calculada
con el método
explícito
Convergencia y estabilidad
Convergencia: conforme x y t tiendan a cero, los
resultados de la técnica por diferencias finitas se
aproximarán a la solución verdadera.
Estabilidad: los errores en cualquier etapa del cálculo no
se amplifican, sino que se atenúan conforme avanza el
cálculo. El método explícito es convergente y estable si
 ≤ ½, o
t ≤ x2/(2k)
Si  < ½, el resultado es una solución donde los errores
oscilan.
Si  < ¼, asegura que la solución no oscilará.
Si  = ⅙, se tiende a minimizar los errores por
truncación.
Método implícito
Los métodos implícitos superan las dificultades de
estabilidad y la exclusión de la información de importancia
para la solución por parte de los métodos explícitos, a
expensas de utilizar algoritmos un poco más complicados.
En la forma explícita, aproximamos la derivada espacial
para un nivel de tiempo l (fig.2.7a). Cuando se sustituye
esta aproximación en la ecuación diferencial parcial,
obtuvimos una ecuación en diferencias (2.4) con una sola
incógnita T i l + 1 . Así, podemos despejar “explícitamente”
esta incógnita como en la ec. (2.5).
En los métodos implícitos, la derivada espacial se
aproxima en un nivel de tiempo posterior l + 1; p.e., la
segunda derivada se aproximará mediante (fig. 2.7b)
Fig. 2.7. Moléculas computacionales que
demuestran las diferencias fundamentales
entre los métodos a) explícito y b) implícito.
que tiene una exactitud de segundo orden.
Cuando esta relación se sustituye en la EDP
original, la ecuación en diferencias resultante
contiene varias incógnitas. Así, no puede
resolverse explícitamente mediante simples
manipulaciones algebraicas. El método se reduce
a la solución de un sistema de ecuaciones
simultáneas en cada punto en el tiempo.
Sustituyendo las ec. (2.3) y (2.7) en la ec. (2.1),
para obtener
que se expresa como

donde  = kt/(x)2. Esta ecuación se aplica a todos los nodos,


excepto al primero y al último de los nodos interiores, los
cuales deben modificarse para considerar las condiciones de
frontera. En el caso donde están dados los niveles de
temperatura en los extremos de la barra, la condición de
frontera en el extremo izquierdo de la barra (i = 0) se expresa
como
T 0l + 1 = f0(tl + 1) (2.9)
donde f0(tl + 1) = función que describe cómo cambia con el
tiempo la temperatura de la frontera.
Sustituyendo la ec. (2.9) en la ec. (2.8), se obtiene la
ecuación en diferencias para el primer nodo interior (i =
1):
(1 + 2 )T 1 l + 1 – T 2 l + 1 = T 1 l + l +  f0(tl + 1) (2.10)
De manera similar, para el último nodo interior (i = m),
–Tm-1 l + 1 + (1 + 2 )T ml + 1 = T ml +  fm + 1(tl + 1) (2.11)
donde fm + 1(tl + 1) describe los cambios específicos de
temperatura en el extremo derecho de la barra (i=m+1).
Cuando se escriben las ecs. (2.8), (2.10) y (2.11) para
todos los nodos interiores, el conjunto resultante de m
ecuaciones algebraicas lineales tiene m incógnitas, que
es un sistema es tridiagonal. Es posible utilizar los
algoritmos de solución extremadamente eficientes
disponibles.
Fig. 2.6. Representación del efecto de los otros nodos sobre la aproximación por
diferencias finitas en el nodo (i, l) usando un esquema explícito por diferencias
finitas. Los nodos marcados tienen una influencia sobre (i, l); en tanto que los
nodos no marcados, que en realidad afectan a (i, l), se han excluido.
Fig. 2.8. Molécula computacional para la forma explícita
Fig.2.8. Molécula computacional para el método implícito simple.
Solución implícita simple de la ecuación de conducción del calor
Con la aproximación por diferencias finitas implícita
simple resuelva el problema del ejemplo 2.1.

Solución. Para la barra del ejemplo 1, l = 0,020 875.


Por lo tanto, en t = 0, la ec. (2.10)
para el primer nodo interior se escribe como
1,041 75T 11 – 0,020 875T 12 = 0 + 0,020 875(100)
o
1,041 75T 11 – 0,020 875T 12 = 2,087 5
De manera similar, las ecs. (2.8) y (2.11) pueden
aplicarse a los otros nodos interiores. Esto nos
conduce al siguiente sistema de ecuaciones
simultáneas:
que se resuelve para la temperatura en t = 0,1 s:
T 11 = 2,004 7
T 12 = 0,040 6
T 13 = 0,020 9
T 14 = 1,002 3
Observe cómo, a diferencia del ejemplo 1, todos los
puntos se han modificado de la condición inicial
durante el primer paso de tiempo.
Al resolverlas para temperaturas en t = 0,2, el vector
del lado derecho debe modificarse considerando los
resultados del primer paso, así

Entonces, de las ecuaciones simultáneas se obtienen


las temperaturas en t = 0,2 s:
T 21 = 3,930 5
T 22 = 0,119 0
T 23 = 0,061 8
T 24 = 1,965 3
El método de Crank-Nicolson
Este método ofrece un esquema
implícito alternativo que tiene una
exactitud de segundo orden, tanto para
el espacio como para el tiempo. Para
alcanzar tal exactitud, se desarrollan
aproximaciones por diferencias en el
punto medio del incremento del
tiempo (fig. 2.9).
Fig. 2.9. Molécula computacional para el método de Crank- Nicholson
Entonces, la primera derivada temporal se aproxima
en t por.
l + 1/2

(2.12)

La segunda derivada en el espacio puede


determinarse en el punto medio promediando las
aproximaciones por diferencias al principio (tl) y al
final (tl + 1) del incremento del tiempo

(2.13)
Sustituyendo las ecs. (2.12) y (2.13) en la
ec. (2.1) y reagrupando términos, se obtiene

donde  = kt/(x)2. Como en el caso del


método implícito simple, se determinan las
condiciones de frontera T0l + 1 = f0(tl + 1) y
Tm + 1l + 1 = fm + 1(tl + 1) para obtener versiones de la
ec. (2.14) para los nodos interiores primero y
último. Para el primer nodo interior
y, para el último nodo interior,

Las ecs. (2.14) a (2.16) son ecuaciones que


generan sistemas de ecuaciones lineales
tridiagonales y, , se resuelve de manera
eficiente.
Solución de Crank-Nicolson para la
ecuación de conducción del calor
Con el método de Crank-Nicolson resuelva el
mismo problema que en los ejemplos 2.1 y 2.2.

Solución. Las ecs. (2.14) a (2.16) se utilizan para


generar el siguiente sistema de ecuaciones
tridiagonal:
de donde se obtienen las temperaturas en t = 0.1 s:
T11 = 2,0450
T12 = 0,0210
T13 = 0,0107
T14 = 1,0225
Para obtener las temperaturas en t = 0.2 s, el vector del lado derecho
debe modificarse

De las ecuaciones simultáneas se obtiene


T21 = 4,007 3
T22 = 0,082 6
T23 = 0,042 2
T24 = 2,003 6
Método de
diferencias
finitas divididas
regresivas o
hacia atrás
Método de
diferencias
finitas divididas
progresivas o
hacia adelante
Ecuación de onda en una dimensión
Considérese una cuerda (como la de una
guitarra) elástica y flexible, la cual se estira y
se sujeta en dos puntos fijos, en x = 0 y x = L,
sobre el eje de las x. A un tiempo t = 0, la
cuerda se toma del centro y se eleva
verticalmente a una altura y = h. Después se
suelta. La descripción del movimiento
producido constituye el problema por
resolver. Para simplificarlo, se considera que
h es pequeño en comparación con L (h << L).
Cuerda elástica.
T = Tensión, constante, en
unidades de fuerza. Caso general:
T = T(x,y)
r = densidad de la cuerda, en
unidades de masa/longitud.
Puesto que la cuerda permanece
sujeta en sus extremos x = 0 y x =
L, el desplazamiento y(x, t)
satisface las condiciones
extremas o condiciones de
frontera (CF) en todo el proceso,
para t  0:
y (0, t) = 0
y (L, t) = 0
Por otro lado, la posición de la cuerda en el momento
de soltarse puede representarse matemáticamente así:
y (x, 0) = f (x)
ecuación que se conoce como condición inicial (CI),
por describir la condición que se tiene al inicio del
proceso.
En resumen, el modelo matemático denotado como
problema de valores en la frontera (PVF).
Aplicando diferencias finitas divididas hacia adelante

Donde: yn–1,0 = f (xn–1) y yn,1 = 0


Agrupando las ecuaciones anteriores y recurriendo
a la notación matricial se tiene
El vector [y1,0, y2,0 … yn–2,0 yn–1,0]T

está dado por la condición inicial


CI1, de modo que para obtener el
lado izquierdo de la ecuación se
requiere una aproximación del
vector [y1,1, y2,1 … yn–2,1, yn–1,1] T

que se puede obtener de la


condición inicial CI2:
y/t|(x,0) = g (x).
Un método consiste en sustituir a y/t
por una aproximación en diferencias
hacia adelante en el nodo
y/ t |(i,0) = (yi,1 – yi,0)/b
para i = 1, 2,… , n-1.
Despejando yi,1 y sustituyendo y/ t |(i,0)
por g(xi) se llega a la aproximación
buscada
yi,1  yi,0 + bg(xi)
para i = 1, 2,… , n-1
Una vez que se tiene esta aproximación,
se puede obtener el lado izquierdo de la
ecuación, operando matricialmente en el
lado derecho; los resultados
proporcionan el desplazamiento en
ciertos puntos de la cuerda al tiempo t2.
Para obtener el desplazamiento de los
puntos mencionados al tiempo t3
simplemente tendría que operarse
matricialmente en el lado derecho de la
ecuación.
y así sucesivamente, hasta obtener los
desplazamientos en tiempo tmax. De la misma forma
que se vio en el método explicito, hay condiciones
de convergencia que se pueden establecer
mediante el parámetro . Para el caso que nos
ocupa, conviene observar que se cumpla 0 <  << 1.
Problema

Nótese que para simplificar se ha adimensionado,


con lo que c2 = 1 y L = 1. Considere tmax = 1.
Solución
Se divide la longitud de la cuerda en 10
subintervalos, esto es a = 0,1 y el
tiempo máximo en 100 subintervalos,
con lo que b = 0,01 y  = bc/a =
0,01x1/0,1 = 0,1.
La posicion inicial de la cuerda yi,0, i = 1,
2,… , 9, dada por CI1, es:
x 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9

sen(x) 0,309 017 0,587 785 0,809 017 0,951 057 1,000 000 0,951 057 0,809 017 0,587 785 0,309 017
y la velocidad inicial y/t = g(xi), i = l, 2,… ,
9, que se le imprime a la cuerda dada por
CI2 en tales puntos, es
x 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
2sen(2x) 3.693164 5.975664 5.975664 3.693164 0 -3.693164 -5.975664 -5.975664 -3.693164

En la gráfica de la figura adjunta se


representa la CI1 por la curva y la CI2 por
las flechas, cuya longitud es proporcional a
la magnitud de la velocidad.
Representación gráfica de las condiciones iniciales del problema.
Al aproximar el vector [y1,1, y2,1 … yn–2,1 yn–1,1]T con la
ecuación resulta:
Posición de la cuerda a t = 0.00, t = 0.01, t = 0. 02 y t = 0.03.
El calculo para el tiempo t = 0,03 se obtiene de realizar las
operaciones que se indican en seguida:

cuyo resultado es
[0,418 342 0,764 418 0,985 001 1,058 494 0,997 064 0,838 033 0,628 283 0,407 704 0,197 878]T

Su grafica se muestra en la figura. Este procedimiento se repite para


obtener la posición de la cuerda a tiempo t = 0.03, 0.04, …, tmax.
Algunos resultados del ejemplo
Gráfica de las posiciones de la cuerda a diferentes tiempos.
¡Muchas gracias!
jcardenasr@unmsm.edu.pe

También podría gustarte